Yunsilicon Roadmap for 24.11

2024-09-06 Thread WanRenyong
Yunsilicon products, please see: https://www.yunsilicon.com/#/productInformation Thanks, WanRenyong

[PATCH 00/19] XSC PMD for Yunsilicon NICs

2024-09-06 Thread WanRenyong
: - - metaScale-200S Single QSFP56 Port 200GE SmartNIC - metaScale-200Quad QSFP28 Ports 100GE SmartNIC - metaScale-50 Dual QSFP28 Port 25GE SmartNIC - metaScale-100Q Quad QSFP28 Port 25GE SmartNIC - WanRenyong (19): net/xsc: add doc and minimum build framework net

[PATCH 02/19] net/xsc: add log macro

2024-09-06 Thread WanRenyong
Add log macro to print runtime messages and trace functions. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 11 + drivers/net/xsc/xsc_log.h| 44 2 files changed, 55 insertions(+) create mode 100644 drivers/net/xsc/xsc_log.h diff

[PATCH 01/19] net/xsc: add doc and minimum build framework

2024-09-06 Thread WanRenyong
Add minimum PMD code, doc and build infrastructure for xsc. Signed-off-by: WanRenyong --- .mailmap | 4 MAINTAINERS | 9 + doc/guides/nics/features/xsc.ini | 9 + doc/guides/nics/index.rst| 1 + doc/guides/nics

[PATCH 04/19] net/xsc: add xsc device init and uninit

2024-09-06 Thread WanRenyong
XSC device is a concept of low level device used to manage hardware resource and to interact with firmware. Signed-off-by: WanRenyong --- drivers/net/xsc/meson.build | 20 + drivers/net/xsc/xsc_defs.h | 23 + drivers/net/xsc/xsc_dev.c| 162

[PATCH 05/19] net/xsc: add ioctl command interface

2024-09-06 Thread WanRenyong
-by: WanRenyong --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_ctrl.c | 56 drivers/net/xsc/xsc_ctrl.h | 86 + 3 files changed, 143 insertions(+) create mode 100644 drivers/net/xsc/xsc_ctrl.c create mode 100644 drivers

[PATCH 06/19] net/xsc: initialize hardware information

2024-09-06 Thread WanRenyong
Getting hardware information is done by ioctl command, which contains the information of xsc device, as well as the common information of the NIC board. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_dev.c | 63 +++ drivers/net/xsc/xsc_dev.h | 32

[PATCH 03/19] net/xsc: add PCI device probe and remove

2024-09-06 Thread WanRenyong
Support the following Yunsilicon NICs to be probed: - metaScale-200 - metaScale-200S - metaScale-50 - metaScale-100Q Signed-off-by: WanRenyong Signed-off-by: Na Na --- drivers/net/xsc/xsc_defs.h | 12 ++ drivers/net/xsc/xsc_ethdev.c | 74 drivers/net

[PATCH 09/19] net/xsc: initial representor eth device

2024-09-06 Thread WanRenyong
Initialize xsc eth device private data. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_defs.h | 2 +- drivers/net/xsc/xsc_dev.h| 3 + drivers/net/xsc/xsc_ethdev.c | 64 + drivers/net/xsc/xsc_ethdev.h | 30 ++ drivers/net/xsc/xsc_utils.c | 105

[PATCH 10/19] net/xsc: add ethdev configure and rxtx queue setup ops

2024-09-06 Thread WanRenyong
Implement xsc ethdev configure, Rx and Tx queue setup functions. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 171 +++ drivers/net/xsc/xsc_ethdev.h | 6 ++ drivers/net/xsc/xsc_rxtx.h | 115 +++ 3 files changed, 292

[PATCH 08/19] net/xsc: create eth devices for representor ports

2024-09-06 Thread WanRenyong
Each representor port is a rte ethernet device. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 87 drivers/net/xsc/xsc_ethdev.h | 1 + 2 files changed, 88 insertions(+) diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c

[PATCH 07/19] net/xsc: add representor ports probe

2024-09-06 Thread WanRenyong
XSC representor port is designed to store representor resources. In addition to common representor ports, xsc device is a special representor port. Signed-off-by: WanRenyong Signed-off-by: Na Na --- drivers/net/xsc/xsc_defs.h | 24 +++ drivers/net/xsc/xsc_dev.c | 103

[PATCH 11/19] net/xsc: add mailbox and structure

2024-09-06 Thread WanRenyong
Mailbox is a communication channel between driver and firmware. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ctrl.c | 8 drivers/net/xsc/xsc_ctrl.h | 31 +++ 2 files changed, 39 insertions(+) diff --git a/drivers/net/xsc/xsc_ctrl.c b/drivers/net/xsc

[PATCH 14/19] net/xsc: add ethdev Rx burst

2024-09-06 Thread WanRenyong
Implement xsc PMD receive function. Signed-off-by: WanRenyong Signed-off-by: Xiaoxiong Zhang --- drivers/net/xsc/xsc_rxtx.c | 189 - drivers/net/xsc/xsc_rxtx.h | 9 ++ 2 files changed, 197 insertions(+), 1 deletion(-) diff --git a/drivers/net/xsc

[PATCH 13/19] net/xsc: add ethdev start and stop ops

2024-09-06 Thread WanRenyong
Implement xsc ethdev start and stop function. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_ctrl.h | 152 ++- drivers/net/xsc/xsc_defs.h | 2 + drivers/net/xsc/xsc_dev.h| 3 + drivers/net/xsc/xsc_ethdev.c | 740

[PATCH 15/19] net/xsc: add ethdev Tx burst

2024-09-06 Thread WanRenyong
Implement xsc PMD transmit function. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- doc/guides/nics/features/xsc.ini | 4 + drivers/net/xsc/xsc_rxtx.c | 231 ++- drivers/net/xsc/xsc_rxtx.h | 9 ++ 3 files changed, 242 insertions(+), 2

[PATCH 12/19] net/xsc: add ethdev RSS hash ops

2024-09-06 Thread WanRenyong
Implement xsc ethdev RSS hash config get and update functions. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 3 +++ drivers/net/xsc/xsc_ctrl.h | 27 drivers/net/xsc/xsc_ethdev.c | 43 +++- drivers/net/xsc

[PATCH 17/19] net/xsc: add dev link and MTU ops

2024-09-06 Thread WanRenyong
XSC PMD does not support update link right now, in order to start device successfully link_update function always return 0. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 1 + drivers/net/xsc/xsc_ethdev.c | 50 drivers/net/xsc/xsc_utils.c

[PATCH 18/19] net/xsc: add dev infos get

2024-09-06 Thread WanRenyong
Implement xsc ethdev information get function. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 60 1 file changed, 60 insertions(+) diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c index 54b7e79145..0c8a620d03 100644

[PATCH 19/19] net/xsc: add dev basic stats ops

2024-09-06 Thread WanRenyong
Implement xsc ethdev basic stats get and reset functions. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 1 + drivers/net/xsc/xsc_ethdev.c | 76 drivers/net/xsc/xsc_rxtx.c | 11 - drivers/net/xsc/xsc_rxtx.h | 15 +++ 4

[PATCH 16/19] net/xsc: configure xsc device hardware table

2024-09-06 Thread WanRenyong
Configure hardware table to enable transmission and reception of the queues. Signed-off-by: WanRenyong Signed-off-by: Xiaoxiong Zhang --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_ctrl.h | 22 + drivers/net/xsc/xsc_ethdev.c | 39 drivers/net/xsc/xsc_flow.c

[PATCH v2 00/19] XSC PMD for Yunsilicon NICs

2024-09-10 Thread WanRenyong
: - - metaScale-200S Single QSFP56 Port 200GE SmartNIC - metaScale-200Quad QSFP28 Ports 100GE SmartNIC - metaScale-50 Dual QSFP28 Port 25GE SmartNIC - metaScale-100Q Quad QSFP28 Port 25GE SmartNIC --- WanRenyong (19): net/xsc: add doc and minimum build framework net/xsc

[PATCH v2 02/19] net/xsc: add log macro

2024-09-10 Thread WanRenyong
Add log macro to print runtime messages and trace functions. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 11 + drivers/net/xsc/xsc_log.h| 44 2 files changed, 55 insertions(+) create mode 100644 drivers/net/xsc/xsc_log.h diff

[PATCH v2 01/19] net/xsc: add doc and minimum build framework

2024-09-10 Thread WanRenyong
Add minimum PMD code, doc and build infrastructure for xsc. Signed-off-by: WanRenyong --- v2: * fix compilation error --- .mailmap | 4 MAINTAINERS | 9 + doc/guides/nics/features/xsc.ini | 9 + doc/guides/nics/index.rst

[PATCH v2 05/19] net/xsc: add ioctl command interface

2024-09-10 Thread WanRenyong
-by: WanRenyong --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_ctrl.c | 56 drivers/net/xsc/xsc_ctrl.h | 86 + 3 files changed, 143 insertions(+) create mode 100644 drivers/net/xsc/xsc_ctrl.c create mode 100644 drivers

[PATCH v2 04/19] net/xsc: add xsc device init and uninit

2024-09-10 Thread WanRenyong
XSC device is a concept of low level device used to manage hardware resource and to interact with firmware. Signed-off-by: WanRenyong --- v2: * fix compilation error caused by missing dependency --- drivers/net/xsc/meson.build | 20 + drivers/net/xsc/xsc_defs.h | 23 + drivers

[PATCH v2 03/19] net/xsc: add PCI device probe and remove

2024-09-10 Thread WanRenyong
Support the following Yunsilicon NICs to be probed: - metaScale-200 - metaScale-200S - metaScale-50 - metaScale-100Q Signed-off-by: WanRenyong Signed-off-by: Na Na --- drivers/net/xsc/xsc_defs.h | 12 ++ drivers/net/xsc/xsc_ethdev.c | 74 drivers/net

[PATCH v2 06/19] net/xsc: initialize hardware information

2024-09-10 Thread WanRenyong
Getting hardware information is done by ioctl command, which contains the information of xsc device, as well as the common information of the NIC board. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_dev.c | 63 +++ drivers/net/xsc/xsc_dev.h | 32

[PATCH v2 10/19] net/xsc: add ethdev configure and rxtx queue setup ops

2024-09-10 Thread WanRenyong
Implement xsc ethdev configure, Rx and Tx queue setup functions. Signed-off-by: WanRenyong --- v2: * fix compilation warning --- drivers/net/xsc/xsc_ethdev.c | 171 +++ drivers/net/xsc/xsc_ethdev.h | 6 ++ drivers/net/xsc/xsc_rxtx.h | 115

[PATCH v2 07/19] net/xsc: add representor ports probe

2024-09-10 Thread WanRenyong
XSC representor port is designed to store representor resources. In addition to common representor ports, xsc device is a special representor port. Signed-off-by: WanRenyong Signed-off-by: Na Na --- drivers/net/xsc/xsc_defs.h | 24 +++ drivers/net/xsc/xsc_dev.c | 103

[PATCH v2 08/19] net/xsc: create eth devices for representor ports

2024-09-10 Thread WanRenyong
Each representor port is a rte ethernet device. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 87 drivers/net/xsc/xsc_ethdev.h | 1 + 2 files changed, 88 insertions(+) diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c

[PATCH v2 09/19] net/xsc: initial representor eth device

2024-09-10 Thread WanRenyong
Initialize xsc eth device private data. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_defs.h | 2 +- drivers/net/xsc/xsc_dev.h| 3 + drivers/net/xsc/xsc_ethdev.c | 64 + drivers/net/xsc/xsc_ethdev.h | 30 ++ drivers/net/xsc/xsc_utils.c | 105

[PATCH v2 13/19] net/xsc: add ethdev start and stop ops

2024-09-10 Thread WanRenyong
Implement xsc ethdev start and stop function. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_ctrl.h | 152 ++- drivers/net/xsc/xsc_defs.h | 2 + drivers/net/xsc/xsc_dev.h| 3 + drivers/net/xsc/xsc_ethdev.c | 740

[PATCH v2 11/19] net/xsc: add mailbox and structure

2024-09-10 Thread WanRenyong
Mailbox is a communication channel between driver and firmware. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ctrl.c | 8 drivers/net/xsc/xsc_ctrl.h | 31 +++ 2 files changed, 39 insertions(+) diff --git a/drivers/net/xsc/xsc_ctrl.c b/drivers/net/xsc

[PATCH v2 14/19] net/xsc: add ethdev Rx burst

2024-09-10 Thread WanRenyong
Implement xsc PMD receive function. Signed-off-by: WanRenyong Signed-off-by: Xiaoxiong Zhang --- drivers/net/xsc/xsc_rxtx.c | 189 - drivers/net/xsc/xsc_rxtx.h | 9 ++ 2 files changed, 197 insertions(+), 1 deletion(-) diff --git a/drivers/net/xsc

[PATCH v2 12/19] net/xsc: add ethdev RSS hash ops

2024-09-10 Thread WanRenyong
Implement xsc ethdev RSS hash config get and update functions. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 3 +++ drivers/net/xsc/xsc_ctrl.h | 27 drivers/net/xsc/xsc_ethdev.c | 43 +++- drivers/net/xsc

[PATCH v2 18/19] net/xsc: add dev infos get

2024-09-10 Thread WanRenyong
Implement xsc ethdev information get function. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 60 1 file changed, 60 insertions(+) diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c index bc5e827d70..ba3c215112 100644

[PATCH v2 15/19] net/xsc: add ethdev Tx burst

2024-09-10 Thread WanRenyong
Implement xsc PMD transmit function. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- doc/guides/nics/features/xsc.ini | 4 + drivers/net/xsc/xsc_rxtx.c | 231 ++- drivers/net/xsc/xsc_rxtx.h | 9 ++ 3 files changed, 242 insertions(+), 2

[PATCH v2 19/19] net/xsc: add dev basic stats ops

2024-09-10 Thread WanRenyong
Implement xsc ethdev basic stats get and reset functions. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 1 + drivers/net/xsc/xsc_ethdev.c | 76 drivers/net/xsc/xsc_rxtx.c | 11 - drivers/net/xsc/xsc_rxtx.h | 15 +++ 4

[PATCH v2 17/19] net/xsc: add dev link and MTU ops

2024-09-10 Thread WanRenyong
XSC PMD does not support update link right now, in order to start device successfully link_update function always return 0. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 1 + drivers/net/xsc/xsc_ethdev.c | 50 drivers/net/xsc/xsc_utils.c

[PATCH v2 16/19] net/xsc: configure xsc device hardware table

2024-09-10 Thread WanRenyong
Configure hardware table to enable transmission and reception of the queues. Signed-off-by: WanRenyong Signed-off-by: Xiaoxiong Zhang --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_ctrl.h | 22 + drivers/net/xsc/xsc_ethdev.c | 39 drivers/net/xsc/xsc_flow.c

Re: [PATCH v2 00/19] XSC PMD for Yunsilicon NICs

2024-09-11 Thread WanRenyong
On 2024/9/11 16:51, Ferruh Yigit wrote: > Hi WanRenyong, > > Thanks for upstreaming the driver, > I did not had a chance to check in detail yet, but when sending next > version can you please send patch series as threaded, with following > git-send-email arguments: > `--threa

Re: [PATCH v2 02/19] net/xsc: add log macro

2024-09-11 Thread WanRenyong
On 2024/9/11 15:40, David Marchand wrote: > On Wed, Sep 11, 2024 at 4:08 AM WanRenyong wrote: >> Add log macro to print runtime messages and trace functions. >> >> Signed-off-by: WanRenyong >> --- >> drivers/net/xsc/xsc_ethdev.c | 11 + >&

Re: [PATCH v2 04/19] net/xsc: add xsc device init and uninit

2024-09-11 Thread WanRenyong
On 2024/9/11 11:47, Stephen Hemminger wrote: > On Wed, 11 Sep 2024 10:07:25 +0800 > "WanRenyong" wrote: > >> + >> +sprintf(path, "%s/device/uevent", dev_path); > better to use snprintf for safety OK,  will fix it in next version. >> +

Re: [PATCH v2 05/19] net/xsc: add ioctl command interface

2024-09-11 Thread WanRenyong
On 2024/9/11 11:48, Stephen Hemminger wrote: > On Wed, 11 Sep 2024 10:07:26 +0800 > "WanRenyong" wrote: > >> +hdr = rte_zmalloc(NULL, alloc_len, RTE_CACHE_LINE_SIZE); >> +if (hdr == NULL) { >> +PMD_DRV_LOG(ERR, "Failed to allocate xsc

Re: [PATCH v2 05/19] net/xsc: add ioctl command interface

2024-09-11 Thread WanRenyong
On 2024/9/11 11:49, Stephen Hemminger wrote: > On Wed, 11 Sep 2024 10:07:26 +0800 > "WanRenyong" wrote: > >> +if (data_in != NULL && in_len > 0) >> +rte_memcpy(hdr + 1, data_in, in_len); >> + >> +ret = ioctl(dev->ctrl_

Re: [PATCH v2 05/19] net/xsc: add ioctl command interface

2024-09-11 Thread WanRenyong
On 2024/9/11 11:50, Stephen Hemminger wrote: > On Wed, 11 Sep 2024 10:07:26 +0800 > "WanRenyong" wrote: > >> +#define XSC_IOCTL_CHECK_FIELD 0x01234567 >> + >> +#define XSC_IOCTL_MAGIC 0x1b >> +#define XSC_IOCTL_CMDQ \ >> +_IOWR(XSC_

Re: [PATCH v2 05/19] net/xsc: add ioctl command interface

2024-09-12 Thread WanRenyong
On 2024/9/12 13:50, Stephen Hemminger wrote: > On Thu, 12 Sep 2024 12:14:08 +0800 > "WanRenyong" wrote: > >>> >>>> +}; >>>> + >>> Does this device driver depend on some upstr >> Yes, it depends on linux kernel driver of the

Re: [PATCH v2 05/19] net/xsc: add ioctl command interface

2024-09-12 Thread WanRenyong
On 2024/9/12 17:18, fengchengwen wrote: > On 2024/9/12 16:19, WanRenyong wrote: >> On 2024/9/12 13:50, Stephen Hemminger wrote: >>> On Thu, 12 Sep 2024 12:14:08 +0800 >>> "WanRenyong" wrote: >>> >>>>> >>>>>> +}; &

Re: [PATCH v3] doc: add new driver guidelines

2024-09-12 Thread WanRenyong
These guildelines are very useful for begineers like me :). I have some questions above, could you please explain them? Thank you. -- Thanks, WanRenyong

Re: [PATCH v3 19/19] net/xsc: add dev basic stats ops

2024-09-21 Thread WanRenyong
On 2024/9/20 3:04, Stephen Hemminger wrote: > On Wed, 18 Sep 2024 14:09:36 +0800 > "WanRenyong" wrote: > >> >> +static int >> +xsc_ethdev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) >> +{ >> +struct xsc_ethdev_priv

Re: [PATCH v3 19/19] net/xsc: add dev basic stats ops

2024-09-21 Thread WanRenyong
On 2024/9/20 3:05, Stephen Hemminger wrote: > On Wed, 18 Sep 2024 14:09:36 +0800 > "WanRenyong" wrote: > >> @@ -166,6 +169,7 @@ xsc_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, >> uint16_t pkts_n) >> /* Fill wqe */ >> wqe-

[PATCH v3 10/19] net/xsc: add ethdev configure and rxtx queue setup ops

2024-09-17 Thread WanRenyong
Implement xsc ethdev configure, Rx and Tx queue setup functions. Signed-off-by: WanRenyong --- v3: * use variable length array (VLA) instead of zero length array (ZLA) v2: * fix compilation warning --- drivers/net/xsc/xsc_ethdev.c | 171 +++ drivers/net/xsc

[PATCH v3 02/19] net/xsc: add log macro

2024-09-17 Thread WanRenyong
Add log macro to print runtime messages and trace functions. Signed-off-by: WanRenyong --- v3: * use RTE_LOG_LINE_PREFIX instead of rte_log --- drivers/net/xsc/xsc_ethdev.c | 11 + drivers/net/xsc/xsc_log.h| 46 2 files changed, 57 insertions

Re: [PATCH v3 02/19] net/xsc: add log macro

2024-09-18 Thread WanRenyong
On 2024/9/18 16:56, David Marchand wrote: > On Wed, Sep 18, 2024 at 8:10 AM WanRenyong wrote: >> Add log macro to print runtime messages and trace functions. >> >> Signed-off-by: WanRenyong >> >> --- >> >> v3: >> * use RTE_LOG_LINE_PR

[PATCH v3 09/19] net/xsc: initial representor eth device

2024-09-17 Thread WanRenyong
Initialize xsc eth device private data. Signed-off-by: WanRenyong --- v3: * change the first letter of the log to uppercase --- drivers/net/xsc/xsc_defs.h | 2 +- drivers/net/xsc/xsc_dev.h| 3 + drivers/net/xsc/xsc_ethdev.c | 64 + drivers/net/xsc/xsc_ethdev.h

[PATCH v3 11/19] net/xsc: add mailbox and structure

2024-09-17 Thread WanRenyong
Mailbox is a communication channel between driver and firmware. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ctrl.c | 8 drivers/net/xsc/xsc_ctrl.h | 31 +++ 2 files changed, 39 insertions(+) diff --git a/drivers/net/xsc/xsc_ctrl.c b/drivers/net/xsc

[PATCH v3 08/19] net/xsc: create eth devices for representor ports

2024-09-17 Thread WanRenyong
Each representor port is a rte ethernet device. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 87 drivers/net/xsc/xsc_ethdev.h | 1 + 2 files changed, 88 insertions(+) diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c

[PATCH v3 15/19] net/xsc: add ethdev Tx burst

2024-09-17 Thread WanRenyong
Implement xsc PMD transmit function. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- doc/guides/nics/features/xsc.ini | 4 + drivers/net/xsc/xsc_rxtx.c | 231 ++- drivers/net/xsc/xsc_rxtx.h | 9 ++ 3 files changed, 242 insertions(+), 2

[PATCH v3 12/19] net/xsc: add ethdev RSS hash ops

2024-09-17 Thread WanRenyong
Implement xsc ethdev RSS hash config get and update functions. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 3 +++ drivers/net/xsc/xsc_ctrl.h | 27 drivers/net/xsc/xsc_ethdev.c | 43 +++- drivers/net/xsc

[PATCH v3 16/19] net/xsc: configure xsc device hardware table

2024-09-17 Thread WanRenyong
Configure hardware table to enable transmission and reception of the queues. Signed-off-by: WanRenyong Signed-off-by: Xiaoxiong Zhang --- v3: * remove the \n symbol in the log * change the first letter of the log to uppercase --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc

[PATCH v3 13/19] net/xsc: add ethdev start and stop ops

2024-09-17 Thread WanRenyong
Implement xsc ethdev start and stop function. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- v3: * remove the \n symbol in the log * change the first letter of the log to uppercase * use malloc instead of rte_zmalloc --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_ctrl.h

[PATCH v3 14/19] net/xsc: add ethdev Rx burst

2024-09-17 Thread WanRenyong
Implement xsc PMD receive function. Signed-off-by: WanRenyong Signed-off-by: Xiaoxiong Zhang --- drivers/net/xsc/xsc_rxtx.c | 189 - drivers/net/xsc/xsc_rxtx.h | 9 ++ 2 files changed, 197 insertions(+), 1 deletion(-) diff --git a/drivers/net/xsc

[PATCH v3 17/19] net/xsc: add dev link and MTU ops

2024-09-17 Thread WanRenyong
XSC PMD does not support update link right now, in order to start device successfully link_update function always return 0. Signed-off-by: WanRenyong --- v3: * change the first letter of the log to uppercase --- doc/guides/nics/features/xsc.ini | 1 + drivers/net/xsc/xsc_ethdev.c | 50

[PATCH v3 19/19] net/xsc: add dev basic stats ops

2024-09-17 Thread WanRenyong
Implement xsc ethdev basic stats get and reset functions. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 1 + drivers/net/xsc/xsc_ethdev.c | 76 drivers/net/xsc/xsc_rxtx.c | 11 - drivers/net/xsc/xsc_rxtx.h | 15 +++ 4

[PATCH v3 18/19] net/xsc: add dev infos get

2024-09-17 Thread WanRenyong
Implement xsc ethdev information get function. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 60 1 file changed, 60 insertions(+) diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c index 369eba3d63..4407c1295b 100644

[PATCH v3 01/19] net/xsc: add doc and minimum build framework

2024-09-17 Thread WanRenyong
Add minimum PMD code, doc and build infrastructure for xsc. Signed-off-by: WanRenyong --- v2: * fix compilation error --- .mailmap | 4 MAINTAINERS | 9 + doc/guides/nics/features/xsc.ini | 9 + doc/guides/nics/index.rst

[PATCH v3 00/19] XSC PMD for Yunsilicon NICs

2024-09-17 Thread WanRenyong
--- WanRenyong (19): net/xsc: add doc and minimum build framework net/xsc: add log macro net/xsc: add PCI device probe and remove net/xsc: add xsc device init and uninit net/xsc: add ioctl command interface net/xsc: initialize hardware information net/xsc: add representor ports probe

[PATCH v3 04/19] net/xsc: add xsc device init and uninit

2024-09-17 Thread WanRenyong
XSC device is a concept of low level device used to manage hardware resource and to interact with firmware. Signed-off-by: WanRenyong --- v3: * use snprintf instead of sprintf for safety * use getline instead of fgets to handle arbitrary length * change the xsc_dev_args_parse function name to

[PATCH v3 05/19] net/xsc: add ioctl command interface

2024-09-17 Thread WanRenyong
-by: WanRenyong --- v3: * use malloc instead of rte_zmalloc * use memcpy instead of rte_memcpy * use variable length array (VLA) instead of zero length array (ZLA) --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_ctrl.c | 57 drivers/net/xsc/xsc_ctrl.h | 86

[PATCH v3 06/19] net/xsc: initialize hardware information

2024-09-17 Thread WanRenyong
Getting hardware information is done by ioctl command, which contains the information of xsc device, as well as the common information of the NIC board. Signed-off-by: WanRenyong --- v3: * change the xsc_hwinfo_init function name to newline --- drivers/net/xsc/xsc_dev.c | 64

[PATCH v3 03/19] net/xsc: add PCI device probe and remove

2024-09-17 Thread WanRenyong
Support the following Yunsilicon NICs to be probed: - metaScale-200 - metaScale-200S - metaScale-50 - metaScale-100Q Signed-off-by: WanRenyong Signed-off-by: Na Na --- drivers/net/xsc/xsc_defs.h | 12 ++ drivers/net/xsc/xsc_ethdev.c | 74 drivers/net

Re: [PATCH v3 03/19] net/xsc: add PCI device probe and remove

2024-09-18 Thread WanRenyong
On 2024/9/18 15:28, David Marchand wrote: > On Wed, Sep 18, 2024 at 8:10 AM WanRenyong wrote: >> +static const struct rte_pci_id xsc_ethdev_pci_id_map[] = { >> + { RTE_PCI_DEVICE(XSC_PCI_VENDOR_ID, XSC_PCI_DEV_ID_MS) }, > You need to null terminate this array w

[PATCH v3 07/19] net/xsc: add representor ports probe

2024-09-17 Thread WanRenyong
XSC representor port is designed to store representor resources. In addition to common representor ports, xsc device is a special representor port. Signed-off-by: WanRenyong Signed-off-by: Na Na --- drivers/net/xsc/xsc_defs.h | 24 +++ drivers/net/xsc/xsc_dev.c | 103

[PATCH v5 02/15] net/xsc: add xsc device initialization

2025-01-06 Thread WanRenyong
XSC device is a hardware abstract level device serving as a handle to interact with hardware. Signed-off-by: WanRenyong --- v5: * Fix coding style issue with misspelling * Rearrange the elements in struct xsc_hwinfo to reduce holes --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc

[PATCH v5 03/15] net/xsc: add xsc mailbox

2025-01-06 Thread WanRenyong
XSC mailbox is a mechanism used for interaction between PMD and firmware. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_cmd.h | 387 ++ drivers/net/xsc/xsc_defs.h | 2 + drivers/net/xsc

[PATCH v5 01/15] net/xsc: add xsc PMD framework

2025-01-06 Thread WanRenyong
Add xsc PMD framework, doc and build infrastructure, supporting PCI probe. Signed-off-by: WanRenyong --- .mailmap | 5 ++ MAINTAINERS| 10 +++ doc/guides/nics/features/xsc.ini | 9 +++ doc/guides/nics/index.rst | 1

[PATCH v5 04/15] net/xsc: add xsc dev ops to support VFIO driver

2025-01-06 Thread WanRenyong
XSC PMD is designed to support both VFIO and private kernel drivers. This commit add xsc dev ops to support VFIO driver. Signed-off-by: WanRenyong Signed-off-by: Na Na --- v5 * Using RTE_ETHER_ADDR_LEN instead of numeral 6. * Initialize some local variables while be defined. * Fix compilation

[PATCH v5 05/15] net/xsc: add PCT interfaces

2025-01-06 Thread WanRenyong
PCT is the abbreviation of Packet classifier table, which is built in NP to define behavior of various packets. Signed-off-by: WanRenyong --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_defs.h | 29 +++ drivers/net/xsc/xsc_dev.c | 19 +- drivers/net/xsc/xsc_dev.h | 3

[PATCH v5 06/15] net/xsc: initialize xsc representors

2025-01-06 Thread WanRenyong
For the design of the xsc PMD, each ethdev corresponds to a representor. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_defs.h | 11 +++ drivers/net/xsc/xsc_dev.c| 95 drivers/net/xsc/xsc_dev.h| 3 + drivers/net/xsc/xsc_ethdev.c | 170

[PATCH v5 09/15] net/xsc: add ethdev start

2025-01-06 Thread WanRenyong
Implement xsc ethdev start function. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- v5: * Remove unnecessary call of rte_wmb. --- drivers/net/xsc/meson.build | 2 + drivers/net/xsc/xsc_dev.c| 33 drivers/net/xsc/xsc_dev.h| 8 + drivers/net/xsc/xsc_ethdev.c | 172

[PATCH v5 10/15] net/xsc: add ethdev stop and close

2025-01-06 Thread WanRenyong
Implement xsc ethdev close and stop functions. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_dev.c| 12 drivers/net/xsc/xsc_dev.h| 2 + drivers/net/xsc/xsc_ethdev.c | 108 +++ drivers/net/xsc/xsc_rx.c | 47 +++ drivers/net/xsc

[PATCH v5 08/15] net/xsc: add Rx and Tx queue setup

2025-01-06 Thread WanRenyong
Implement xsc ethdev Rx and Tx queue setup functions. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- drivers/net/xsc/xsc_defs.h | 4 ++ drivers/net/xsc/xsc_ethdev.c | 83 drivers/net/xsc/xsc_rx.h | 59 + drivers/net

[PATCH v5 07/15] net/xsc: add ethdev configure and RSS ops

2025-01-06 Thread WanRenyong
Implement xsc ethdev configure and RSS hash functions. Signed-off-by: WanRenyong --- v5: * Remove some unnecessary parameter checks. --- doc/guides/nics/features/xsc.ini | 3 ++ drivers/net/xsc/xsc_defs.h | 15 ++ drivers/net/xsc/xsc_dev.c| 26 ++ drivers/net/xsc

[PATCH v5 11/15] net/xsc: add ethdev Rx burst

2025-01-06 Thread WanRenyong
Implement xsc ethdev Rx burst function. Signed-off-by: WanRenyong Signed-off-by: Xiaoxiong Zhang --- drivers/net/xsc/xsc_ethdev.c | 3 + drivers/net/xsc/xsc_rx.c | 174 +++ drivers/net/xsc/xsc_rx.h | 1 + drivers/net/xsc/xsc_rxtx.h | 13 +++ 4

[PATCH v5 14/15] net/xsc: add ethdev infos get

2025-01-06 Thread WanRenyong
Implement xsc ethdev information get ops. Signed-off-by: WanRenyong --- drivers/net/xsc/xsc_ethdev.c | 61 1 file changed, 61 insertions(+) diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c index 000e27222d..584890aa6f 100644 --- a

[PATCH v5 12/15] net/xsc: add ethdev Tx burst

2025-01-06 Thread WanRenyong
Implement xsc ethdev Tx burst function. Signed-off-by: WanRenyong Signed-off-by: Dongwei Xu --- doc/guides/nics/features/xsc.ini | 4 + drivers/net/xsc/xsc_ethdev.c | 1 + drivers/net/xsc/xsc_tx.c | 228 +++ drivers/net/xsc/xsc_tx.h | 1

[PATCH v5 00/15] XSC PMD for Yunsilicon NICs

2025-01-06 Thread WanRenyong
, while adding support for the vfio kernel driver. v3: * fix compilation errors v2: * fix checkpatch warnings and errors --- WanRenyong (15): net/xsc: add xsc PMD framework net/xsc: add xsc device initialization net/xsc: add xsc mailbox net/xsc: add xsc dev ops to support VFIO driver

[PATCH v5 15/15] net/xsc: add ethdev link and MTU ops

2025-01-06 Thread WanRenyong
Implement xsc ethdev link and MTU ops. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 1 + drivers/net/xsc/xsc_dev.c| 33 ++ drivers/net/xsc/xsc_dev.h| 4 +++ drivers/net/xsc/xsc_ethdev.c | 60 4 files

[PATCH v5 13/15] net/xsc: add basic stats ops

2025-01-06 Thread WanRenyong
Implement xsc ethdev basic statatics ops. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 1 + drivers/net/xsc/xsc_ethdev.c | 75 2 files changed, 76 insertions(+) diff --git a/doc/guides/nics/features/xsc.ini b/doc/guides/nics/features

Re: [PATCH v4 01/15] net/xsc: add xsc PMD framework

2025-01-05 Thread WanRenyong
On 2025/1/4 3:00, Stephen Hemminger wrote: > On Fri, 03 Jan 2025 23:04:06 +0800 > "WanRenyong" wrote: > >> +XSC Poll Mode Driver >> +== >> + >> +The xsc PMD (**librte_net_xsc**) provides poll mode driver support for >> +10/25/50

Re: [PATCH v4 04/15] net/xsc: add xsc dev ops to support VFIO driver

2025-01-05 Thread WanRenyong
On 2025/1/4 3:02, Stephen Hemminger wrote: > On Fri, 03 Jan 2025 23:04:13 +0800 > "WanRenyong" wrote: > >> +static int >> +xsc_vfio_destroy_qp(void *qp) >> +{ >> +int ret; >> +int in_len, out_len, cmd_len; >> +

Re: [PATCH v4 04/15] net/xsc: add xsc dev ops to support VFIO driver

2025-01-05 Thread WanRenyong
On 2025/1/4 3:04, Stephen Hemminger wrote: > On Fri, 03 Jan 2025 23:04:13 +0800 > "WanRenyong" wrote: > >> +static int >> +xsc_vfio_set_mtu(struct xsc_dev *xdev, uint16_t mtu) >> +{ >> +struct xsc_cmd_set_mtu_mbox_in in; >> +str

Re: [PATCH v4 04/15] net/xsc: add xsc dev ops to support VFIO driver

2025-01-05 Thread WanRenyong
On 2025/1/4 3:06, Stephen Hemminger wrote: > On Fri, 03 Jan 2025 23:04:13 +0800 > "WanRenyong" wrote: > >> +static int >> +xsc_vfio_get_mac(struct xsc_dev *xdev, uint8_t *mac) >> +{ >> +struct xsc_cmd_query_eth_mac_mbox_in in; >> +struct xs

Re: [PATCH v4 07/15] net/xsc: add ethdev configure and RSS ops

2025-01-05 Thread WanRenyong
On 2025/1/4 3:14, Stephen Hemminger wrote: > On Fri, 03 Jan 2025 23:04:19 +0800 > "WanRenyong" wrote: > >> +static int >> +xsc_ethdev_rss_hash_conf_get(struct rte_eth_dev *dev, >> + struct rte_eth_rss_conf *rss_conf) >&

Re: [PATCH v4 14/15] net/xsc: add ethdev infos get

2025-01-05 Thread WanRenyong
On 2025/1/4 3:22, Stephen Hemminger wrote: > On Fri, 03 Jan 2025 23:04:35 +0800 > "WanRenyong" wrote: > >> + >> +static int >> +xsc_ethdev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info) >> +{ >> +struct xsc_ethdev_priv *

Re: [PATCH v4 09/15] net/xsc: add ethdev start

2025-01-05 Thread WanRenyong
On 2025/1/4 3:17, Stephen Hemminger wrote: > On Fri, 03 Jan 2025 23:04:23 +0800 > "WanRenyong" wrote: > >> +static int >> +xsc_ethdev_start(struct rte_eth_dev *dev) >> +{ >> +int ret; >> +struct xsc_ethdev_priv *priv = TO_XSC_ETHDEV

Re: [PATCH v4 02/15] net/xsc: add xsc device initialization

2025-01-05 Thread WanRenyong
On 2025/1/4 2:58, Stephen Hemminger wrote: > On Fri, 03 Jan 2025 23:04:08 +0800 > "WanRenyong" wrote: > >> +struct xsc_hwinfo { >> +uint8_t valid; /* 1: current phy info is valid, 0 : invalid */ >> +uint32_t pcie_no; /* pcie number , 0 or 1 */ >&g

Re: [PATCH 00/19] XSC PMD for Yunsilicon NICs

2025-01-05 Thread WanRenyong
On 2025/1/5 3:12, Stephen Hemminger wrote: > On Fri, 6 Sep 2024 20:13:46 +0800 > "WanRenyong" wrote: > >> This xsc PMD (**librte_net_xsc**) provides poll mode driver for Yunsilicon >> metaScale >> serials NICs. >> >> Features: >> --

Re: [PATCH v7 00/15] XSC PMD for Yunsilicon NICs

2025-01-29 Thread WanRenyong
gt;> v7: >> * Remove the packed attributes of sub structures and unions. >> * Remove the cast of xdev->dev_priv. >> * Remove the cast of malloc return value. >> * Define the size of xdev->name to PCI_PRI_STR_SIZE. >> * Change the name of Wanrenyong to Reny

  1   2   >