net/qede/base: fix to initialize HW for LLH filters
Checks
Commit Message
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.mody@cavium.com>
---
drivers/net/qede/base/ecore_dev.c | 8 ++++++++
drivers/net/qede/qede_main.c | 1 +
2 files changed, 9 insertions(+)
Comments
On 10/31/2018 12:27 AM, Mody, Rasesh wrote:
> 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.mody@cavium.com>
Applied to dpdk-next-net/master, thanks.
@@ -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);
@@ -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);