Yunsilicon products, please see:
https://www.yunsilicon.com/#/productInformation
Thanks,
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
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
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
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
-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
:
-
- 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
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
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
-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 +
>&
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.
>> +
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
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_
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_
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
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:
>>>
>>>>>
>>>>>> +};
&
These guildelines are very useful for begineers like me :). I have some
questions above, could you please explain them? Thank you.
--
Thanks,
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
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-
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
---
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
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
-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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
, 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
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
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
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
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;
>> +
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
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
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)
>&
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 *
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
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
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:
>> --
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 - 100 of 148 matches
Mail list logo