[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241218105023.2237645-1-tianx@yunsilicon.com>
Date: Wed, 18 Dec 2024 18:51:01 +0800
From: "Xin Tian" <tianx@...silicon.com>
To: <netdev@...r.kernel.org>
Cc: <andrew+netdev@...n.ch>, <kuba@...nel.org>, <pabeni@...hat.com>,
<edumazet@...gle.com>, <davem@...emloft.net>,
<jeff.johnson@....qualcomm.com>, <przemyslaw.kitszel@...el.com>,
<weihg@...silicon.com>, <wanry@...silicon.com>
Subject: [PATCH v1 00/16] net-next/yunsilicon: ADD Yunsilicon XSC Ethernet Driver
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.
Changes v0->v1:
1. name xsc_core_device as xdev instead of dev
2. modify Signed-off-by tag to Co-developed-by
3. remove some obvious comments
4. remove unnecessary zero-init and NULL-init
5. modify bad-named goto labels
6. reordered variable declarations according to the RCT rule
- Przemek Kitszel comments
7. add MODULE_DESCRIPTION()
- Jeff Johnson comments
8. remove unnecessary dev_info logs
9. replace these magic numbers with #defines in xsc_eth_common.h
10. move code to right place
11. delete unlikely() used in probe
12. remove unnecessary reboot callbacks
- Andrew Lunn comments
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 | 94 +
.../ethernet/yunsilicon/xsc/common/xsc_cmd.h | 2513 +++++++++++++++++
.../ethernet/yunsilicon/xsc/common/xsc_cmdq.h | 218 ++
.../ethernet/yunsilicon/xsc/common/xsc_core.h | 647 +++++
.../yunsilicon/xsc/common/xsc_device.h | 77 +
.../yunsilicon/xsc/common/xsc_driver.h | 25 +
.../ethernet/yunsilicon/xsc/common/xsc_pp.h | 38 +
.../net/ethernet/yunsilicon/xsc/net/Kconfig | 16 +
.../net/ethernet/yunsilicon/xsc/net/Makefile | 9 +
.../net/ethernet/yunsilicon/xsc/net/main.c | 2180 ++++++++++++++
.../net/ethernet/yunsilicon/xsc/net/xsc_eth.h | 58 +
.../yunsilicon/xsc/net/xsc_eth_common.h | 239 ++
.../ethernet/yunsilicon/xsc/net/xsc_eth_rx.c | 608 ++++
.../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 ++
.../net/ethernet/yunsilicon/xsc/net/xsc_pph.h | 176 ++
.../ethernet/yunsilicon/xsc/net/xsc_queue.h | 230 ++
.../net/ethernet/yunsilicon/xsc/pci/Kconfig | 16 +
.../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 | 2000 +++++++++++++
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 | 345 +++
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 | 426 +++
.../net/ethernet/yunsilicon/xsc/pci/pci_irq.c | 427 +++
.../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, 12723 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/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_pph.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