mbox series

[net-next,00/14] Add Marvell CN10K support

Message ID 1612025501-91712-1-git-send-email-gakula@marvell.com (mailing list archive)
Headers show
Series Add Marvell CN10K support | expand

Message

Geetha sowjanya Jan. 30, 2021, 4:51 p.m. UTC
The current admin function (AF) driver and the netdev driver supports
OcteonTx2 silicon variants. The same OcteonTx2's Resource Virtualization Unit (RVU)
is carried forward to the next-gen silicon ie OcteonTx3, with some changes
and feature enhancements.

This patch set adds support for OcteonTx3 (CN10K) silicon and gets the drivers
to the same level as OcteonTx2. No new OcteonTx3 specific features are added.
Changes cover below HW level differences
- PCIe BAR address changes wrt shared mailbox memory region
- Receive buffer freeing to HW
- Transmit packet's descriptor submission to HW
- Programmable HW interface identifiers (channels)
- Increased MTU support
- A Serdes MAC block (RPM) configuration  

Geetha sowjanya (6):
  octeontx2-af: cn10k: Update NIX/NPA context structure
  octeontx2-af: cn10k: Update NIX and NPA context in debugfs
  octeontx2-pf: cn10k: Initialise NIX context
  octeontx2-pf: cn10k: Map LMTST region
  octeontx2-pf: cn10k: Use LMTST lines for NPA/NIX operations

Hariprasad Kelam (5):
  octeontx2-af: cn10k: Add RPM MAC support
  octeontx2-af: cn10K: Add MTU configuration
  octeontx2-pf: cn10k: Get max mtu supported from admin function
  octeontx2-af: cn10k: Add RPM Rx/Tx stats support
  octeontx2-af: cn10k: MAC internal loopback support

Rakesh Babu (1):
  octeontx2-af: cn10k: Add RPM LMAC pause frame support

Subbaraya Sundeep (2):
  octeontx2-af: cn10k: Add mbox support for CN10K platform
  octeontx2-pf: cn10k: Add mbox support for CN10K
  octeontx2-af: cn10k: Add support for programmable channels

 drivers/net/ethernet/marvell/octeontx2/af/Makefile |   2 +-
 drivers/net/ethernet/marvell/octeontx2/af/cgx.c    | 315 ++++++++---
 drivers/net/ethernet/marvell/octeontx2/af/cgx.h    |  15 +-
 .../net/ethernet/marvell/octeontx2/af/cgx_fw_if.h  |   1 +
 drivers/net/ethernet/marvell/octeontx2/af/common.h |   5 +
 .../ethernet/marvell/octeontx2/af/lmac_common.h    | 129 +++++
 drivers/net/ethernet/marvell/octeontx2/af/mbox.c   |  59 +-
 drivers/net/ethernet/marvell/octeontx2/af/mbox.h   |  70 ++-
 drivers/net/ethernet/marvell/octeontx2/af/rpm.c    | 272 ++++++++++
 drivers/net/ethernet/marvell/octeontx2/af/rpm.h    |  57 ++
 drivers/net/ethernet/marvell/octeontx2/af/rvu.c    | 157 +++++-
 drivers/net/ethernet/marvell/octeontx2/af/rvu.h    |  70 +++
 .../net/ethernet/marvell/octeontx2/af/rvu_cgx.c    | 135 ++++-
 .../net/ethernet/marvell/octeontx2/af/rvu_cn10k.c  | 261 +++++++++
 .../ethernet/marvell/octeontx2/af/rvu_debugfs.c    | 339 +++++++++++-
 .../net/ethernet/marvell/octeontx2/af/rvu_nix.c    | 112 +++-
 .../net/ethernet/marvell/octeontx2/af/rvu_npc.c    |   4 +-
 .../net/ethernet/marvell/octeontx2/af/rvu_reg.h    |  24 +
 .../net/ethernet/marvell/octeontx2/af/rvu_struct.h | 604 ++++++---------------
 .../net/ethernet/marvell/octeontx2/nic/Makefile    |   2 +-
 drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c | 182 +++++++
 drivers/net/ethernet/marvell/octeontx2/nic/cn10k.h |  17 +
 .../ethernet/marvell/octeontx2/nic/otx2_common.c   | 144 +++--
 .../ethernet/marvell/octeontx2/nic/otx2_common.h   | 105 +++-
 .../net/ethernet/marvell/octeontx2/nic/otx2_pf.c   |  67 ++-
 .../net/ethernet/marvell/octeontx2/nic/otx2_reg.h  |   4 +
 .../ethernet/marvell/octeontx2/nic/otx2_struct.h   |  10 +-
 .../net/ethernet/marvell/octeontx2/nic/otx2_txrx.c |  70 ++-
 .../net/ethernet/marvell/octeontx2/nic/otx2_txrx.h |   8 +-
 .../net/ethernet/marvell/octeontx2/nic/otx2_vf.c   |  52 +-
 include/linux/soc/marvell/octeontx2/asm.h          |   8 +
 31 files changed, 2573 insertions(+), 727 deletions(-)
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rpm.c
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rpm.h
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/cn10k.h

Comments

Willem de Bruijn Jan. 31, 2021, 11:48 p.m. UTC | #1
On Sat, Jan 30, 2021 at 12:04 PM Geetha sowjanya <gakula@marvell.com> wrote:
>
> The current admin function (AF) driver and the netdev driver supports
> OcteonTx2 silicon variants. The same OcteonTx2's Resource Virtualization Unit (RVU)
> is carried forward to the next-gen silicon ie OcteonTx3, with some changes
> and feature enhancements.
>
> This patch set adds support for OcteonTx3 (CN10K) silicon and gets the drivers
> to the same level as OcteonTx2. No new OcteonTx3 specific features are added.
> Changes cover below HW level differences
> - PCIe BAR address changes wrt shared mailbox memory region
> - Receive buffer freeing to HW
> - Transmit packet's descriptor submission to HW
> - Programmable HW interface identifiers (channels)
> - Increased MTU support
> - A Serdes MAC block (RPM) configuration
>
> Geetha sowjanya (6):
>   octeontx2-af: cn10k: Update NIX/NPA context structure
>   octeontx2-af: cn10k: Update NIX and NPA context in debugfs
>   octeontx2-pf: cn10k: Initialise NIX context
>   octeontx2-pf: cn10k: Map LMTST region
>   octeontx2-pf: cn10k: Use LMTST lines for NPA/NIX operations
>
> Hariprasad Kelam (5):
>   octeontx2-af: cn10k: Add RPM MAC support
>   octeontx2-af: cn10K: Add MTU configuration
>   octeontx2-pf: cn10k: Get max mtu supported from admin function
>   octeontx2-af: cn10k: Add RPM Rx/Tx stats support
>   octeontx2-af: cn10k: MAC internal loopback support
>
> Rakesh Babu (1):
>   octeontx2-af: cn10k: Add RPM LMAC pause frame support
>
> Subbaraya Sundeep (2):
>   octeontx2-af: cn10k: Add mbox support for CN10K platform
>   octeontx2-pf: cn10k: Add mbox support for CN10K
>   octeontx2-af: cn10k: Add support for programmable channels
>
>  drivers/net/ethernet/marvell/octeontx2/af/Makefile |   2 +-
>  drivers/net/ethernet/marvell/octeontx2/af/cgx.c    | 315 ++++++++---
>  drivers/net/ethernet/marvell/octeontx2/af/cgx.h    |  15 +-
>  .../net/ethernet/marvell/octeontx2/af/cgx_fw_if.h  |   1 +
>  drivers/net/ethernet/marvell/octeontx2/af/common.h |   5 +
>  .../ethernet/marvell/octeontx2/af/lmac_common.h    | 129 +++++
>  drivers/net/ethernet/marvell/octeontx2/af/mbox.c   |  59 +-
>  drivers/net/ethernet/marvell/octeontx2/af/mbox.h   |  70 ++-
>  drivers/net/ethernet/marvell/octeontx2/af/rpm.c    | 272 ++++++++++
>  drivers/net/ethernet/marvell/octeontx2/af/rpm.h    |  57 ++
>  drivers/net/ethernet/marvell/octeontx2/af/rvu.c    | 157 +++++-
>  drivers/net/ethernet/marvell/octeontx2/af/rvu.h    |  70 +++
>  .../net/ethernet/marvell/octeontx2/af/rvu_cgx.c    | 135 ++++-
>  .../net/ethernet/marvell/octeontx2/af/rvu_cn10k.c  | 261 +++++++++
>  .../ethernet/marvell/octeontx2/af/rvu_debugfs.c    | 339 +++++++++++-
>  .../net/ethernet/marvell/octeontx2/af/rvu_nix.c    | 112 +++-
>  .../net/ethernet/marvell/octeontx2/af/rvu_npc.c    |   4 +-
>  .../net/ethernet/marvell/octeontx2/af/rvu_reg.h    |  24 +
>  .../net/ethernet/marvell/octeontx2/af/rvu_struct.h | 604 ++++++---------------
>  .../net/ethernet/marvell/octeontx2/nic/Makefile    |   2 +-
>  drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c | 182 +++++++
>  drivers/net/ethernet/marvell/octeontx2/nic/cn10k.h |  17 +
>  .../ethernet/marvell/octeontx2/nic/otx2_common.c   | 144 +++--
>  .../ethernet/marvell/octeontx2/nic/otx2_common.h   | 105 +++-
>  .../net/ethernet/marvell/octeontx2/nic/otx2_pf.c   |  67 ++-
>  .../net/ethernet/marvell/octeontx2/nic/otx2_reg.h  |   4 +
>  .../ethernet/marvell/octeontx2/nic/otx2_struct.h   |  10 +-
>  .../net/ethernet/marvell/octeontx2/nic/otx2_txrx.c |  70 ++-
>  .../net/ethernet/marvell/octeontx2/nic/otx2_txrx.h |   8 +-
>  .../net/ethernet/marvell/octeontx2/nic/otx2_vf.c   |  52 +-
>  include/linux/soc/marvell/octeontx2/asm.h          |   8 +
>  31 files changed, 2573 insertions(+), 727 deletions(-)
>  create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/lmac_common.h
>  create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rpm.c
>  create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rpm.h
>  create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rvu_cn10k.c
>  create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
>  create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/cn10k.h
>

FYI, patchwork shows a number of checkpatch and build warnings to fix up

https://patchwork.kernel.org/project/netdevbpf/list/?series=424847