]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
qed: No need to reset SBs on IOV init
authorMintz, Yuval <Yuval.Mintz@cavium.com>
Thu, 1 Jun 2017 12:29:11 +0000 (15:29 +0300)
committerChuck Anderson <chuck.anderson@oracle.com>
Tue, 19 Sep 2017 05:32:24 +0000 (22:32 -0700)
Orabug: 26783820

Since we're resetting the IGU CAM each time we initialize the PF
device, there's no need to reset the VF SBs again when initializing
IOV.

Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[ Upstream commit 1ee240e31d4c0a5fd37ebaf064ca1f6cb6adcb6f ]
Signed-off-by: Somasundaram Krishnasamy <somasundaram.krishnasamy@oracle.com>
drivers/net/ethernet/qlogic/qed/qed_dev.c
drivers/net/ethernet/qlogic/qed/qed_sriov.c
drivers/net/ethernet/qlogic/qed/qed_sriov.h

index 1c6b078b03bffbc5af878d28d5768635e5c0135a..91ef2e3c90c6c08a42c94717164e225d7e624e8b 100644 (file)
@@ -1005,7 +1005,7 @@ void qed_resc_setup(struct qed_dev *cdev)
 
                qed_int_setup(p_hwfn, p_hwfn->p_main_ptt);
 
-               qed_iov_setup(p_hwfn, p_hwfn->p_main_ptt);
+               qed_iov_setup(p_hwfn);
 #ifdef CONFIG_QED_LL2
                if (p_hwfn->using_ll2)
                        qed_ll2_setup(p_hwfn);
index 022499483e26d144e7b914a1d45d3c4142c2d2db..22bb37e1525f2206c9696896641028ee80dd2a8e 100644 (file)
@@ -377,33 +377,6 @@ static int qed_iov_pci_cfg_info(struct qed_dev *cdev)
        return 0;
 }
 
-static void qed_iov_clear_vf_igu_blocks(struct qed_hwfn *p_hwfn,
-                                       struct qed_ptt *p_ptt)
-{
-       struct qed_igu_block *p_sb;
-       u16 sb_id;
-       u32 val;
-
-       if (!p_hwfn->hw_info.p_igu_info) {
-               DP_ERR(p_hwfn,
-                      "qed_iov_clear_vf_igu_blocks IGU Info not initialized\n");
-               return;
-       }
-
-       for (sb_id = 0; sb_id < QED_MAPPING_MEMORY_SIZE(p_hwfn->cdev);
-            sb_id++) {
-               p_sb = &p_hwfn->hw_info.p_igu_info->entry[sb_id];
-               if ((p_sb->status & QED_IGU_STATUS_FREE) &&
-                   !(p_sb->status & QED_IGU_STATUS_PF)) {
-                       val = qed_rd(p_hwfn, p_ptt,
-                                    IGU_REG_MAPPING_MEMORY + sb_id * 4);
-                       SET_FIELD(val, IGU_MAPPING_LINE_VALID, 0);
-                       qed_wr(p_hwfn, p_ptt,
-                              IGU_REG_MAPPING_MEMORY + 4 * sb_id, val);
-               }
-       }
-}
-
 static void qed_iov_setup_vfdb(struct qed_hwfn *p_hwfn)
 {
        struct qed_hw_sriov_info *p_iov = p_hwfn->cdev->p_iov_info;
@@ -554,13 +527,12 @@ int qed_iov_alloc(struct qed_hwfn *p_hwfn)
        return qed_iov_allocate_vfdb(p_hwfn);
 }
 
-void qed_iov_setup(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt)
+void qed_iov_setup(struct qed_hwfn *p_hwfn)
 {
        if (!IS_PF_SRIOV(p_hwfn) || !IS_PF_SRIOV_ALLOC(p_hwfn))
                return;
 
        qed_iov_setup_vfdb(p_hwfn);
-       qed_iov_clear_vf_igu_blocks(p_hwfn, p_ptt);
 }
 
 void qed_iov_free(struct qed_hwfn *p_hwfn)
index 526ae1c93fdfb30371f5fd42f8429856d3df89cd..177df3396afc3094c07a440129c1786e83fd59d6 100644 (file)
@@ -307,9 +307,8 @@ int qed_iov_alloc(struct qed_hwfn *p_hwfn);
  * @brief qed_iov_setup - setup sriov related resources
  *
  * @param p_hwfn
- * @param p_ptt
  */
-void qed_iov_setup(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt);
+void qed_iov_setup(struct qed_hwfn *p_hwfn);
 
 /**
  * @brief qed_iov_free - free sriov related resources
@@ -388,7 +387,7 @@ static inline int qed_iov_alloc(struct qed_hwfn *p_hwfn)
        return 0;
 }
 
-static inline void qed_iov_setup(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt)
+static inline void qed_iov_setup(struct qed_hwfn *p_hwfn)
 {
 }