svn commit: r352656 - head/sys/dev/ixgbe
Eric Joyner
erj at FreeBSD.org
Tue Sep 24 17:06:34 UTC 2019
Author: erj
Date: Tue Sep 24 17:06:32 2019
New Revision: 352656
URL: https://svnweb.freebsd.org/changeset/base/352656
Log:
ix, ixv: Read msix_bar from device configuration
Instead of predicting the MSI-X bar index based on the device's MAC
type, read it from the device's PCI configuration instead.
PR: 239704
Submitted by: Piotr Pietruszewski <piotr.pietruszewski at intel.com>
Reviewed by: erj@
MFC after: 3 days
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D21547
Modified:
head/sys/dev/ixgbe/if_ix.c
head/sys/dev/ixgbe/if_ixv.c
head/sys/dev/ixgbe/ixgbe.h
Modified: head/sys/dev/ixgbe/if_ix.c
==============================================================================
--- head/sys/dev/ixgbe/if_ix.c Tue Sep 24 17:03:31 2019 (r352655)
+++ head/sys/dev/ixgbe/if_ix.c Tue Sep 24 17:06:32 2019 (r352656)
@@ -1012,12 +1012,13 @@ ixgbe_if_attach_pre(if_ctx_t ctx)
CSUM_IP6_TCP | CSUM_IP6_UDP | CSUM_IP6_TSO;
if (adapter->hw.mac.type == ixgbe_mac_82598EB) {
scctx->isc_tx_nsegments = IXGBE_82598_SCATTER;
- scctx->isc_msix_bar = PCIR_BAR(MSIX_82598_BAR);
} else {
scctx->isc_tx_csum_flags |= CSUM_SCTP |CSUM_IP6_SCTP;
scctx->isc_tx_nsegments = IXGBE_82599_SCATTER;
- scctx->isc_msix_bar = PCIR_BAR(MSIX_82599_BAR);
}
+
+ scctx->isc_msix_bar = pci_msix_table_bar(dev);
+
scctx->isc_tx_tso_segments_max = scctx->isc_tx_nsegments;
scctx->isc_tx_tso_size_max = IXGBE_TSO_SIZE;
scctx->isc_tx_tso_segsize_max = PAGE_SIZE;
Modified: head/sys/dev/ixgbe/if_ixv.c
==============================================================================
--- head/sys/dev/ixgbe/if_ixv.c Tue Sep 24 17:03:31 2019 (r352655)
+++ head/sys/dev/ixgbe/if_ixv.c Tue Sep 24 17:06:32 2019 (r352656)
@@ -494,7 +494,7 @@ ixv_if_attach_pre(if_ctx_t ctx)
scctx->isc_tx_csum_flags = CSUM_IP | CSUM_TCP | CSUM_UDP | CSUM_TSO |
CSUM_IP6_TCP | CSUM_IP6_UDP | CSUM_IP6_TSO;
scctx->isc_tx_nsegments = IXGBE_82599_SCATTER;
- scctx->isc_msix_bar = PCIR_BAR(MSIX_82598_BAR);
+ scctx->isc_msix_bar = pci_msix_table_bar(dev);
scctx->isc_tx_tso_segments_max = scctx->isc_tx_nsegments;
scctx->isc_tx_tso_size_max = IXGBE_TSO_SIZE;
scctx->isc_tx_tso_segsize_max = PAGE_SIZE;
Modified: head/sys/dev/ixgbe/ixgbe.h
==============================================================================
--- head/sys/dev/ixgbe/ixgbe.h Tue Sep 24 17:03:31 2019 (r352655)
+++ head/sys/dev/ixgbe/ixgbe.h Tue Sep 24 17:06:32 2019 (r352656)
@@ -189,8 +189,6 @@
#define MAX_NUM_MULTICAST_ADDRESSES 128
#define IXGBE_82598_SCATTER 100
#define IXGBE_82599_SCATTER 32
-#define MSIX_82598_BAR 3
-#define MSIX_82599_BAR 4
#define IXGBE_TSO_SIZE 262140
#define IXGBE_RX_HDR 128
#define IXGBE_VFTA_SIZE 128
More information about the svn-src-all
mailing list