All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yanling Song <songyl@ramaxel.com>
To: <dev@dpdk.org>
Cc: <songyl@ramaxel.com>, <yanling.song@linux.dev>,
	<yanggan@ramaxel.com>, <xuyun@ramaxel.com>,
	<ferruh.yigit@intel.com>
Subject: [PATCH v2 00/25] Net/SPNIC: support SPNIC into DPDK 22.03
Date: Thu, 23 Dec 2021 16:23:43 +0800	[thread overview]
Message-ID: <cover.1640242368.git.songyl@ramaxel.com> (raw)

The patchsets introduce SPNIC driver for Ramaxel's SPNxx serial NIC cards into DPDK 22.03.
Ramaxel Memory Technology is a company which supply a lot of electric products: 
storage, communication, PCB...
SPNxxx is a serial PCIE interface NIC cards:
SPN110: 2 PORTs *25G
SPN120: 4 PORTs *25G
SPN130: 2 PORTs *100G

The following is main features of our SPNIC:
- TSO
- LRO
- Flow control
- SR-IOV(Partially supported)
- VLAN offload
- VLAN filter
- CRC offload
- Promiscuous mode
- RSS

v1->v2:
1. Fix coding style issues and compiling failures;
2. Only support linux in meson.build;
3. Use CLOCK_MONOTONIC_COARSE instead of CLOCK_MONOTONIC/CLOCK_MONOTONIC_RAW;
4. Fix time_before();
5. Remove redundant checks in spnic_dev_configure();

Yanling Song (25):
  drivers/net: introduce a new PMD driver
  net/spnic: initialize the HW interface
  net/spnic: add mbox message channel
  net/spnic: introduce event queue
  net/spnic: add mgmt module
  net/spnic: add cmdq and work queue
  net/spnic: add interface handling cmdq message
  net/spnic: add hardware info initialization
  net/spnic: support MAC and link event handling
  net/spnic: add function info initialization
  net/spnic: add queue pairs context initialization
  net/spnic: support mbuf handling of Tx/Rx
  net/spnic: support Rx congfiguration
  net/spnic: add port/vport enable
  net/spnic: support IO packets handling
  net/spnic: add device configure/version/info
  net/spnic: support RSS configuration update and get
  net/spnic: support VLAN filtering and offloading
  net/spnic: support promiscuous and allmulticast Rx modes
  net/spnic: support flow control
  net/spnic: support getting Tx/Rx queues info
  net/spnic: net/spnic: support xstats statistics
  net/spnic: support VFIO interrupt
  net/spnic: support Tx/Rx queue start/stop
  net/spnic: add doc infrastructure

 MAINTAINERS                              |    6 +
 doc/guides/nics/features/spnic.ini       |   40 +
 doc/guides/nics/spnic.rst                |   61 +
 drivers/net/meson.build                  |    1 +
 drivers/net/spnic/base/meson.build       |   37 +
 drivers/net/spnic/base/spnic_cmd.h       |  222 ++
 drivers/net/spnic/base/spnic_cmdq.c      |  875 ++++++
 drivers/net/spnic/base/spnic_cmdq.h      |  248 ++
 drivers/net/spnic/base/spnic_compat.h    |  190 ++
 drivers/net/spnic/base/spnic_csr.h       |  104 +
 drivers/net/spnic/base/spnic_eqs.c       |  661 +++++
 drivers/net/spnic/base/spnic_eqs.h       |  102 +
 drivers/net/spnic/base/spnic_hw_cfg.c    |  212 ++
 drivers/net/spnic/base/spnic_hw_cfg.h    |  125 +
 drivers/net/spnic/base/spnic_hw_comm.c   |  485 ++++
 drivers/net/spnic/base/spnic_hw_comm.h   |  204 ++
 drivers/net/spnic/base/spnic_hwdev.c     |  514 ++++
 drivers/net/spnic/base/spnic_hwdev.h     |  143 +
 drivers/net/spnic/base/spnic_hwif.c      |  774 ++++++
 drivers/net/spnic/base/spnic_hwif.h      |  155 ++
 drivers/net/spnic/base/spnic_mbox.c      | 1194 ++++++++
 drivers/net/spnic/base/spnic_mbox.h      |  202 ++
 drivers/net/spnic/base/spnic_mgmt.c      |  367 +++
 drivers/net/spnic/base/spnic_mgmt.h      |  110 +
 drivers/net/spnic/base/spnic_nic_cfg.c   | 1348 +++++++++
 drivers/net/spnic/base/spnic_nic_cfg.h   | 1110 ++++++++
 drivers/net/spnic/base/spnic_nic_event.c |  185 ++
 drivers/net/spnic/base/spnic_nic_event.h |   24 +
 drivers/net/spnic/base/spnic_wq.c        |  139 +
 drivers/net/spnic/base/spnic_wq.h        |  123 +
 drivers/net/spnic/meson.build            |   14 +
 drivers/net/spnic/spnic_ethdev.c         | 3212 ++++++++++++++++++++++
 drivers/net/spnic/spnic_ethdev.h         |   95 +
 drivers/net/spnic/spnic_io.c             |  738 +++++
 drivers/net/spnic/spnic_io.h             |  154 ++
 drivers/net/spnic/spnic_rx.c             |  956 +++++++
 drivers/net/spnic/spnic_rx.h             |  326 +++
 drivers/net/spnic/spnic_tx.c             |  858 ++++++
 drivers/net/spnic/spnic_tx.h             |  297 ++
 drivers/net/spnic/version.map            |    3 +
 40 files changed, 16614 insertions(+)
 create mode 100644 doc/guides/nics/features/spnic.ini
 create mode 100644 doc/guides/nics/spnic.rst
 create mode 100644 drivers/net/spnic/base/meson.build
 create mode 100644 drivers/net/spnic/base/spnic_cmd.h
 create mode 100644 drivers/net/spnic/base/spnic_cmdq.c
 create mode 100644 drivers/net/spnic/base/spnic_cmdq.h
 create mode 100644 drivers/net/spnic/base/spnic_compat.h
 create mode 100644 drivers/net/spnic/base/spnic_csr.h
 create mode 100644 drivers/net/spnic/base/spnic_eqs.c
 create mode 100644 drivers/net/spnic/base/spnic_eqs.h
 create mode 100644 drivers/net/spnic/base/spnic_hw_cfg.c
 create mode 100644 drivers/net/spnic/base/spnic_hw_cfg.h
 create mode 100644 drivers/net/spnic/base/spnic_hw_comm.c
 create mode 100644 drivers/net/spnic/base/spnic_hw_comm.h
 create mode 100644 drivers/net/spnic/base/spnic_hwdev.c
 create mode 100644 drivers/net/spnic/base/spnic_hwdev.h
 create mode 100644 drivers/net/spnic/base/spnic_hwif.c
 create mode 100644 drivers/net/spnic/base/spnic_hwif.h
 create mode 100644 drivers/net/spnic/base/spnic_mbox.c
 create mode 100644 drivers/net/spnic/base/spnic_mbox.h
 create mode 100644 drivers/net/spnic/base/spnic_mgmt.c
 create mode 100644 drivers/net/spnic/base/spnic_mgmt.h
 create mode 100644 drivers/net/spnic/base/spnic_nic_cfg.c
 create mode 100644 drivers/net/spnic/base/spnic_nic_cfg.h
 create mode 100644 drivers/net/spnic/base/spnic_nic_event.c
 create mode 100644 drivers/net/spnic/base/spnic_nic_event.h
 create mode 100644 drivers/net/spnic/base/spnic_wq.c
 create mode 100644 drivers/net/spnic/base/spnic_wq.h
 create mode 100644 drivers/net/spnic/meson.build
 create mode 100644 drivers/net/spnic/spnic_ethdev.c
 create mode 100644 drivers/net/spnic/spnic_ethdev.h
 create mode 100644 drivers/net/spnic/spnic_io.c
 create mode 100644 drivers/net/spnic/spnic_io.h
 create mode 100644 drivers/net/spnic/spnic_rx.c
 create mode 100644 drivers/net/spnic/spnic_rx.h
 create mode 100644 drivers/net/spnic/spnic_tx.c
 create mode 100644 drivers/net/spnic/spnic_tx.h
 create mode 100644 drivers/net/spnic/version.map

-- 
2.32.0


             reply	other threads:[~2021-12-23  8:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-23  8:23 Yanling Song [this message]
2021-12-23  8:23 ` [PATCH v2 01/25] drivers/net: introduce a new PMD driver Yanling Song
2021-12-23  8:23 ` [PATCH v2 02/25] net/spnic: initialize the HW interface Yanling Song
2021-12-23  8:23 ` [PATCH v2 03/25] net/spnic: add mbox message channel Yanling Song
2021-12-23  8:23 ` [PATCH v2 04/25] net/spnic: introduce event queue Yanling Song
2021-12-23  8:23 ` [PATCH v2 05/25] net/spnic: add mgmt module Yanling Song
2021-12-23  8:23 ` [PATCH v2 06/25] net/spnic: add cmdq and work queue Yanling Song
2021-12-23  8:23 ` [PATCH v2 07/25] net/spnic: add interface handling cmdq message Yanling Song
2021-12-23  8:23 ` [PATCH v2 08/25] net/spnic: add hardware info initialization Yanling Song
2021-12-23  8:23 ` [PATCH v2 09/25] net/spnic: support MAC and link event handling Yanling Song
2021-12-23  8:23 ` [PATCH v2 10/25] net/spnic: add function info initialization Yanling Song
2021-12-23  8:23 ` [PATCH v2 11/25] net/spnic: add queue pairs context initialization Yanling Song
2021-12-23  8:23 ` [PATCH v2 12/25] net/spnic: support mbuf handling of Tx/Rx Yanling Song
2021-12-23  8:23 ` [PATCH v2 13/25] net/spnic: support Rx congfiguration Yanling Song
2021-12-23  8:23 ` [PATCH v2 14/25] net/spnic: add port/vport enable Yanling Song
2021-12-23  8:23 ` [PATCH v2 15/25] net/spnic: support IO packets handling Yanling Song
2021-12-23  8:23 ` [PATCH v2 16/25] net/spnic: add device configure/version/info Yanling Song
2021-12-23  8:24 ` [PATCH v2 17/25] net/spnic: support RSS configuration update and get Yanling Song
2021-12-23  8:24 ` [PATCH v2 18/25] net/spnic: support VLAN filtering and offloading Yanling Song
2021-12-23  8:24 ` [PATCH v2 19/25] net/spnic: support promiscuous and allmulticast Rx modes Yanling Song
2021-12-23  8:24 ` [PATCH v2 20/25] net/spnic: support flow control Yanling Song
2021-12-23  8:24 ` [PATCH v2 21/25] net/spnic: support getting Tx/Rx queues info Yanling Song
2021-12-23  8:24 ` [PATCH v2 22/25] net/spnic: net/spnic: support xstats statistics Yanling Song
2021-12-23  8:24 ` [PATCH v2 23/25] net/spnic: support VFIO interrupt Yanling Song
2021-12-23  8:24 ` [PATCH v2 24/25] net/spnic: support Tx/Rx queue start/stop Yanling Song

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1640242368.git.songyl@ramaxel.com \
    --to=songyl@ramaxel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=xuyun@ramaxel.com \
    --cc=yanggan@ramaxel.com \
    --cc=yanling.song@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.