summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRasesh Mody <rasesh.mody@cavium.com>2018-10-31 00:27:03 +0000
committerFerruh Yigit <ferruh.yigit@intel.com>2018-11-05 15:01:25 +0100
commit66c4904f9298172e619d3c8f144f52c193914362 (patch)
treeb491f582819af671f6313f8967f7d2690eb25593 /drivers
parent2482a004d6dc501cb2438e83e09cb76b8997e81b (diff)
downloaddpdk-66c4904f9298172e619d3c8f144f52c193914362.zip
dpdk-66c4904f9298172e619d3c8f144f52c193914362.tar.gz
dpdk-66c4904f9298172e619d3c8f144f52c193914362.tar.xz
net/qede/base: fix to initialize HW for LLH filters
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/qede/base/ecore_dev.c8
-rw-r--r--drivers/net/qede/qede_main.c1
2 files changed, 9 insertions, 0 deletions
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 @@ 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);
diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
index df83666..ec6190b 100644
--- a/drivers/net/qede/qede_main.c
+++ b/drivers/net/qede/qede_main.c
@@ -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);