[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20241209071101.3392590-1-tianx@yunsilicon.com>
Date: Mon, 9 Dec 2024 15:10:45 +0800
From: "Tian Xin" <tianx@...silicon.com>
To: <netdev@...r.kernel.org>, <davem@...emloft.net>
Cc: <weihg@...silicon.com>, <tianx@...silicon.com>
Subject: [PATCH 00/16] net-next/yunsilicon: ADD Yunsilicon XSC Ethernet Driver
From: Xin Tian <tianx@...silicon.com>
The patch series adds the xsc driver, which will support the Yuncilicon
MS/MC/MV series of network devices.
The Yunsilicon MS/MC/MV series network cards provide support for both
Ethernet and RDMA functionalities.
This submission is the first phase, which includes the PF-based Ethernet
transmit and receive functionality. Once this is merged, we will submit
additional patches to implement support for other features, such as SR-IOV,
ethtool support, and a new RDMA driver.
Xin Tian (16):
net-next/yunsilicon: Add yunsilicon xsc driver basic framework
net-next/yunsilicon: Enable CMDQ
net-next/yunsilicon: Add hardware setup APIs
net-next/yunsilicon: Add qp and cq management
net-next/yunsilicon: Add eq and alloc
net-next/yunsilicon: Add pci irq
net-next/yunsilicon: Device and interface management
net-next/yunsilicon: Add ethernet interface
net-next/yunsilicon: Init net device
net-next/yunsilicon: Add eth needed qp and cq apis
net-next/yunsilicon: ndo_open and ndo_stop
net-next/yunsilicon: Add ndo_start_xmit
net-next/yunsilicon: Add eth rx
net-next/yunsilicon: add ndo_get_stats64
net-next/yunsilicon: Add ndo_set_mac_address
net-next/yunsilicon: Add change mtu
drivers/net/ethernet/Kconfig | 1 +
drivers/net/ethernet/Makefile | 1 +
drivers/net/ethernet/yunsilicon/Kconfig | 26 +
drivers/net/ethernet/yunsilicon/Makefile | 8 +
.../yunsilicon/xsc/common/xsc_auto_hw.h | 97 +
.../ethernet/yunsilicon/xsc/common/xsc_cmd.h | 2513 +++++++++++++++++
.../ethernet/yunsilicon/xsc/common/xsc_cmdq.h | 218 ++
.../ethernet/yunsilicon/xsc/common/xsc_core.h | 659 +++++
.../yunsilicon/xsc/common/xsc_device.h | 77 +
.../yunsilicon/xsc/common/xsc_driver.h | 25 +
.../ethernet/yunsilicon/xsc/common/xsc_pp.h | 38 +
.../ethernet/yunsilicon/xsc/common/xsc_pph.h | 176 ++
.../net/ethernet/yunsilicon/xsc/net/Kconfig | 16 +
.../net/ethernet/yunsilicon/xsc/net/Makefile | 9 +
.../net/ethernet/yunsilicon/xsc/net/main.c | 2195 ++++++++++++++
.../net/ethernet/yunsilicon/xsc/net/xsc_eth.h | 58 +
.../yunsilicon/xsc/net/xsc_eth_common.h | 237 ++
.../ethernet/yunsilicon/xsc/net/xsc_eth_rx.c | 651 +++++
.../yunsilicon/xsc/net/xsc_eth_stats.c | 42 +
.../yunsilicon/xsc/net/xsc_eth_stats.h | 33 +
.../ethernet/yunsilicon/xsc/net/xsc_eth_tx.c | 310 ++
.../yunsilicon/xsc/net/xsc_eth_txrx.c | 185 ++
.../yunsilicon/xsc/net/xsc_eth_txrx.h | 90 +
.../ethernet/yunsilicon/xsc/net/xsc_eth_wq.c | 109 +
.../ethernet/yunsilicon/xsc/net/xsc_eth_wq.h | 207 ++
.../ethernet/yunsilicon/xsc/net/xsc_queue.h | 230 ++
.../net/ethernet/yunsilicon/xsc/pci/Kconfig | 17 +
.../net/ethernet/yunsilicon/xsc/pci/Makefile | 10 +
.../net/ethernet/yunsilicon/xsc/pci/alloc.c | 225 ++
.../net/ethernet/yunsilicon/xsc/pci/alloc.h | 15 +
.../net/ethernet/yunsilicon/xsc/pci/cmdq.c | 2162 ++++++++++++++
drivers/net/ethernet/yunsilicon/xsc/pci/cq.c | 151 +
drivers/net/ethernet/yunsilicon/xsc/pci/cq.h | 14 +
drivers/net/ethernet/yunsilicon/xsc/pci/eq.c | 356 +++
drivers/net/ethernet/yunsilicon/xsc/pci/eq.h | 46 +
drivers/net/ethernet/yunsilicon/xsc/pci/hw.c | 269 ++
drivers/net/ethernet/yunsilicon/xsc/pci/hw.h | 18 +
.../net/ethernet/yunsilicon/xsc/pci/intf.c | 279 ++
.../net/ethernet/yunsilicon/xsc/pci/intf.h | 22 +
.../net/ethernet/yunsilicon/xsc/pci/main.c | 432 +++
.../net/ethernet/yunsilicon/xsc/pci/pci_irq.c | 429 +++
.../net/ethernet/yunsilicon/xsc/pci/pci_irq.h | 14 +
drivers/net/ethernet/yunsilicon/xsc/pci/qp.c | 189 ++
drivers/net/ethernet/yunsilicon/xsc/pci/qp.h | 15 +
.../net/ethernet/yunsilicon/xsc/pci/vport.c | 102 +
45 files changed, 12976 insertions(+)
create mode 100644 drivers/net/ethernet/yunsilicon/Kconfig
create mode 100644 drivers/net/ethernet/yunsilicon/Makefile
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/common/xsc_auto_hw.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmd.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/common/xsc_cmdq.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/common/xsc_device.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/common/xsc_driver.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/common/xsc_pp.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/common/xsc_pph.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/Kconfig
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/Makefile
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/main.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_common.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_rx.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_stats.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_stats.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_tx.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_txrx.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_txrx.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_wq.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_wq.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/net/xsc_queue.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/Kconfig
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/Makefile
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/alloc.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/alloc.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/cmdq.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/cq.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/cq.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/eq.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/eq.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/hw.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/hw.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/intf.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/intf.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/main.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/pci_irq.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/pci_irq.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/qp.c
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/qp.h
create mode 100644 drivers/net/ethernet/yunsilicon/xsc/pci/vport.c
--
2.43.0
Powered by blists - more mailing lists