Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Sep 2016 18:47:07 +0000 (UTC)
From:      Navdeep Parhar <np@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r306206 - head/sys/dev/cxgbe
Message-ID:  <201609221847.u8MIl7Tb041315@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609221847.u8MIl7Tb041315>