net/qede/base: fix to initialize HW for LLH filters
authorRasesh Mody <rasesh.mody@cavium.com>
Wed, 31 Oct 2018 00:27:03 +0000 (00:27 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 5 Nov 2018 14:01:25 +0000 (15:01 +0100)
During initialization of leading PF, we need to initialize HW for LLH
filters. Set HW init parameter to set the engine affinity for
multiple engine adapters.

Fixes: 3eed444a9621 ("net/qede/base: changes for 100G")

Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
drivers/net/qede/base/ecore_dev.c
drivers/net/qede/qede_main.c

index cf454b1..d7e1d7b 100644 (file)
@@ -3429,6 +3429,14 @@ ecore_hw_init_pf(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt,
        if (rc != ECORE_SUCCESS)
                return rc;
 
+       /* Use the leading hwfn since in CMT only NIG #0 is operational */
+       if (IS_LEAD_HWFN(p_hwfn)) {
+               rc = ecore_llh_hw_init_pf(p_hwfn, p_ptt,
+                                       p_params->avoid_eng_affin);
+               if (rc)
+                       return rc;
+       }
+
        if (p_params->b_hw_start) {
                /* enable interrupts */
                rc = ecore_int_igu_enable(p_hwfn, p_ptt, p_params->int_mode);
index df83666..ec6190b 100644 (file)
@@ -288,6 +288,7 @@ static int qed_slowpath_start(struct ecore_dev *edev,
        drv_load_params.mfw_timeout_val = ECORE_LOAD_REQ_LOCK_TO_DEFAULT;
        drv_load_params.avoid_eng_reset = false;
        drv_load_params.override_force_load = ECORE_OVERRIDE_FORCE_LOAD_ALWAYS;
+       hw_init_params.avoid_eng_affin = false;
        hw_init_params.p_drv_load_params = &drv_load_params;
 
        rc = ecore_hw_init(edev, &hw_init_params);