net/sfc/base: move privilege config to ef10 NIC board config
authorAndy Moreton <amoreton@solarflare.com>
Tue, 20 Feb 2018 07:34:16 +0000 (07:34 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 30 Mar 2018 12:08:43 +0000 (14:08 +0200)
Signed-off-by: Andy Moreton <amoreton@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
drivers/net/sfc/base/ef10_nic.c
drivers/net/sfc/base/hunt_nic.c
drivers/net/sfc/base/medford2_nic.c
drivers/net/sfc/base/medford_nic.c

index e37a2ac..02f1c19 100644 (file)
@@ -1553,6 +1553,7 @@ ef10_nic_board_cfg(
        uint32_t board_type = 0;
        uint32_t base, nvec;
        uint32_t port;
+       uint32_t mask;
        uint32_t pf;
        uint32_t vf;
        uint8_t mac_addr[6] = { 0 };
@@ -1680,13 +1681,25 @@ ef10_nic_board_cfg(
        encp->enc_intr_vec_base = base;
        encp->enc_intr_limit = nvec;
 
+       /*
+        * Get the current privilege mask. Note that this may be modified
+        * dynamically, so this value is informational only. DO NOT use
+        * the privilege mask to check for sufficient privileges, as that
+        * can result in time-of-check/time-of-use bugs.
+        */
+       if ((rc = ef10_get_privilege_mask(enp, &mask)) != 0)
+               goto fail10;
+       encp->enc_privilege_mask = mask;
+
        /* Get remaining controller-specific board config */
        if ((rc = enop->eno_board_cfg(enp)) != 0)
                if (rc != EACCES)
-                       goto fail10;
+                       goto fail11;
 
        return (0);
 
+fail11:
+       EFSYS_PROBE(fail11);
 fail10:
        EFSYS_PROBE(fail10);
 fail9:
index b19b41e..14803c5 100644 (file)
@@ -78,7 +78,6 @@ hunt_board_cfg(
 {
        efx_nic_cfg_t *encp = &(enp->en_nic_cfg);
        efx_port_t *epp = &(enp->en_port);
-       uint32_t mask;
        uint32_t flags;
        uint32_t sysclk, dpcpu_clk;
        uint32_t bandwidth;
@@ -215,18 +214,8 @@ hunt_board_cfg(
        encp->enc_piobuf_size = HUNT_PIOBUF_SIZE;
        encp->enc_piobuf_min_alloc_size = HUNT_MIN_PIO_ALLOC_SIZE;
 
-       /*
-        * Get the current privilege mask. Note that this may be modified
-        * dynamically, so this value is informational only. DO NOT use
-        * the privilege mask to check for sufficient privileges, as that
-        * can result in time-of-check/time-of-use bugs.
-        */
-       if ((rc = ef10_get_privilege_mask(enp, &mask)) != 0)
-               goto fail5;
-       encp->enc_privilege_mask = mask;
-
        if ((rc = hunt_nic_get_required_pcie_bandwidth(enp, &bandwidth)) != 0)
-               goto fail6;
+               goto fail5;
        encp->enc_required_pcie_bandwidth_mbps = bandwidth;
 
        /* All Huntington devices have a PCIe Gen3, 8 lane connector */
@@ -234,8 +223,6 @@ hunt_board_cfg(
 
        return (0);
 
-fail6:
-       EFSYS_PROBE(fail6);
 fail5:
        EFSYS_PROBE(fail5);
 fail4:
index 85431d2..f0353ca 100644 (file)
@@ -49,7 +49,6 @@ medford2_board_cfg(
        __in            efx_nic_t *enp)
 {
        efx_nic_cfg_t *encp = &(enp->en_nic_cfg);
-       uint32_t mask;
        uint32_t sysclk, dpcpu_clk;
        uint32_t end_padding;
        uint32_t bandwidth;
@@ -148,16 +147,6 @@ medford2_board_cfg(
        encp->enc_piobuf_size = MEDFORD2_PIOBUF_SIZE;
        encp->enc_piobuf_min_alloc_size = MEDFORD2_MIN_PIO_ALLOC_SIZE;
 
-       /*
-        * Get the current privilege mask. Note that this may be modified
-        * dynamically, so this value is informational only. DO NOT use
-        * the privilege mask to check for sufficient privileges, as that
-        * can result in time-of-check/time-of-use bugs.
-        */
-       if ((rc = ef10_get_privilege_mask(enp, &mask)) != 0)
-               goto fail5;
-       encp->enc_privilege_mask = mask;
-
        /*
         * Medford2 stores a single global copy of VPD, not per-PF as on
         * Huntington.
@@ -166,14 +155,12 @@ medford2_board_cfg(
 
        rc = medford2_nic_get_required_pcie_bandwidth(enp, &bandwidth);
        if (rc != 0)
-               goto fail6;
+               goto fail5;
        encp->enc_required_pcie_bandwidth_mbps = bandwidth;
        encp->enc_max_pcie_link_gen = EFX_PCIE_LINK_SPEED_GEN3;
 
        return (0);
 
-fail6:
-       EFSYS_PROBE(fail6);
 fail5:
        EFSYS_PROBE(fail5);
 fail4:
index daa1478..080df54 100644 (file)
@@ -47,7 +47,6 @@ medford_board_cfg(
        __in            efx_nic_t *enp)
 {
        efx_nic_cfg_t *encp = &(enp->en_nic_cfg);
-       uint32_t mask;
        uint32_t sysclk, dpcpu_clk;
        uint32_t end_padding;
        uint32_t bandwidth;
@@ -147,16 +146,6 @@ medford_board_cfg(
        encp->enc_piobuf_size = MEDFORD_PIOBUF_SIZE;
        encp->enc_piobuf_min_alloc_size = MEDFORD_MIN_PIO_ALLOC_SIZE;
 
-       /*
-        * Get the current privilege mask. Note that this may be modified
-        * dynamically, so this value is informational only. DO NOT use
-        * the privilege mask to check for sufficient privileges, as that
-        * can result in time-of-check/time-of-use bugs.
-        */
-       if ((rc = ef10_get_privilege_mask(enp, &mask)) != 0)
-               goto fail4;
-       encp->enc_privilege_mask = mask;
-
        /*
         * Medford stores a single global copy of VPD, not per-PF as on
         * Huntington.
@@ -165,14 +154,12 @@ medford_board_cfg(
 
        rc = medford_nic_get_required_pcie_bandwidth(enp, &bandwidth);
        if (rc != 0)
-               goto fail5;
+               goto fail4;
        encp->enc_required_pcie_bandwidth_mbps = bandwidth;
        encp->enc_max_pcie_link_gen = EFX_PCIE_LINK_SPEED_GEN3;
 
        return (0);
 
-fail5:
-       EFSYS_PROBE(fail5);
 fail4:
        EFSYS_PROBE(fail4);
 fail3: