From patchwork Sat Jan 30 16:51:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geetha sowjanya X-Patchwork-Id: 12057279 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63CFEC433E0 for ; Sat, 30 Jan 2021 17:02:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3B0E964E10 for ; Sat, 30 Jan 2021 17:02:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231690AbhA3RC0 (ORCPT ); Sat, 30 Jan 2021 12:02:26 -0500 Received: from [1.6.215.26] ([1.6.215.26]:38272 "EHLO hyd1soter2" rhost-flags-FAIL-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S229468AbhA3RCY (ORCPT ); Sat, 30 Jan 2021 12:02:24 -0500 X-Greylist: delayed 575 seconds by postgrey-1.27 at vger.kernel.org; Sat, 30 Jan 2021 12:02:22 EST Received: from hyd1soter2.caveonetworks.com (localhost [127.0.0.1]) by hyd1soter2 (8.15.2/8.15.2/Debian-3) with ESMTP id 10UGppDN091753; Sat, 30 Jan 2021 22:21:51 +0530 Received: (from geetha@localhost) by hyd1soter2.caveonetworks.com (8.15.2/8.15.2/Submit) id 10UGpoj1091752; Sat, 30 Jan 2021 22:21:50 +0530 From: Geetha sowjanya To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: sgoutham@marvell.com, davem@davemloft.net, kuba@kernel.org, Geetha sowjanya Subject: [net-next 00/14] Add Marvell CN10K support Date: Sat, 30 Jan 2021 22:21:41 +0530 Message-Id: <1612025501-91712-1-git-send-email-gakula@marvell.com> X-Mailer: git-send-email 2.7.4 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org 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