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> --- drivers/net/qede/qede_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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
Hi Devendra, >From: Devendra Singh Rawat <dsinghrawat@marvell.com> >Sent: Thursday, December 03, 2020 5:30 AM > >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. > Accompanying this change, I think, Co-existence considerations section in NIC guide needs to be updated. Thanks, Rasesh >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> >--- > drivers/net/qede/qede_main.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >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
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
> -----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
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