Re: [dpdk-dev] [PATCH 1/2] pci: rename catch-all ID

2021-04-05 Thread Parav Pandit
/**< Vendor ID or RTE_PCI_ANY_ID. */ > + uint16_t device_id; /**< Device ID or RTE_PCI_ANY_ID. */ > + uint16_t subsystem_vendor_id; /**< Subsystem vendor ID or > RTE_PCI_ANY_ID. */ > + uint16_t subsystem_device_id; /**< Subsystem device ID or > +RTE_PCI_ANY_ID. */ > }; > > /** > @@ -95,7 +95,9 @@ struct rte_pci_addr { > }; > > /** Any PCI device identifier (vendor, device, ...) */ -#define PCI_ANY_ID > (0x) > +#define RTE_PCI_ANY_ID (0x) > +/** @deprecated Replaced with RTE_PCI_ANY_ID */ #define PCI_ANY_ID > +RTE_PCI_ANY_ID > #define RTE_CLASS_ANY_ID (0xff) > > /** > -- > 2.30.1 Reviewed-by: Parav Pandit

Re: [dpdk-dev] [RFC 00/14] mlx5: support SubFunction

2021-06-14 Thread Parav Pandit
Hi Chenbo, > From: Xia, Chenbo > Sent: Tuesday, June 15, 2021 7:41 AM > > Hi Thomas, > > > From: Thomas Monjalon > > Sent: Friday, June 11, 2021 3:54 PM [..] > > Yes. In our term it's called Assignable Device Interface (ADI) introduced in > Intel Scalable IOV (https://01.org/blogs/2019/assig

Re: [dpdk-dev] [RFC 00/14] mlx5: support SubFunction

2021-06-14 Thread Parav Pandit
> From: Xia, Chenbo > Sent: Tuesday, June 15, 2021 11:03 AM > > Hi Parav, > > > -Original Message- > > From: Parav Pandit > > Sent: Tuesday, June 15, 2021 12:05 PM > > To: Xia, Chenbo ; NBU-Contact-Thomas Monjalon > > ; Yigit, Ferruh

Re: [dpdk-dev] [RFC 00/14] mlx5: support SubFunction

2021-06-15 Thread Parav Pandit
> From: Xia, Chenbo > Sent: Tuesday, June 15, 2021 4:49 PM > > > > > > Just FYI: > > > > > > We are introducing a new mdev bus for DPDK: > > > http://patchwork.dpdk.org/project/dpdk/cover/20210601030644.3318-1- > > > chenbo@intel.com/ > > > > > I am yet to read about it. But I am not sure w

[dpdk-dev] [PATCH v3 03/10] common/mlx5: fix empty input style in glue wrappers

2020-07-03 Thread Parav Pandit
n't a prototype [-Werror=strict-prototypes] Fix them by adding void data type in empty argument list. Fixes: 34fa7c0268e7 ("net/mlx5: add drop action to Direct Verbs E-Switch") Fixes: 400d985eb586 ("net/mlx5: add VLAN push/pop DR commands to glue") Signed-off-by: Parav

[dpdk-dev] [PATCH v3 00/10] Improve mlx5 PMD driver framework for multiple classes

2020-07-03 Thread Parav Pandit
amed function to parse_class_options - Migreate API from rte_driver to rte_pci_driver Parav Pandit (10): eal: introduce macros for getting value for bit eal: introduce RTE common initialization level common/mlx5: fix empty input style in glue wrappers common/mlx5: change mlx5 class enum values

[dpdk-dev] [PATCH v3 01/10] eal: introduce macros for getting value for bit

2020-07-03 Thread Parav Pandit
There are several drivers which duplicate bit generation macro. Introduce a generic bit macros so that such drivers avoid redefining same in multiple drivers. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v1->v2: - Addressed comments from Thomas and Gaten. - Avoided

[dpdk-dev] [PATCH v3 02/10] eal: introduce RTE common initialization level

2020-07-03 Thread Parav Pandit
which can be used for common initialization and RTE_PRIO_CLASS by mlx5 PMDs for class driver initialization. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - new patch --- lib/librte_eal/include/rte_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/

[dpdk-dev] [PATCH v3 04/10] common/mlx5: change mlx5 class enum values as bits

2020-07-03 Thread Parav Pandit
mlx5 PCI Device supports multiple classes of devices such as net, vdpa, and/or regex. To support these multiple classes, change mlx5_class to a bitmap values so that if users asks to enable multiple of them, all supported classes can be parsed. Signed-off-by: Parav Pandit Acked-by: Matan Azrad

[dpdk-dev] [PATCH v3 05/10] common/mlx5: use common rte priority

2020-07-03 Thread Parav Pandit
) Information registered by these PMDs is used by mlx5_bus_pci PMD. This mlx5 class PMDs should not confused with rte_class. (d) Register mlx5 PCI bus PMD Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 2 +- drivers/net/mlx5/mlx5.c | 2 +- drivers/vdpa

[dpdk-dev] [PATCH v3 07/10] bus/mlx5_pci: register a PCI driver

2020-07-03 Thread Parav Pandit
Create a mlx5 bus driver framework for invoking drivers of multiple classes who have registered with the mlx5_pci bus driver. Validate user class arguments for supported class combinations. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Addressed comments from A

[dpdk-dev] [PATCH v3 09/10] common/mlx5: remove class checks from individual driver

2020-07-03 Thread Parav Pandit
Now that mlx5_pci bus does the check for enabled classes and performs probe(), remove() of associated classes, individual class driver doesn't need to check if other driver is enabled. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Removed empty line v1->

[dpdk-dev] [PATCH v3 06/10] bus/mlx5_pci: add mlx5 PCI bus

2020-07-03 Thread Parav Pandit
Add mlx5 PCI bus which enables multiple mlx5 drivers to bind to single pci device. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Addressed comments from Thomas and Asaf - Moved pci_driver structure instance as first in driver - Removed white spaces at the end

[dpdk-dev] [PATCH v3 08/10] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver

2020-07-03 Thread Parav Pandit
Enable class driver to match with the mlx5 pci devices. Migrate mlx5 net PMD and vdpa PMD to start using mlx5 common class driver. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Avoid static table v1->v2: - Migreate API from rte_driver to rte_pci_

[dpdk-dev] [PATCH v3 10/10] maintainers: add maintainers for mlx5 pci bus

2020-07-03 Thread Parav Pandit
Added maintainers for new mlx5 specific mlx5_pci bus. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- MAINTAINERS | 5 + 1 file changed, 5 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 53a5e9a9e..e3fec55ca 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -517,6 +517,11

Re: [dpdk-dev] [PATCH v3 07/10] bus/mlx5_pci: register a PCI driver

2020-07-03 Thread Parav Pandit
> From: Parav Pandit > Sent: Friday, July 3, 2020 2:43 PM > > Create a mlx5 bus driver framework for invoking drivers of multiple classes > who have registered with the mlx5_pci bus driver. [..] > diff --git a/drivers/bus/mlx5_pci/mlx5_pci_bus.c > b/drivers/bus/ml

[dpdk-dev] [PATCH v4 01/10] eal: introduce macros for getting value for bit

2020-07-03 Thread Parav Pandit
There are several drivers which duplicate bit generation macro. Introduce a generic bit macros so that such drivers avoid redefining same in multiple drivers. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v1->v2: - Addressed comments from Thomas and Gaten. - Avoided

[dpdk-dev] [PATCH v4 02/10] eal: introduce RTE common initialization level

2020-07-03 Thread Parav Pandit
which can be used for common initialization and RTE_PRIO_CLASS by mlx5 PMDs for class driver initialization. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - new patch --- lib/librte_eal/include/rte_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/

[dpdk-dev] [PATCH v4 04/10] common/mlx5: change mlx5 class enum values as bits

2020-07-03 Thread Parav Pandit
mlx5 PCI Device supports multiple classes of devices such as net, vdpa, and/or regex. To support these multiple classes, change mlx5_class to a bitmap values so that if users asks to enable multiple of them, all supported classes can be parsed. Signed-off-by: Parav Pandit Acked-by: Matan Azrad

[dpdk-dev] [PATCH v4 03/10] common/mlx5: fix empty input style in glue wrappers

2020-07-03 Thread Parav Pandit
n't a prototype [-Werror=strict-prototypes] Fix them by adding void data type in empty argument list. Fixes: 34fa7c0268e7 ("net/mlx5: add drop action to Direct Verbs E-Switch") Fixes: 400d985eb586 ("net/mlx5: add VLAN push/pop DR commands to glue") Signed-off-by: Parav

[dpdk-dev] [PATCH v4 00/10] Improve mlx5 PMD driver framework for multiple classes

2020-07-03 Thread Parav Pandit
heck to fail driver probe if multiple classes register with DMA ops - Renamed function to parse_class_options - Migreate API from rte_driver to rte_pci_driver Parav Pandit (10): eal: introduce macros for getting value for bit eal: introduce RTE common initialization level common/mlx5: fix e

[dpdk-dev] [PATCH v4 05/10] common/mlx5: use common rte priority

2020-07-03 Thread Parav Pandit
) Information registered by these PMDs is used by mlx5_bus_pci PMD. This mlx5 class PMDs should not confused with rte_class. (d) Register mlx5 PCI bus PMD Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 2 +- drivers/net/mlx5/mlx5.c | 2 +- drivers/vdpa

[dpdk-dev] [PATCH v4 06/10] bus/mlx5_pci: add mlx5 PCI bus

2020-07-03 Thread Parav Pandit
Add mlx5 PCI bus which enables multiple mlx5 drivers to bind to single pci device. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Addressed comments from Thomas and Asaf - Moved pci_driver structure instance as first in driver - Removed white spaces at the end

[dpdk-dev] [PATCH v4 08/10] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver

2020-07-03 Thread Parav Pandit
Enable class driver to match with the mlx5 pci devices. Migrate mlx5 net PMD and vdpa PMD to start using mlx5 common class driver. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Avoid static table v1->v2: - Migreate API from rte_driver to rte_pci_

[dpdk-dev] [PATCH v4 07/10] bus/mlx5_pci: register a PCI driver

2020-07-03 Thread Parav Pandit
Create a mlx5 bus driver framework for invoking drivers of multiple classes who have registered with the mlx5_pci bus driver. Validate user class arguments for supported class combinations. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v3->v4: - Fixed dma_map er

[dpdk-dev] [PATCH v4 10/10] maintainers: add maintainers for mlx5 pci bus

2020-07-03 Thread Parav Pandit
Added maintainers for new mlx5 specific mlx5_pci bus. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- MAINTAINERS | 5 + 1 file changed, 5 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 53a5e9a9e..e3fec55ca 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -517,6 +517,11

[dpdk-dev] [PATCH v4 09/10] common/mlx5: remove class checks from individual driver

2020-07-03 Thread Parav Pandit
Now that mlx5_pci bus does the check for enabled classes and performs probe(), remove() of associated classes, individual class driver doesn't need to check if other driver is enabled. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Removed empty line v1->

Re: [dpdk-dev] [PATCH v4 01/10] eal: introduce macros for getting valuefor bit

2020-07-07 Thread Parav Pandit
> From: Morten Brørup > Sent: Monday, July 6, 2020 4:24 PM > > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Parav Pandit > > Sent: Friday, July 3, 2020 3:47 PM > > > > There are several drivers which duplicate bit generation macro. > > Intr

Re: [dpdk-dev] [PATCH v4 01/10] eal: introduce macros for getting valuefor bit

2020-07-08 Thread Parav Pandit
Hi Morten, > From: Morten Brørup > Sent: Tuesday, July 7, 2020 6:11 PM > Adding Joyce Kong to this discussion as the rte_bitops maintainer. > > > From: Thomas Monjalon [mailto:tho...@monjalon.net] > > Sent: Tuesday, July 7, 2020 2:13 PM > > > > 07/07/

Re: [dpdk-dev] [PATCH v4 01/10] eal: introduce macros for getting valuefor bit

2020-07-09 Thread Parav Pandit
> From: Morten Brørup > Sent: Thursday, July 9, 2020 12:46 PM > > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Parav Pandit > > Sent: Thursday, July 9, 2020 8:24 AM > > > > Hi Morten, > > > > > From: Morten Brørup > > > Sent:

[dpdk-dev] [PATCH v5 4/9] common/mlx5: change mlx5 class enum values as bits

2020-07-09 Thread Parav Pandit
mlx5 PCI Device supports multiple classes of devices such as net, vdpa, and/or regex. To support these multiple classes, change mlx5_class to a bitmap values so that if users asks to enable multiple of them, all supported classes can be parsed. Signed-off-by: Parav Pandit Acked-by: Matan Azrad

[dpdk-dev] [PATCH v5 2/9] eal: introduce RTE common initialization level

2020-07-09 Thread Parav Pandit
which can be used for common initialization and RTE_PRIO_CLASS by mlx5 PMDs for class driver initialization. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - new patch --- lib/librte_eal/include/rte_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/

[dpdk-dev] [PATCH v5 1/9] eal: introduce macros for getting value for bit

2020-07-09 Thread Parav Pandit
There are several drivers which duplicate bit generation macro. Introduce a generic bit macros so that such drivers avoid redefining same in multiple drivers. Signed-off-by: Parav Pandit Acked-by: Matan Azrad Acked-by: Morten Brørup --- Changelog: v4->v5: - Addressed comments from Mor

[dpdk-dev] [PATCH v5 3/9] common/mlx5: fix empty input style in glue wrappers

2020-07-09 Thread Parav Pandit
n't a prototype [-Werror=strict-prototypes] Fix them by adding void data type in empty argument list. Fixes: 34fa7c0268e7 ("net/mlx5: add drop action to Direct Verbs E-Switch") Fixes: 400d985eb586 ("net/mlx5: add VLAN push/pop DR commands to glue") Signed-off-by: Parav

[dpdk-dev] [PATCH v5 0/9] Improve mlx5 PMD driver framework for multiple classes

2020-07-09 Thread Parav Pandit
- Renamed function to parse_class_options - Migreate API from rte_driver to rte_pci_driver Parav Pandit (9): eal: introduce macros for getting value for bit eal: introduce RTE common initialization level common/mlx5: fix empty input style in glue wrappers common/mlx5: change mlx5 class enum values as b

[dpdk-dev] [PATCH v5 9/9] common/mlx5: remove class checks from individual driver

2020-07-09 Thread Parav Pandit
Now that mlx5_pci bus does the check for enabled classes and performs probe(), remove() of associated classes, individual class driver doesn't need to check if other driver is enabled. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Removed empty line v1->

[dpdk-dev] [PATCH v5 5/9] common/mlx5: use common rte priority

2020-07-09 Thread Parav Pandit
) Information registered by these PMDs is used by mlx5_bus_pci PMD. This mlx5 class PMDs should not confused with rte_class. (d) Register mlx5 PCI bus PMD Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 2 +- drivers/net/mlx5/mlx5.c | 2 +- drivers/vdpa

[dpdk-dev] [PATCH v5 7/9] bus/mlx5_pci: register a PCI driver

2020-07-09 Thread Parav Pandit
Create a mlx5 bus driver framework for invoking drivers of multiple classes who have registered with the mlx5_pci bus driver. Validate user class arguments for supported class combinations. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v3->v4: - Fixed dma_map er

[dpdk-dev] [PATCH v5 6/9] bus/mlx5_pci: add mlx5 PCI bus

2020-07-09 Thread Parav Pandit
Add mlx5 PCI bus which enables multiple mlx5 drivers to bind to single pci device. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v4->v5: - Merged maintainers update patch with this patch v2->v3: - Addressed comments from Thomas and Asaf - Moved pci_driver str

[dpdk-dev] [PATCH v5 8/9] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver

2020-07-09 Thread Parav Pandit
Enable class driver to match with the mlx5 pci devices. Migrate mlx5 net PMD and vdpa PMD to start using mlx5 common class driver. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Avoid static table v1->v2: - Migreate API from rte_driver to rte_pci_

[dpdk-dev] [RFC PATCH 1/6] eal: introduce macros for getting value for bit

2020-06-10 Thread Parav Pandit
There are several drivers which duplicate bit generation macro. Introduce a generic bit macros so that such drivers avoid redefining same in multiple drivers. Signed-off-by: Parav Pandit --- lib/librte_eal/include/rte_bits.h | 10 ++ 1 file changed, 10 insertions(+) create mode 100644

[dpdk-dev] [RFC PATCH 6/6] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver

2020-06-10 Thread Parav Pandit
Enable class driver to match with the mlx5 pci devices. Migrate mlx5 net PMD and vdpa PMD to start using mlx5 common class driver. Signed-off-by: Parav Pandit --- drivers/bus/Makefile| 3 ++ drivers/bus/mlx5_pci/mlx5_pci_bus.c | 60 + drivers/net

[dpdk-dev] [RFC PATCH 3/6] common/mlx5: change mlx5 class enum values as bits

2020-06-10 Thread Parav Pandit
mlx5 PCI Device supports multiple classes of devices such as net, vdpa, and/or regex. To support these multiple classes, change mlx5_class to a bitmap values so that if users asks to enable multiple of them, all supported classes can be returned by mlx5_class_supported(). Signed-off-by: Parav

[dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver

2020-06-10 Thread Parav Pandit
Create a mlx5 bus driver framework for invoking drivers of multiple classes who have registered with the mlx5_pci bus driver. Validate user class arguments for supported class combinations. Signed-off-by: Parav Pandit --- drivers/bus/mlx5_pci/Makefile | 1 + drivers/bus/mlx5_pci

[dpdk-dev] [RFC PATCH 0/6] Improve mlx5 PMD common driver framework for multiple classes

2020-06-10 Thread Parav Pandit
s=vdpa In future, ./testpmd -w ,class=net:regex Parav Pandit (6): eal: introduce macros for getting value for bit common/mlx5: use class enable check helper function common/mlx5: change mlx5 class enum values as bits bus/mlx5_pci: add mlx5 PCI bus bus/mlx5_pci: register a PCI driver bu

[dpdk-dev] [RFC PATCH 4/6] bus/mlx5_pci: add mlx5 PCI bus

2020-06-10 Thread Parav Pandit
Add mlx5 PCI bus which enables multiple mlx5 drivers to bind to single pci device. Signed-off-by: Parav Pandit --- config/common_base| 6 ++ config/defconfig_arm64-bluefield-linuxapp-gcc | 6 ++ drivers/bus/meson.build | 2 +- drivers/bus

[dpdk-dev] [RFC PATCH 2/6] common/mlx5: use class enable check helper function

2020-06-10 Thread Parav Pandit
Currently mlx5_class_get() returns enabled single valid class. To support multiple class and to improve readability of code, change it to mlx5_class_enabled(). With this function, each class enablement can be checked, to load class specific driver. Signed-off-by: Parav Pandit --- drivers/common

Re: [dpdk-dev] [RFC PATCH 1/6] eal: introduce macros for getting value for bit

2020-06-18 Thread Parav Pandit
> From: Thomas Monjalon > Sent: Wednesday, June 17, 2020 1:35 PM > > 15/06/2020 21:33, Gaëtan Rivet: > > On 10/06/20 17:17 +, Parav Pandit wrote: > > > There are several drivers which duplicate bit generation macro. > > > Introduce a generic b

Re: [dpdk-dev] [RFC PATCH 3/6] common/mlx5: change mlx5 class enum values as bits

2020-06-18 Thread Parav Pandit
> From: Gaëtan Rivet > Sent: Tuesday, June 16, 2020 1:25 AM > > On 10/06/20 17:17 +, Parav Pandit wrote: > > mlx5 PCI Device supports multiple classes of devices such as net, > > vdpa, and/or regex. > > To support these multiple classes, change mlx5_class to

Re: [dpdk-dev] [RFC PATCH 4/6] bus/mlx5_pci: add mlx5 PCI bus

2020-06-18 Thread Parav Pandit
> From: Thomas Monjalon > Sent: Wednesday, June 17, 2020 1:44 PM > To: Parav Pandit ; Gaëtan Rivet > Cc: dev@dpdk.org; ferruh.yi...@intel.com; Ori Kam ; > Matan Azrad > Subject: Re: [dpdk-dev] [RFC PATCH 4/6] bus/mlx5_pci: add mlx5 PCI bus > > 15/06/2020 23:00, Gaëta

Re: [dpdk-dev] [RFC PATCH 4/6] bus/mlx5_pci: add mlx5 PCI bus

2020-06-18 Thread Parav Pandit
> From: Gaëtan Rivet > Sent: Tuesday, June 16, 2020 2:31 AM > > On 10/06/20 17:17 +, Parav Pandit wrote: > > Add mlx5 PCI bus which enables multiple mlx5 drivers to bind to single > > pci device. > > > > This is a little quick to explain the architect

Re: [dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver

2020-06-18 Thread Parav Pandit
> From: Thomas Monjalon > Sent: Wednesday, June 17, 2020 1:49 PM > To: Parav Pandit ; Gaëtan Rivet > Cc: dev@dpdk.org; ferruh.yi...@intel.com; Ori Kam ; > Matan Azrad > Subject: Re: [dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver > > 15/06/2020 23:46,

Re: [dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver

2020-06-18 Thread Parav Pandit
> From: Gaëtan Rivet > Sent: Tuesday, June 16, 2020 3:17 AM > > On 10/06/20 17:17 +, Parav Pandit wrote: > > Create a mlx5 bus driver framework for invoking drivers of multiple > > classes who have registered with the mlx5_pci bus driver. > > > > Validat

Re: [dpdk-dev] [RFC PATCH 6/6] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver

2020-06-18 Thread Parav Pandit
> From: Gaëtan Rivet > Sent: Tuesday, June 16, 2020 3:26 AM > > On 10/06/20 17:17 +, Parav Pandit wrote: > > Enable class driver to match with the mlx5 pci devices. > > Migrate mlx5 net PMD and vdpa PMD to start using mlx5 common class > > driver. >

Re: [dpdk-dev] [RFC PATCH 1/6] eal: introduce macros for getting value for bit

2020-06-18 Thread Parav Pandit
Hi Thomas, > From: dev On Behalf Of Parav Pandit > Sent: Thursday, June 18, 2020 2:55 PM > > > From: Thomas Monjalon > > Sent: Wednesday, June 17, 2020 1:35 PM > > > > 15/06/2020 21:33, Gaëtan Rivet: > > > On 10/06/20 17:17 +, Parav Pandit wrot

Re: [dpdk-dev] [RFC PATCH 1/6] eal: introduce macros for getting value for bit

2020-06-18 Thread Parav Pandit
> From: Thomas Monjalon > Sent: Thursday, June 18, 2020 5:52 PM > > 18/06/2020 14:16, Parav Pandit: > > From: Parav Pandit > > > From: Thomas Monjalon > > > > 15/06/2020 21:33, Gaëtan Rivet: > > > > > On 10/06/20 17:17 +, Parav Pan

Re: [dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver

2020-06-18 Thread Parav Pandit
> From: Gaëtan Rivet > Sent: Thursday, June 18, 2020 8:05 PM > To: Parav Pandit > Cc: dev@dpdk.org; ferruh.yi...@intel.com; Ori Kam ; > Matan Azrad > Subject: Re: [dpdk-dev] [RFC PATCH 5/6] bus/mlx5_pci: register a PCI driver > > On 18/06/20 10:03 +, Parav Pand

[dpdk-dev] [PATCH v2 1/6] eal: introduce macros for getting value for bit

2020-06-21 Thread Parav Pandit
There are several drivers which duplicate bit generation macro. Introduce a generic bit macros so that such drivers avoid redefining same in multiple drivers. Signed-off-by: Parav Pandit --- Changelog: v1->v2: - Addressed comments from Thomas and Gaten. - Avoided new file, added macro

[dpdk-dev] [PATCH v2 2/6] common/mlx5: change mlx5 class enum values as bits

2020-06-21 Thread Parav Pandit
mlx5 PCI Device supports multiple classes of devices such as net, vdpa, and/or regex. To support these multiple classes, change mlx5_class to a bitmap values so that if users asks to enable multiple of them, all supported classes can be parsed. Signed-off-by: Parav Pandit --- Changelog: v1->

[dpdk-dev] [PATCH v2 0/6] Improve mlx5 PMD common driver framework for multiple classes

2020-06-21 Thread Parav Pandit
d function to parse_class_options - Migreate API from rte_driver to rte_pci_driver Parav Pandit (6): eal: introduce macros for getting value for bit common/mlx5: change mlx5 class enum values as bits bus/mlx5_pci: add mlx5 PCI bus bus/mlx5_pci: register a PCI driver bus/mlx5_pci: enable ne

[dpdk-dev] [PATCH v2 6/6] common/mlx5: Remove class checks from individual driver

2020-06-21 Thread Parav Pandit
Now that mlx5_pci bus does the check for enabled classes and performs probe(), remove() of associated classes, individual class driver doesn't need to check if other driver is enabled. Signed-off-by: Parav Pandit --- Changelog: v1->v2: - New patch --- drivers/common/mlx5/mlx5_

[dpdk-dev] [PATCH v2 4/6] bus/mlx5_pci: register a PCI driver

2020-06-21 Thread Parav Pandit
Create a mlx5 bus driver framework for invoking drivers of multiple classes who have registered with the mlx5_pci bus driver. Validate user class arguments for supported class combinations. Signed-off-by: Parav Pandit --- Changelog: v1->v2: - Address comments from Thomas and Gaetan - Enhan

[dpdk-dev] [PATCH v2 5/6] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver

2020-06-21 Thread Parav Pandit
Enable class driver to match with the mlx5 pci devices. Migrate mlx5 net PMD and vdpa PMD to start using mlx5 common class driver. Signed-off-by: Parav Pandit --- Changelog: v1->v2: - Migreate API from rte_driver to rte_pci_driver --- drivers/bus/Makefile| 3 ++ drivers/

[dpdk-dev] [PATCH v2 3/6] bus/mlx5_pci: add mlx5 PCI bus

2020-06-21 Thread Parav Pandit
Add mlx5 PCI bus which enables multiple mlx5 drivers to bind to single pci device. Signed-off-by: Parav Pandit --- Changelog: v1->v2: - Address comments from Thomas and Gaetan - Inheriting ret_pci_driver instead of rte_driver - Added design and description of the mlx5_pci bus --- con

[dpdk-dev] [PATCH v6 1/9] eal: introduce macros for getting value for bit

2020-07-16 Thread Parav Pandit
There are several drivers which duplicate bit generation macro. Introduce a generic bit macros so that such drivers avoid redefining same in multiple drivers. Signed-off-by: Parav Pandit Acked-by: Matan Azrad Acked-by: Morten Brørup --- Changelog: v4->v5: - Addressed comments from Mor

[dpdk-dev] [PATCH v6 4/9] common/mlx5: change mlx5 class enum values as bits

2020-07-16 Thread Parav Pandit
mlx5 PCI Device supports multiple classes of devices such as net, vdpa, and/or regex. To support these multiple classes, change mlx5_class to a bitmap values so that if users asks to enable multiple of them, all supported classes can be parsed. Signed-off-by: Parav Pandit Acked-by: Matan Azrad

[dpdk-dev] [PATCH v6 0/9] Improve mlx5 PMD driver framework for multiple classes

2020-07-16 Thread Parav Pandit
driver probe if multiple classes register with DMA ops - Renamed function to parse_class_options - Migreate API from rte_driver to rte_pci_driver Parav Pandit (9): eal: introduce macros for getting value for bit eal: introduce RTE common initialization level common/mlx5: fix empty inp

[dpdk-dev] [PATCH v6 2/9] eal: introduce RTE common initialization level

2020-07-16 Thread Parav Pandit
which can be used for common initialization and RTE_PRIO_CLASS by mlx5 PMDs for class driver initialization. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - new patch --- lib/librte_eal/include/rte_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/

[dpdk-dev] [PATCH v6 3/9] common/mlx5: fix empty input style in glue wrappers

2020-07-16 Thread Parav Pandit
n't a prototype [-Werror=strict-prototypes] Fix them by adding void data type in empty argument list. Fixes: 34fa7c0268e7 ("net/mlx5: add drop action to Direct Verbs E-Switch") Fixes: 400d985eb586 ("net/mlx5: add VLAN push/pop DR commands to glue") Signed-off-by: Parav

[dpdk-dev] [PATCH v6 6/9] bus/mlx5_pci: add mlx5 PCI bus

2020-07-16 Thread Parav Pandit
Add mlx5 PCI bus which enables multiple mlx5 drivers to bind to single pci device. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v5->v6: - Updated Makefile for parallel shared build support v4->v5: - Merged maintainers update patch with this patch v2->v3: -

[dpdk-dev] [PATCH v6 7/9] bus/mlx5_pci: register a PCI driver

2020-07-16 Thread Parav Pandit
Create a mlx5 bus driver framework for invoking drivers of multiple classes who have registered with the mlx5_pci bus driver. Validate user class arguments for supported class combinations. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v3->v4: - Fixed dma_map er

[dpdk-dev] [PATCH v6 8/9] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver

2020-07-16 Thread Parav Pandit
Enable class driver to match with the mlx5 pci devices. Migrate mlx5 net PMD and vdpa PMD to start using mlx5 common class driver. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Avoid static table v1->v2: - Migreate API from rte_driver to rte_pci_

[dpdk-dev] [PATCH v6 5/9] common/mlx5: use common rte priority

2020-07-16 Thread Parav Pandit
) Information registered by these PMDs is used by mlx5_bus_pci PMD. This mlx5 class PMDs should not confused with rte_class. (d) Register mlx5 PCI bus PMD Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 2 +- drivers/net/mlx5/mlx5.c | 2 +- drivers/vdpa

[dpdk-dev] [PATCH v6 9/9] common/mlx5: remove class checks from individual driver

2020-07-16 Thread Parav Pandit
Now that mlx5_pci bus does the check for enabled classes and performs probe(), remove() of associated classes, individual class driver does not need to check if other driver is enabled. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Removed empty line v1->v2:

[dpdk-dev] [PATCH v7 2/9] eal: introduce RTE common initialization level

2020-07-17 Thread Parav Pandit
which can be used for common initialization and RTE_PRIO_CLASS by mlx5 PMDs for class driver initialization. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - new patch --- lib/librte_eal/include/rte_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/

[dpdk-dev] [PATCH v7 1/9] eal: introduce macros for getting value for bit

2020-07-17 Thread Parav Pandit
There are several drivers which duplicate bit generation macro. Introduce a generic bit macros so that such drivers avoid redefining same in multiple drivers. Signed-off-by: Parav Pandit Acked-by: Matan Azrad Acked-by: Morten Brørup --- Changelog: v4->v5: - Addressed comments from Mor

[dpdk-dev] [PATCH v7 0/9] Improve mlx5 PMD driver framework for multiple classes

2020-07-17 Thread Parav Pandit
er probe if multiple classes register with DMA ops - Renamed function to parse_class_options - Migreate API from rte_driver to rte_pci_driver Parav Pandit (9): eal: introduce macros for getting value for bit eal: introduce RTE common initialization level common/mlx5: fix empty input sty

[dpdk-dev] [PATCH v7 4/9] common/mlx5: change mlx5 class enum values as bits

2020-07-17 Thread Parav Pandit
mlx5 PCI Device supports multiple classes of devices such as net, vdpa, and/or regex. To support these multiple classes, change mlx5_class to a bitmap values so that if users asks to enable multiple of them, all supported classes can be parsed. Signed-off-by: Parav Pandit Acked-by: Matan Azrad

[dpdk-dev] [PATCH v7 6/9] bus/mlx5_pci: add mlx5 PCI bus

2020-07-17 Thread Parav Pandit
Add mlx5 PCI bus which enables multiple mlx5 drivers to bind to single pci device. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v6->v7: - Updated release notes v5->v6: - Updated Makefile for parallel shared build support v4->v5: - Merged maintainers update patch

[dpdk-dev] [PATCH v7 5/9] common/mlx5: use common rte priority

2020-07-17 Thread Parav Pandit
) Information registered by these PMDs is used by mlx5_bus_pci PMD. This mlx5 class PMDs should not confused with rte_class. (d) Register mlx5 PCI bus PMD Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 2 +- drivers/net/mlx5/mlx5.c | 2 +- drivers/vdpa

[dpdk-dev] [PATCH v7 3/9] common/mlx5: fix empty input style in glue wrappers

2020-07-17 Thread Parav Pandit
n't a prototype [-Werror=strict-prototypes] Fix them by adding void data type in empty argument list. Fixes: 34fa7c0268e7 ("net/mlx5: add drop action to Direct Verbs E-Switch") Fixes: 400d985eb586 ("net/mlx5: add VLAN push/pop DR commands to glue") Signed-off-by: Parav

[dpdk-dev] [PATCH v7 7/9] bus/mlx5_pci: register a PCI driver

2020-07-17 Thread Parav Pandit
Create a mlx5 bus driver framework for invoking drivers of multiple classes who have registered with the mlx5_pci bus driver. Validate user class arguments for supported class combinations. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v3->v4: - Fixed dma_map er

[dpdk-dev] [PATCH v7 9/9] common/mlx5: remove class checks from individual driver

2020-07-17 Thread Parav Pandit
Now that mlx5_pci bus does the check for enabled classes and performs probe(), remove() of associated classes, individual class driver does not need to check if other driver is enabled. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Removed empty line v1->v2:

[dpdk-dev] [PATCH v7 8/9] bus/mlx5_pci: enable net and vDPA to use mlx5 PCI bus driver

2020-07-17 Thread Parav Pandit
Enable class driver to match with the mlx5 pci devices. Migrate mlx5 net PMD and vdpa PMD to start using mlx5 common class driver. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v2->v3: - Avoid static table v1->v2: - Migreate API from rte_driver to rte_pci_

Re: [dpdk-dev] [PATCH v7 2/9] eal: introduce RTE common initialization level

2020-07-21 Thread Parav Pandit
Hi David, On 7/21/2020 3:04 PM, David Marchand wrote: > On Mon, Jul 20, 2020 at 9:30 PM Ori Kam wrote: >>> net and vdpa code expect the common code being initialised. >>> It is a dependency internal to mlx5 drivers, I see nothing generic. >>> >> First the idea was to declare a new bus not a PMD.

Re: [dpdk-dev] [PATCH v7 2/9] eal: introduce RTE common initialization level

2020-07-21 Thread Parav Pandit
> From: David Marchand > Sent: Tuesday, July 21, 2020 4:59 PM > > On Tue, Jul 21, 2020 at 1:19 PM Parav Pandit wrote: > > > This way, net/mlx5 and vdpa/mlx5 will pass their id_map to the mlx5 > > > pci driver whether it is registered to the pci bus or not yet.

Re: [dpdk-dev] [PATCH v7 2/9] eal: introduce RTE common initialization level

2020-07-21 Thread Parav Pandit
> From: Thomas Monjalon > Sent: Tuesday, July 21, 2020 5:57 PM > > 21/07/2020 14:13, Parav Pandit: > > From: David Marchand > > > On Tue, Jul 21, 2020 at 1:19 PM Parav Pandit > wrote: > > > > > This way, net/mlx5 and vdpa/mlx5 will pass their id

[dpdk-dev] [PATCH v8 01/10] eal: introduce macro for bit definition

2020-07-23 Thread Parav Pandit
There are several drivers which duplicate bit generation macro. Introduce a generic bit macros so that such drivers avoid redefining same in multiple drivers. Signed-off-by: Parav Pandit Acked-by: Matan Azrad Acked-by: Morten Brørup --- lib/librte_eal/include/rte_bitops.h | 8 1 file

[dpdk-dev] [PATCH v8 02/10] drivers: fix indent of directory list

2020-07-23 Thread Parav Pandit
From: Thomas Monjalon Define each sub-directory on its own line ended with a comma, and use a simple indent. Signed-off-by: Thomas Monjalon --- drivers/meson.build | 24 +--- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/drivers/meson.build b/drivers/meson

[dpdk-dev] [PATCH v8 00/10] Improve mlx5 PMD driver framework for multiple classes

2020-07-23 Thread Parav Pandit
parse_class_options - Migreate API from rte_driver to rte_pci_driver Parav Pandit (7): eal: introduce macro for bit definition common/mlx5: fix void parameters in glue wrappers regex/mlx5: fix segmentation fault during error unwinding common/mlx5: avoid using class constructor priority c

[dpdk-dev] [PATCH v8 03/10] drivers: relax dependency order

2020-07-23 Thread Parav Pandit
From: Thomas Monjalon Drivers dependencies are evaluated in the order defined per their parent directory (also called class). This strict ordering prevent from having 2 different drivers of the same class with different dependencies ordering. This problem occurs if drivers/common/mlx5 depends on

[dpdk-dev] [PATCH v8 04/10] common/mlx5: fix void parameters in glue wrappers

2020-07-23 Thread Parav Pandit
n't a prototype [-Werror=strict-prototypes] Fix them by adding void data type in empty argument list. Fixes: 34fa7c0268e7 ("net/mlx5: add drop action to Direct Verbs E-Switch") Fixes: 400d985eb586 ("net/mlx5: add VLAN push/pop DR commands to glue") Signed-off-by: Parav

[dpdk-dev] [PATCH v8 08/10] common/mlx5: introduce layer to support multiple class drivers

2020-07-23 Thread Parav Pandit
From: Thomas Monjalon Add generic mlx5 PCI PMD layer as part of existing common_mlx5 module. This enables multiple classes (net, regex, vdpa) PMDs to be supported at same time. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- drivers/Makefile | 10

[dpdk-dev] [PATCH v8 07/10] common/mlx5: change class values as bits

2020-07-23 Thread Parav Pandit
mlx5 PCI Device supports multiple classes of devices such as net, vdpa, and/or regex. To support these multiple classes, change mlx5_class to a bitmap values so that if users asks to enable multiple of them, all supported classes can be parsed. Signed-off-by: Parav Pandit Acked-by: Matan Azrad

[dpdk-dev] [PATCH v8 06/10] common/mlx5: avoid using class constructor priority

2020-07-23 Thread Parav Pandit
mlx5_common is shared library between mlx5 net, VDPA and regex PMD. It is better to use common initialization helper instead of using RTE_INIT_CLASS priority. Signed-off-by: Parav Pandit --- drivers/common/mlx5/mlx5_common.c | 13 +++-- drivers/common/mlx5/mlx5_common.h

[dpdk-dev] [PATCH v8 05/10] regex/mlx5: fix segmentation fault during error unwinding

2020-07-23 Thread Parav Pandit
When fail to initialize the device, avoid segmentation fault while accessing unintialized priv. Fixes: cfc672a90b74 ("regex/mlx5: support probing") Signed-off-by: Parav Pandit --- drivers/regex/mlx5/mlx5_regex.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git

[dpdk-dev] [PATCH v8 10/10] common/mlx5: remove class check from class drivers

2020-07-23 Thread Parav Pandit
Now that mlx5_pci PMD checks for enabled classes and performs probe(), remove() of associated classes, individual class driver does not need to check if other driver is enabled. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- drivers/common/mlx5/mlx5_common.c | 37

[dpdk-dev] [PATCH v8 09/10] common/mlx5: register class drivers through common layer

2020-07-23 Thread Parav Pandit
Migrate mlx5 net, vdpa and regex PMD to start using mlx5 common class driver. Signed-off-by: Parav Pandit Acked-by: Matan Azrad --- Changelog: v7->v8: - Extended support for newly added mlx5 regex driver --- drivers/common/mlx5/mlx5_common_pci.c | 6 ++ drivers/net/mlx5/Makef

Re: [dpdk-dev] [PATCH v8 06/10] common/mlx5: avoid using class constructor priority

2020-07-24 Thread Parav Pandit
> From: David Marchand > Sent: Friday, July 24, 2020 7:15 PM > To: Parav Pandit > Cc: dev ; Gaetan Rivet ; Yigit, Ferruh > ; Thomas Monjalon ; > Raslan Darawsheh ; Ori Kam > ; Matan Azrad ; Joyce Kong > > Subject: Re: [dpdk-dev] [PATCH v8 06/10] common/mlx5: avoi

Re: [dpdk-dev] [PATCH v8 03/10] drivers: relax dependency order

2020-07-24 Thread Parav Pandit
Hi Bruce, > From: Bruce Richardson > Sent: Friday, July 24, 2020 4:37 PM > > On Thu, Jul 23, 2020 at 11:09:03PM +0300, Parav Pandit wrote: > > From: Thomas Monjalon > > > > Drivers dependencies are evaluated in the order defined per their > > parent dir

  1   2   >