[dpdk-dev] [PATCH v2] net/qede: change driver's default load parameter

Devendra Singh Rawat dsinghrawat at marvell.com
Wed Jan 6 14:20:07 CET 2021


Loading ecore clients (PMD or linux kernel driver) having different ecore
versions concurrently, is problematic from device's init/config
perspective. This fix changes driver's default load parameter to have
ecore version validated by MFW. All ecore clients having matching ecore
version should be allowed to load, otherwise MFW should fail the load
request.

Fixes: c5e1108920 ("alter driver's force load behavior")
Cc: stable at dpdk.org

Signed-off-by: Devendra Singh Rawat <dsinghrawat at marvell.com>
Signed-off-by: Manish Chopra <manishc at marvell.com>
Signed-off-by: Igor Russkikh <irusskikh at marvell.com>
---
 doc/guides/nics/qede.rst     | 5 ++++-
 drivers/net/qede/qede_main.c | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst
index bb127ca21..201678401 100644
--- a/doc/guides/nics/qede.rst
+++ b/doc/guides/nics/qede.rst
@@ -63,11 +63,14 @@ Co-existence considerations
 - When SR-IOV is enabled on the adapter,
   Linux kernel drivers (qed, qede, qedr, qedi and qedf) can be bound
   to the PFs of a given adapter and either qede PMD or Linux drivers
-  (qed and qede) can be bound to the VFs of the adapter.
+  (qed and qede) can be bound to the VFs of the adapter provided that
+  ecore version of Linux kernel driver and qede PMD driver is same.
 
 - For sharing an adapter between DPDK and Linux drivers, SRIOV needs
   to be enabled. Bind all the PFs to Linux Drivers(qed/qede). Create
   a VF on PFs where DPDK is desired and bind these VFs to qede_pmd.
+  Make sure that ecore version of Linux Driver and qede PMD driver
+  is same.
   Binding of PFs simultaneously to DPDK and Linux drivers on a given
   adapter is not supported.
 
diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
index caa9d1d4f..d208d276a 100644
--- a/drivers/net/qede/qede_main.c
+++ b/drivers/net/qede/qede_main.c
@@ -300,7 +300,7 @@ static int qed_slowpath_start(struct ecore_dev *edev,
 	memset(&drv_load_params, 0, sizeof(drv_load_params));
 	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;
+	drv_load_params.override_force_load = ECORE_OVERRIDE_FORCE_LOAD_NONE;
 	hw_init_params.avoid_eng_affin = false;
 	hw_init_params.p_drv_load_params = &drv_load_params;
 
-- 
2.18.2



More information about the dev mailing list