During initalization of leading PF, we need to initialize HW for LLH
filters. Set HW init parameter to set the eingine affinity for
multiple engine adapters.

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

Signed-off-by: Rasesh Mody <rasesh.m...@cavium.com>
---
 drivers/net/qede/base/ecore_dev.c |    8 ++++++++
 drivers/net/qede/qede_main.c      |    1 +
 2 files changed, 9 insertions(+)

diff --git a/drivers/net/qede/base/ecore_dev.c 
b/drivers/net/qede/base/ecore_dev.c
index cf454b1..d7e1d7b 100644
--- a/drivers/net/qede/base/ecore_dev.c
+++ b/drivers/net/qede/base/ecore_dev.c
@@ -3429,6 +3429,14 @@ static enum _ecore_status_t ecore_hw_init_port(struct 
ecore_hwfn *p_hwfn,
        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);
diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
index c361f24..b128388 100644
--- a/drivers/net/qede/qede_main.c
+++ b/drivers/net/qede/qede_main.c
@@ -287,6 +287,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);
-- 
1.7.10.3

Reply via email to