svn commit: r306206 - head/sys/dev/cxgbe
Navdeep Parhar
np at FreeBSD.org
Thu Sep 22 18:47:08 UTC 2016
Author: np
Date: Thu Sep 22 18:47:07 2016
New Revision: 306206
URL: https://svnweb.freebsd.org/changeset/base/306206
Log:
cxgbe(4): Catch up with the different layout of WHOAMI in T6.
Note that the code moved below t4_prep_adapter() as part of this change
because now it needs a working chip_id().
Modified:
head/sys/dev/cxgbe/t4_main.c
Modified: head/sys/dev/cxgbe/t4_main.c
==============================================================================
--- head/sys/dev/cxgbe/t4_main.c Thu Sep 22 18:45:25 2016 (r306205)
+++ head/sys/dev/cxgbe/t4_main.c Thu Sep 22 18:47:07 2016 (r306206)
@@ -812,15 +812,6 @@ t4_attach(device_t dev)
if (rc != 0)
goto done; /* error message displayed already */
- /*
- * This is the real PF# to which we're attaching. Works from within PCI
- * passthrough environments too, where pci_get_function() could return a
- * different PF# depending on the passthrough configuration. We need to
- * use the real PF# in all our communication with the firmware.
- */
- sc->pf = G_SOURCEPF(t4_read_reg(sc, A_PL_WHOAMI));
- sc->mbox = sc->pf;
-
memset(sc->chan_map, 0xff, sizeof(sc->chan_map));
/* Prepare the adapter for operation. */
@@ -832,6 +823,16 @@ t4_attach(device_t dev)
goto done;
}
+ /*
+ * This is the real PF# to which we're attaching. Works from within PCI
+ * passthrough environments too, where pci_get_function() could return a
+ * different PF# depending on the passthrough configuration. We need to
+ * use the real PF# in all our communication with the firmware.
+ */
+ j = t4_read_reg(sc, A_PL_WHOAMI);
+ sc->pf = chip_id(sc) <= CHELSIO_T5 ? G_SOURCEPF(j) : G_T6_SOURCEPF(j);
+ sc->mbox = sc->pf;
+
t4_init_devnames(sc);
if (sc->names == NULL) {
rc = ENOTSUP;
More information about the svn-src-all
mailing list