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

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

2025-01-24 Thread WanRenyong
On 2025/1/24 0:09, Stephen Hemminger wrote: > On Thu, 23 Jan 2025 13:48:25 +0800 > "WanRenyong" wrote: > >> On 2025/1/22 21:39, Thomas Monjalon wrote: >>>> +Yunsilicon xsc >>>> +M: WanRenyong >>>> +M: Na Na >>>> +M: Ron

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

2025-01-23 Thread WanRenyong
On 2025/1/23 15:59, Thomas Monjalon wrote: > 23/01/2025 06:48, WanRenyong: >> On 2025/1/22 21:39, Thomas Monjalon wrote: >>>> +Yunsilicon xsc >>>> +M: WanRenyong >>>> +M: Na Na >>>> +M: Rong Qian >>>> +M: Xiaoxiong Zhang &g

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

2025-01-22 Thread WanRenyong
On 2025/1/22 21:39, Thomas Monjalon wrote: >> +Yunsilicon xsc >> +M: WanRenyong >> +M: Na Na >> +M: Rong Qian >> +M: Xiaoxiong Zhang >> +M: Dongwei Xu > Looking at how the names are codified in email addresses, > I feel "Renyong Wan&quo

Re: [PATCH v6 06/15] net/xsc: initialize xsc representors

2025-01-20 Thread WanRenyong
On 2025/1/21 3:06, Stephen Hemminger wrote: > On Mon, 20 Jan 2025 19:14:44 +0800 > "WanRenyong" wrote: > >> +static int >> +xsc_ethdev_init_representors(struct rte_eth_dev *eth_dev) >> +{ >> +struct xsc_ethdev_priv *priv = TO_XSC_ETHDEV_PRIV(eth_

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

2025-01-20 Thread WanRenyong
On 2025/1/21 2:24, Stephen Hemminger wrote: > On Mon, 20 Jan 2025 19:14:42 +0800 > "WanRenyong" wrote: > >> +int >> +xsc_dev_create_ipat(struct xsc_dev *xdev, uint16_t logic_in_port, uint16_t >> dst_info) >> +{ >> +struct xsc_np_

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

2025-01-20 Thread WanRenyong
On 2025/1/21 2:16, Stephen Hemminger wrote: > On Mon, 20 Jan 2025 19:14:48 +0800 > "WanRenyong" wrote: > >> +struct __rte_packed_begin xsc_send_wqe_ctrl_seg { >> +rte_le32_t msg_opcode:8; >> +rte_le32_t with_immdt:1; >> +rt

Re: [PATCH v6 03/15] net/xsc: add xsc mailbox

2025-01-20 Thread WanRenyong
On 2025/1/21 2:19, Stephen Hemminger wrote: > On Mon, 20 Jan 2025 19:14:37 +0800 > "WanRenyong" wrote: > >> +static struct xsc_cmdq_req_msg * >> +xsc_cmdq_req_msg_alloc(struct xsc_dev *xdev, int len) >> +{ >> +struct xsc_cmdq_req_msg *msg

Re: [PATCH v6 03/15] net/xsc: add xsc mailbox

2025-01-20 Thread WanRenyong
On 2025/1/21 2:18, Stephen Hemminger wrote: > On Mon, 20 Jan 2025 19:14:37 +0800 > "WanRenyong" wrote: > >> +static void >> +xsc_cmdq_mbox_free(struct xsc_dev *xdev, struct xsc_cmdq_mbox *mbox) >> +{ >> +struct xsc_cmdq_mbox *next, *head; &

[PATCH] devtool: fix falsely reporting from checkpatch

2025-01-20 Thread WanRenyong
fixes this issue by only counting the lines in the patch file that start with a + and include either __rte_packed_begin or __rte_packed_end. Signed-off-by: WanRenyong --- devtools/checkpatches.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devtools/checkpatches.sh b

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

2025-01-20 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 v6 14/15] net/xsc: add ethdev infos get

2025-01-20 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 63c64ce547..5d548adb2d 100644 --- a

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

2025-01-20 Thread WanRenyong
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 net/xsc: add PCT interfaces net/xsc

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

2025-01-20 Thread WanRenyong
Implement xsc ethdev basic statatics ops. Signed-off-by: WanRenyong --- v6: * Remove unnecessary paren. * Add the feature of stats per queue in xsc.ini. --- doc/guides/nics/features/xsc.ini | 2 + drivers/net/xsc/xsc_ethdev.c | 75 2 files changed, 77

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

2025-01-20 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 v6 12/15] net/xsc: add ethdev Tx burst

2025-01-20 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 v6 11/15] net/xsc: add ethdev Rx burst

2025-01-20 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 v6 09/15] net/xsc: add ethdev start

2025-01-20 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 v6 08/15] net/xsc: add Rx and Tx queue setup

2025-01-20 Thread WanRenyong
Implement xsc ethdev Rx and Tx queue setup functions. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- v6: * Replace __rte_packed with __rte_packed_begin and __rte_packed_end. --- drivers/net/xsc/xsc_defs.h | 4 ++ drivers/net/xsc/xsc_ethdev.c | 83

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

2025-01-20 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 --- v6: * Replace __rte_packed with __rte_packed_begin and __rte_packed_end. --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_defs.h | 29

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

2025-01-20 Thread WanRenyong
Implement xsc ethdev configure and RSS hash functions. Signed-off-by: WanRenyong --- v6: * Use memcpy instead of rte_memcpy. 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

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

2025-01-20 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 v6 04/15] net/xsc: add xsc dev ops to support VFIO driver

2025-01-20 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 --- v6: * Replace __rte_packed with __rte_packed_begin and __rte_packed_end. v5: * Using RTE_ETHER_ADDR_LEN instead of

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

2025-01-20 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 v6 03/15] net/xsc: add xsc mailbox

2025-01-20 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 v6 01/15] net/xsc: add xsc PMD framework

2025-01-20 Thread WanRenyong
Add xsc PMD framework, doc and build infrastructure, supporting PCI probe. Signed-off-by: WanRenyong --- v6: * Delete the included header file net/if.h. * Rebase from the main branch and merge release notes. --- .mailmap | 5 ++ MAINTAINERS

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

2025-01-18 Thread WanRenyong
On 2025/1/18 2:49, Stephen Hemminger wrote: > On Tue, 07 Jan 2025 10:49:40 +0800 > "WanRenyong" wrote: > >> diff --git a/doc/guides/rel_notes/release_25_03.rst >> b/doc/guides/rel_notes/release_25_03.rst >> index 426dfcd982..6f766add72 100644 >> -

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

2025-01-16 Thread WanRenyong
On 2025/1/17 2:18, Stephen Hemminger wrote: > On Tue, 07 Jan 2025 10:49:40 +0800 > "WanRenyong" wrote: > >> diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c >> new file mode 100644 >> index 00..a7dca46127 >> --- /dev

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

2025-01-16 Thread WanRenyong
On 2025/1/17 2:19, Stephen Hemminger wrote: > On Tue, 07 Jan 2025 10:49:55 +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 v5 13/15] net/xsc: add basic stats ops

2025-01-16 Thread WanRenyong
On 2025/1/17 1:58, Stephen Hemminger wrote: >   On Tue, 07 Jan 2025 10:50:09 +0800 > "WanRenyong"  wrote: > > >     Implement xsc ethdev basic statatics ops. > > > Signed-off-by: WanRenyong > --- >  doc/guides/nics/features/xsc.ini |  1 +

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

2025-01-16 Thread WanRenyong
On 2025/1/17 1:58, Stephen Hemminger wrote: > On Tue, 07 Jan 2025 10:50:09 +0800 > "WanRenyong" wrote: > >> Implement xsc ethdev basic statatics ops. >> >> Signed-off-by: WanRenyong >> --- >> doc/guides/nics/features/xsc.ini

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

2025-01-14 Thread WanRenyong
rmation or clarification that I need to provide to facilitate the review process? Thank you very much for your time and consideration. Best regards, WanRenyong On 2025/1/7 10:50, WanRenyong wrote: > This xsc PMD (**librte_net_xsc**) provides poll mode driver for > Yunsilicon metaScale serials NI

[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

[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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

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 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 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 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 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 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 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: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 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

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

2025-01-03 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 v4 00/15] XSC PMD for Yunsilicon NICs

2025-01-03 Thread WanRenyong
the xsc PMD to eliminate the dependency on rdma core library and proprietary kernel driver, 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

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

2025-01-03 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 e44792e374..f4c127d7d4 100644 --- a

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

2025-01-03 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 v4 11/15] net/xsc: add ethdev Rx burst

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

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

2025-01-03 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

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

2025-01-03 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 v4 09/15] net/xsc: add ethdev start

2025-01-03 Thread WanRenyong
Implement xsc ethdev start function. Signed-off-by: WanRenyong Signed-off-by: Rong Qian --- 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 | 174 + drivers/net/xsc

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

2025-01-03 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 v4 08/15] net/xsc: add Rx and Tx queue setup

2025-01-03 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 v4 07/15] net/xsc: add ethdev configure and RSS ops

2025-01-03 Thread WanRenyong
Implement xsc ethdev configure and RSS hash functions. Signed-off-by: WanRenyong --- doc/guides/nics/features/xsc.ini | 3 + drivers/net/xsc/xsc_defs.h | 15 + drivers/net/xsc/xsc_dev.c| 26 drivers/net/xsc/xsc_dev.h| 1 + drivers/net/xsc/xsc_ethdev.c

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

2025-01-03 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 v4 04/15] net/xsc: add xsc dev ops to support VFIO driver

2025-01-03 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 --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_defs.h | 8 + drivers/net/xsc/xsc_dev.h | 32 ++ drivers

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

2025-01-03 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 v4 01/15] net/xsc: add xsc PMD framework

2025-01-03 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 v4 02/15] net/xsc: add xsc device initialization

2025-01-03 Thread WanRenyong
XSC device is a hardware abstract level device serving as a handle to interact with hardware. Signed-off-by: WanRenyong --- drivers/net/xsc/meson.build | 1 + drivers/net/xsc/xsc_defs.h | 16 drivers/net/xsc/xsc_dev.c| 181 +++ drivers/net/xsc

Yunsilicon Roadmap for 25.03

2025-01-02 Thread WanRenyong
.  BTW: if I continue to upstream the new version, should the version number continue from the last or start 0? Thanks, WanRenyong

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-

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 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

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 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

[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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

[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 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

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 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: >>> >>>>> >>>>>> +}; &

  1   2   >