[v2] net/qede: change driver's default load parameter

Message ID 20210106132007.197468-1-dsinghrawat@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [v2] net/qede: change driver's default load parameter |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Devendra Singh Rawat Jan. 6, 2021, 1:20 p.m. UTC
  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@dpdk.org

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

Comments

Devendra Singh Rawat Jan. 6, 2021, 3:17 p.m. UTC | #1
> -----Original Message-----
> From: Devendra Singh Rawat <dsinghrawat@marvell.com>
> Sent: Wednesday, January 6, 2021 6:50 PM
> To: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> ferruh.yigit@intel.com
> Cc: GR-Everest-DPDK-Dev <GR-Everest-DPDK-Dev@marvell.com>; Igor
> Russkikh <irusskikh@marvell.com>; Rasesh Mody <rmody@marvell.com>;
> Manish Chopra <manishc@marvell.com>; Devendra Singh Rawat
> <dsinghrawat@marvell.com>; stable@dpdk.org
> Subject: [PATCH v2] net/qede: change driver's default load parameter
> 
> 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@dpdk.org
> 
> Signed-off-by: Devendra Singh Rawat <dsinghrawat@marvell.com>
> Signed-off-by: Manish Chopra <manishc@marvell.com>
> Signed-off-by: Igor Russkikh <irusskikh@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

Dropping this patch for now, please ignore this.
Internal discussions are going on regarding this patch. I will send  a new patch after the discussions.

Thanks,
Devendra
  
Jerin Jacob Jan. 12, 2021, 4:52 a.m. UTC | #2
On Wed, Jan 6, 2021 at 8:47 PM Devendra Singh Rawat
<dsinghrawat@marvell.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Devendra Singh Rawat <dsinghrawat@marvell.com>
> > Sent: Wednesday, January 6, 2021 6:50 PM
> > To: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> > ferruh.yigit@intel.com
> > Cc: GR-Everest-DPDK-Dev <GR-Everest-DPDK-Dev@marvell.com>; Igor
> > Russkikh <irusskikh@marvell.com>; Rasesh Mody <rmody@marvell.com>;
> > Manish Chopra <manishc@marvell.com>; Devendra Singh Rawat
> > <dsinghrawat@marvell.com>; stable@dpdk.org
> > Subject: [PATCH v2] net/qede: change driver's default load parameter
> >
> > 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@dpdk.org
> >
> > --
> > 2.18.2
>
> Dropping this patch for now, please ignore this.
> Internal discussions are going on regarding this patch. I will send  a new patch after the discussions.

Please supersed in patchwork as well(I did now).

>
> Thanks,
> Devendra
  

Patch

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;