From 66c4904f9298172e619d3c8f144f52c193914362 Mon Sep 17 00:00:00 2001 From: Rasesh Mody Date: Wed, 31 Oct 2018 00:27:03 +0000 Subject: [PATCH] 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 --- 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 cf454b19bb..d7e1d7b32a 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 df83666fed..ec6190b115 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); -- 2.20.1