From: Mark Spender <mspen...@solarflare.com>

Signed-off-by: Mark Spender <mspen...@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybche...@solarflare.com>
---
 drivers/net/sfc/base/efx_impl.h  |  4 ---
 drivers/net/sfc/base/efx_nic.c   | 72 ---------------------------------------
 drivers/net/sfc/base/siena_nic.c | 73 +++++++++++++++++++++++++++++++++++++++-
 3 files changed, 72 insertions(+), 77 deletions(-)

diff --git a/drivers/net/sfc/base/efx_impl.h b/drivers/net/sfc/base/efx_impl.h
index fa976eb..eaa53df 100644
--- a/drivers/net/sfc/base/efx_impl.h
+++ b/drivers/net/sfc/base/efx_impl.h
@@ -1074,10 +1074,6 @@ struct efx_txq_s {
        } while (B_FALSE)
 
 extern __checkReturn   efx_rc_t
-efx_nic_biu_test(
-       __in            efx_nic_t *enp);
-
-extern __checkReturn   efx_rc_t
 efx_mac_select(
        __in            efx_nic_t *enp);
 
diff --git a/drivers/net/sfc/base/efx_nic.c b/drivers/net/sfc/base/efx_nic.c
index 65eed6e..4a31bca 100644
--- a/drivers/net/sfc/base/efx_nic.c
+++ b/drivers/net/sfc/base/efx_nic.c
@@ -102,78 +102,6 @@ efx_family(
        return (ENOTSUP);
 }
 
-
-#define        EFX_BIU_MAGIC0  0x01234567
-#define        EFX_BIU_MAGIC1  0xfedcba98
-
-       __checkReturn   efx_rc_t
-efx_nic_biu_test(
-       __in            efx_nic_t *enp)
-{
-       efx_oword_t oword;
-       efx_rc_t rc;
-
-       /*
-        * Write magic values to scratch registers 0 and 1, then
-        * verify that the values were written correctly.  Interleave
-        * the accesses to ensure that the BIU is not just reading
-        * back the cached value that was last written.
-        */
-       EFX_POPULATE_OWORD_1(oword, FRF_AZ_DRIVER_DW0, EFX_BIU_MAGIC0);
-       EFX_BAR_TBL_WRITEO(enp, FR_AZ_DRIVER_REG, 0, &oword, B_TRUE);
-
-       EFX_POPULATE_OWORD_1(oword, FRF_AZ_DRIVER_DW0, EFX_BIU_MAGIC1);
-       EFX_BAR_TBL_WRITEO(enp, FR_AZ_DRIVER_REG, 1, &oword, B_TRUE);
-
-       EFX_BAR_TBL_READO(enp, FR_AZ_DRIVER_REG, 0, &oword, B_TRUE);
-       if (EFX_OWORD_FIELD(oword, FRF_AZ_DRIVER_DW0) != EFX_BIU_MAGIC0) {
-               rc = EIO;
-               goto fail1;
-       }
-
-       EFX_BAR_TBL_READO(enp, FR_AZ_DRIVER_REG, 1, &oword, B_TRUE);
-       if (EFX_OWORD_FIELD(oword, FRF_AZ_DRIVER_DW0) != EFX_BIU_MAGIC1) {
-               rc = EIO;
-               goto fail2;
-       }
-
-       /*
-        * Perform the same test, with the values swapped.  This
-        * ensures that subsequent tests don't start with the correct
-        * values already written into the scratch registers.
-        */
-       EFX_POPULATE_OWORD_1(oword, FRF_AZ_DRIVER_DW0, EFX_BIU_MAGIC1);
-       EFX_BAR_TBL_WRITEO(enp, FR_AZ_DRIVER_REG, 0, &oword, B_TRUE);
-
-       EFX_POPULATE_OWORD_1(oword, FRF_AZ_DRIVER_DW0, EFX_BIU_MAGIC0);
-       EFX_BAR_TBL_WRITEO(enp, FR_AZ_DRIVER_REG, 1, &oword, B_TRUE);
-
-       EFX_BAR_TBL_READO(enp, FR_AZ_DRIVER_REG, 0, &oword, B_TRUE);
-       if (EFX_OWORD_FIELD(oword, FRF_AZ_DRIVER_DW0) != EFX_BIU_MAGIC1) {
-               rc = EIO;
-               goto fail3;
-       }
-
-       EFX_BAR_TBL_READO(enp, FR_AZ_DRIVER_REG, 1, &oword, B_TRUE);
-       if (EFX_OWORD_FIELD(oword, FRF_AZ_DRIVER_DW0) != EFX_BIU_MAGIC0) {
-               rc = EIO;
-               goto fail4;
-       }
-
-       return (0);
-
-fail4:
-       EFSYS_PROBE(fail4);
-fail3:
-       EFSYS_PROBE(fail3);
-fail2:
-       EFSYS_PROBE(fail2);
-fail1:
-       EFSYS_PROBE1(fail1, efx_rc_t, rc);
-
-       return (rc);
-}
-
 #if EFSYS_OPT_SIENA
 
 static const efx_nic_ops_t     __efx_nic_siena_ops = {
diff --git a/drivers/net/sfc/base/siena_nic.c b/drivers/net/sfc/base/siena_nic.c
index f9cda34..a9793a1 100644
--- a/drivers/net/sfc/base/siena_nic.c
+++ b/drivers/net/sfc/base/siena_nic.c
@@ -213,6 +213,77 @@ siena_phy_cfg(
        return (rc);
 }
 
+#define        SIENA_BIU_MAGIC0        0x01234567
+#define        SIENA_BIU_MAGIC1        0xfedcba98
+
+static __checkReturn   efx_rc_t
+siena_nic_biu_test(
+       __in            efx_nic_t *enp)
+{
+       efx_oword_t oword;
+       efx_rc_t rc;
+
+       /*
+        * Write magic values to scratch registers 0 and 1, then
+        * verify that the values were written correctly.  Interleave
+        * the accesses to ensure that the BIU is not just reading
+        * back the cached value that was last written.
+        */
+       EFX_POPULATE_OWORD_1(oword, FRF_AZ_DRIVER_DW0, SIENA_BIU_MAGIC0);
+       EFX_BAR_TBL_WRITEO(enp, FR_AZ_DRIVER_REG, 0, &oword, B_TRUE);
+
+       EFX_POPULATE_OWORD_1(oword, FRF_AZ_DRIVER_DW0, SIENA_BIU_MAGIC1);
+       EFX_BAR_TBL_WRITEO(enp, FR_AZ_DRIVER_REG, 1, &oword, B_TRUE);
+
+       EFX_BAR_TBL_READO(enp, FR_AZ_DRIVER_REG, 0, &oword, B_TRUE);
+       if (EFX_OWORD_FIELD(oword, FRF_AZ_DRIVER_DW0) != SIENA_BIU_MAGIC0) {
+               rc = EIO;
+               goto fail1;
+       }
+
+       EFX_BAR_TBL_READO(enp, FR_AZ_DRIVER_REG, 1, &oword, B_TRUE);
+       if (EFX_OWORD_FIELD(oword, FRF_AZ_DRIVER_DW0) != SIENA_BIU_MAGIC1) {
+               rc = EIO;
+               goto fail2;
+       }
+
+       /*
+        * Perform the same test, with the values swapped.  This
+        * ensures that subsequent tests don't start with the correct
+        * values already written into the scratch registers.
+        */
+       EFX_POPULATE_OWORD_1(oword, FRF_AZ_DRIVER_DW0, SIENA_BIU_MAGIC1);
+       EFX_BAR_TBL_WRITEO(enp, FR_AZ_DRIVER_REG, 0, &oword, B_TRUE);
+
+       EFX_POPULATE_OWORD_1(oword, FRF_AZ_DRIVER_DW0, SIENA_BIU_MAGIC0);
+       EFX_BAR_TBL_WRITEO(enp, FR_AZ_DRIVER_REG, 1, &oword, B_TRUE);
+
+       EFX_BAR_TBL_READO(enp, FR_AZ_DRIVER_REG, 0, &oword, B_TRUE);
+       if (EFX_OWORD_FIELD(oword, FRF_AZ_DRIVER_DW0) != SIENA_BIU_MAGIC1) {
+               rc = EIO;
+               goto fail3;
+       }
+
+       EFX_BAR_TBL_READO(enp, FR_AZ_DRIVER_REG, 1, &oword, B_TRUE);
+       if (EFX_OWORD_FIELD(oword, FRF_AZ_DRIVER_DW0) != SIENA_BIU_MAGIC0) {
+               rc = EIO;
+               goto fail4;
+       }
+
+       return (0);
+
+fail4:
+       EFSYS_PROBE(fail4);
+fail3:
+       EFSYS_PROBE(fail3);
+fail2:
+       EFSYS_PROBE(fail2);
+fail1:
+       EFSYS_PROBE1(fail1, efx_rc_t, rc);
+
+       return (rc);
+}
+
        __checkReturn   efx_rc_t
 siena_nic_probe(
        __in            efx_nic_t *enp)
@@ -227,7 +298,7 @@ siena_nic_probe(
        EFSYS_ASSERT3U(enp->en_family, ==, EFX_FAMILY_SIENA);
 
        /* Test BIU */
-       if ((rc = efx_nic_biu_test(enp)) != 0)
+       if ((rc = siena_nic_biu_test(enp)) != 0)
                goto fail1;
 
        /* Clear the region register */
-- 
2.7.4

Reply via email to