summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authormsaitoh <msaitoh@NetBSD.org>2021-09-03 08:57:58 +0000
committermsaitoh <msaitoh@NetBSD.org>2021-09-03 08:57:58 +0000
commitd32b79e6478e7c4352fba7a055da3cfc42237d18 (patch)
treecc995f72edce5f048906d0e7a81af2da7bf0dc81 /sys/dev
parent0808c845f2296f234edd5a45a12bc2e679b37f3c (diff)
Save the discard_multidesc state to not to forget the state by exiting rxeof().
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/ixgbe/ix_txrx.c10
-rw-r--r--sys/dev/pci/ixgbe/ixgbe.h3
2 files changed, 9 insertions, 4 deletions
diff --git a/sys/dev/pci/ixgbe/ix_txrx.c b/sys/dev/pci/ixgbe/ix_txrx.c
index a989092a2a4..9da651a3479 100644
--- a/sys/dev/pci/ixgbe/ix_txrx.c
+++ b/sys/dev/pci/ixgbe/ix_txrx.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ix_txrx.c,v 1.89 2021/09/03 08:43:23 msaitoh Exp $ */
+/* $NetBSD: ix_txrx.c,v 1.90 2021/09/03 08:57:58 msaitoh Exp $ */
/******************************************************************************
@@ -64,7 +64,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.89 2021/09/03 08:43:23 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ix_txrx.c,v 1.90 2021/09/03 08:57:58 msaitoh Exp $");
#include "opt_inet.h"
#include "opt_inet6.h"
@@ -1568,6 +1568,7 @@ ixgbe_setup_receive_ring(struct rx_ring *rxr)
rxr->next_to_check = 0;
rxr->next_to_refresh = adapter->num_rx_desc - 1; /* Fully allocated */
rxr->lro_enabled = FALSE;
+ rxr->discard_multidesc = false;
rxr->rx_copies.ev_count = 0;
#if 0 /* NetBSD */
rxr->rx_bytes.ev_count = 0;
@@ -1805,7 +1806,7 @@ ixgbe_rxeof(struct ix_queue *que)
u32 staterr = 0;
u32 loopcount = 0;
u32 limit = adapter->rx_process_limit;
- bool discard_multidesc = false;
+ bool discard_multidesc = rxr->discard_multidesc;
#ifdef RSS
u16 pkt_info;
#endif
@@ -2114,6 +2115,9 @@ next_desc:
}
}
+ /* Save the current status */
+ rxr->discard_multidesc = discard_multidesc;
+
/* Refresh any remaining buf structs */
if (ixgbe_rx_unrefreshed(rxr))
ixgbe_refresh_mbufs(rxr, i);
diff --git a/sys/dev/pci/ixgbe/ixgbe.h b/sys/dev/pci/ixgbe/ixgbe.h
index 85a4d524b03..6ba810750a4 100644
--- a/sys/dev/pci/ixgbe/ixgbe.h
+++ b/sys/dev/pci/ixgbe/ixgbe.h
@@ -1,4 +1,4 @@
-/* $NetBSD: ixgbe.h,v 1.79 2021/08/26 09:03:47 msaitoh Exp $ */
+/* $NetBSD: ixgbe.h,v 1.80 2021/09/03 08:57:58 msaitoh Exp $ */
/******************************************************************************
SPDX-License-Identifier: BSD-3-Clause
@@ -407,6 +407,7 @@ struct rx_ring {
bool lro_enabled;
bool hw_rsc;
bool vtag_strip;
+ bool discard_multidesc;
u16 next_to_refresh;
u16 next_to_check;
u16 num_desc;