From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3A0F3A0547; Fri, 5 Mar 2021 14:39:34 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F10B122A270; Fri, 5 Mar 2021 14:39:32 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 9FC8240691 for ; Fri, 5 Mar 2021 14:39:31 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 125DUn2n018420 for ; Fri, 5 Mar 2021 05:39:30 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=pfpt0220; bh=zm/6ghmjcKHyFClqCICiskD5cYoAOijq3EYHP1w2FLg=; b=FJ8G1ASeKA/+wwzP+64qh4Lxr8IQLmTtyvBWCk73KGVaBEXzdhw95BAJofr2pmy1UfRw hGSCgsP/pMUlUG6Ac5aKM9r3KmOjN7A90CWXz763KkNFaOgSBeOpJSnlrFCc7sDDtkHG iftxyZsm7mmkf2cC6a0KcMd6v+3cIZ2aQ4ofezujcnduuIsnA+VXdySmWvoSELVa8CtU cTj+EvLKzeI05LHnKQSYPLqfgaB3TOnJkuLSzj4hc2BuVg+NQnNz0QR5/GRNomIru27d fr1tivjjAOm8aAyk+Lu0/Qq5Dxq+gSeS8/gePfkETjL91zpqI/eTWgFt+1WfH8RjuMv+ 9A== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com with ESMTP id 372s2umrjp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Fri, 05 Mar 2021 05:39:30 -0800 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 5 Mar 2021 05:39:29 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 5 Mar 2021 05:39:28 -0800 Received: from hyd1588t430.marvell.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id 43CB53F7040; Fri, 5 Mar 2021 05:39:26 -0800 (PST) From: Nithin Dabilpuram To: CC: , , , , , , , Nithin Dabilpuram Date: Fri, 5 Mar 2021 19:08:26 +0530 Message-ID: <20210305133918.8005-1-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.8.4 MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369, 18.0.761 definitions=2021-03-05_08:2021-03-03, 2021-03-05 signatures=0 Subject: [dpdk-dev] [PATCH 00/52] Add Marvell CNXK common driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patchset adds initial support for common code for Marvell CN10K SoC. Based on this common 'cnxk' driver, new PMD's such as 'net/cnxk', 'mempool/cnxk', 'event/cnxk' etc, will be added later on. Initially 'cnxk' drivers will only support Marvell CN106XX SoC. In future, when code is ready, CN9K/octeontx2 will also be supported by the same set of drivers and 'common/octeontx2' and its associated drivers will be deprecated. Ashwin Sekhar T K (8): common/cnxk: add base npa device support common/cnxk: add npa irq support common/cnxk: add npa debug support common/cnxk: add npa pool HW ops common/cnxk: add npa bulk alloc/free support common/cnxk: add npa performance counter support common/cnxk: add npa batch alloc/free support common/cnxk: add npa lf init/fini callback support Jerin Jacob (14): common/cnxk: add build infrastructre and HW definition common/cnxk: add model init and IO handling API common/cnxk: add interrupt helper API common/cnxk: add mbox request and response definitions common/cnxk: add mailbox base infra common/cnxk: add base device class common/cnxk: add VF support to base device class common/cnxk: add base nix support common/cnxk: add nix irq support common/cnxk: add nix Rx queue management API common/cnxk: add nix Tx queue management API common/cnxk: add nix RSS support common/cnxk: add nix stats support common/cnxk: add nix debug dump support Kiran Kumar K (5): common/cnxk: add npc support common/cnxk: add npc helper API common/cnxk: add mcam utility API common/cnxk: add npc parsing API common/cnxk: add npc init and fini support Nithin Dabilpuram (8): common/cnxk: add nix traffic management base support common/cnxk: add nix tm support to add/delete node common/cnxk: add nix tm helper to alloc and free resource common/cnxk: add nix tm hierarchy enable/disable common/cnxk: add nix tm support for internal hierarchy common/cnxk: add nix tm dynamic update support common/cnxk: add nix tm debug support and misc utils doc: add Marvell CNXK platform guide Pavan Nikhilesh (8): config/arm: add support for Marvell CN10K common/cnxk: add base sso device support common/cnxk: add sso hws interface common/cnxk: add sso hwgrp interface common/cnxk: add sso irq support common/cnxk: add sso debug support common/cnxk: add base tim device support common/cnxk: add tim irq support Satha Rao (2): common/cnxk: add support for nix extended stats common/cnxk: add nix tm shaper profile add support Sunil Kumar Kori (6): common/cnxk: add nix MAC operations support common/cnxk: add nix specific npc operations common/cnxk: add nix ptp support common/cnxk: add VLAN filter support common/cnxk: add nix flow control support common/cnxk: add nix LSO support and misc utils Vidya Sagar Velumuri (1): common/cnxk: add nix inline IPsec config API MAINTAINERS | 9 + config/arm/arm64_cn10k_linux_gcc | 20 + doc/guides/platform/cnxk.rst | 578 ++++ .../img/cnxk_packet_flow_hw_accelerators.svg | 2795 ++++++++++++++++++++ .../platform/img/cnxk_resource_virtualization.svg | 2428 +++++++++++++++++ doc/guides/platform/index.rst | 1 + drivers/common/cnxk/hw/nix.h | 2187 +++++++++++++++ drivers/common/cnxk/hw/npa.h | 376 +++ drivers/common/cnxk/hw/npc.h | 525 ++++ drivers/common/cnxk/hw/rvu.h | 221 ++ drivers/common/cnxk/hw/sdp.h | 182 ++ drivers/common/cnxk/hw/sso.h | 233 ++ drivers/common/cnxk/hw/ssow.h | 70 + drivers/common/cnxk/hw/tim.h | 49 + drivers/common/cnxk/meson.build | 49 + drivers/common/cnxk/roc_api.h | 103 + drivers/common/cnxk/roc_bitfield.h | 15 + drivers/common/cnxk/roc_bits.h | 32 + drivers/common/cnxk/roc_dev.c | 1190 +++++++++ drivers/common/cnxk/roc_dev_priv.h | 107 + drivers/common/cnxk/roc_idev.c | 184 ++ drivers/common/cnxk/roc_idev.h | 17 + drivers/common/cnxk/roc_idev_priv.h | 39 + drivers/common/cnxk/roc_io.h | 187 ++ drivers/common/cnxk/roc_io_generic.h | 122 + drivers/common/cnxk/roc_irq.c | 249 ++ drivers/common/cnxk/roc_mbox.c | 483 ++++ drivers/common/cnxk/roc_mbox.h | 1732 ++++++++++++ drivers/common/cnxk/roc_mbox_priv.h | 215 ++ drivers/common/cnxk/roc_model.c | 148 ++ drivers/common/cnxk/roc_model.h | 103 + drivers/common/cnxk/roc_nix.c | 439 +++ drivers/common/cnxk/roc_nix.h | 573 ++++ drivers/common/cnxk/roc_nix_debug.c | 1136 ++++++++ drivers/common/cnxk/roc_nix_fc.c | 251 ++ drivers/common/cnxk/roc_nix_irq.c | 495 ++++ drivers/common/cnxk/roc_nix_mac.c | 298 +++ drivers/common/cnxk/roc_nix_mcast.c | 98 + drivers/common/cnxk/roc_nix_npc.c | 103 + drivers/common/cnxk/roc_nix_ops.c | 416 +++ drivers/common/cnxk/roc_nix_priv.h | 394 +++ drivers/common/cnxk/roc_nix_ptp.c | 122 + drivers/common/cnxk/roc_nix_queue.c | 863 ++++++ drivers/common/cnxk/roc_nix_rss.c | 219 ++ drivers/common/cnxk/roc_nix_stats.c | 411 +++ drivers/common/cnxk/roc_nix_tm.c | 1385 ++++++++++ drivers/common/cnxk/roc_nix_tm_ops.c | 1031 ++++++++ drivers/common/cnxk/roc_nix_tm_utils.c | 1002 +++++++ drivers/common/cnxk/roc_nix_vlan.c | 205 ++ drivers/common/cnxk/roc_nix_xstats.h | 204 ++ drivers/common/cnxk/roc_npa.c | 823 ++++++ drivers/common/cnxk/roc_npa.h | 661 +++++ drivers/common/cnxk/roc_npa_debug.c | 184 ++ drivers/common/cnxk/roc_npa_irq.c | 298 +++ drivers/common/cnxk/roc_npa_priv.h | 63 + drivers/common/cnxk/roc_npc.c | 713 +++++ drivers/common/cnxk/roc_npc.h | 169 ++ drivers/common/cnxk/roc_npc_mcam.c | 708 +++++ drivers/common/cnxk/roc_npc_parse.c | 703 +++++ drivers/common/cnxk/roc_npc_priv.h | 426 +++ drivers/common/cnxk/roc_npc_utils.c | 631 +++++ drivers/common/cnxk/roc_platform.c | 38 + drivers/common/cnxk/roc_platform.h | 182 ++ drivers/common/cnxk/roc_priv.h | 35 + drivers/common/cnxk/roc_sso.c | 540 ++++ drivers/common/cnxk/roc_sso.h | 65 + drivers/common/cnxk/roc_sso_debug.c | 68 + drivers/common/cnxk/roc_sso_irq.c | 164 ++ drivers/common/cnxk/roc_sso_priv.h | 50 + drivers/common/cnxk/roc_tim.c | 314 +++ drivers/common/cnxk/roc_tim.h | 43 + drivers/common/cnxk/roc_tim_irq.c | 104 + drivers/common/cnxk/roc_tim_priv.h | 30 + drivers/common/cnxk/roc_util_priv.h | 14 + drivers/common/cnxk/roc_utils.c | 239 ++ drivers/common/cnxk/roc_utils.h | 15 + drivers/common/cnxk/version.map | 201 ++ drivers/meson.build | 1 + 78 files changed, 31776 insertions(+) create mode 100644 config/arm/arm64_cn10k_linux_gcc create mode 100644 doc/guides/platform/cnxk.rst create mode 100644 doc/guides/platform/img/cnxk_packet_flow_hw_accelerators.svg create mode 100644 doc/guides/platform/img/cnxk_resource_virtualization.svg create mode 100644 drivers/common/cnxk/hw/nix.h create mode 100644 drivers/common/cnxk/hw/npa.h create mode 100644 drivers/common/cnxk/hw/npc.h create mode 100644 drivers/common/cnxk/hw/rvu.h create mode 100644 drivers/common/cnxk/hw/sdp.h create mode 100644 drivers/common/cnxk/hw/sso.h create mode 100644 drivers/common/cnxk/hw/ssow.h create mode 100644 drivers/common/cnxk/hw/tim.h create mode 100644 drivers/common/cnxk/meson.build create mode 100644 drivers/common/cnxk/roc_api.h create mode 100644 drivers/common/cnxk/roc_bitfield.h create mode 100644 drivers/common/cnxk/roc_bits.h create mode 100644 drivers/common/cnxk/roc_dev.c create mode 100644 drivers/common/cnxk/roc_dev_priv.h create mode 100644 drivers/common/cnxk/roc_idev.c create mode 100644 drivers/common/cnxk/roc_idev.h create mode 100644 drivers/common/cnxk/roc_idev_priv.h create mode 100644 drivers/common/cnxk/roc_io.h create mode 100644 drivers/common/cnxk/roc_io_generic.h create mode 100644 drivers/common/cnxk/roc_irq.c create mode 100644 drivers/common/cnxk/roc_mbox.c create mode 100644 drivers/common/cnxk/roc_mbox.h create mode 100644 drivers/common/cnxk/roc_mbox_priv.h create mode 100644 drivers/common/cnxk/roc_model.c create mode 100644 drivers/common/cnxk/roc_model.h create mode 100644 drivers/common/cnxk/roc_nix.c create mode 100644 drivers/common/cnxk/roc_nix.h create mode 100644 drivers/common/cnxk/roc_nix_debug.c create mode 100644 drivers/common/cnxk/roc_nix_fc.c create mode 100644 drivers/common/cnxk/roc_nix_irq.c create mode 100644 drivers/common/cnxk/roc_nix_mac.c create mode 100644 drivers/common/cnxk/roc_nix_mcast.c create mode 100644 drivers/common/cnxk/roc_nix_npc.c create mode 100644 drivers/common/cnxk/roc_nix_ops.c create mode 100644 drivers/common/cnxk/roc_nix_priv.h create mode 100644 drivers/common/cnxk/roc_nix_ptp.c create mode 100644 drivers/common/cnxk/roc_nix_queue.c create mode 100644 drivers/common/cnxk/roc_nix_rss.c create mode 100644 drivers/common/cnxk/roc_nix_stats.c create mode 100644 drivers/common/cnxk/roc_nix_tm.c create mode 100644 drivers/common/cnxk/roc_nix_tm_ops.c create mode 100644 drivers/common/cnxk/roc_nix_tm_utils.c create mode 100644 drivers/common/cnxk/roc_nix_vlan.c create mode 100644 drivers/common/cnxk/roc_nix_xstats.h create mode 100644 drivers/common/cnxk/roc_npa.c create mode 100644 drivers/common/cnxk/roc_npa.h create mode 100644 drivers/common/cnxk/roc_npa_debug.c create mode 100644 drivers/common/cnxk/roc_npa_irq.c create mode 100644 drivers/common/cnxk/roc_npa_priv.h create mode 100644 drivers/common/cnxk/roc_npc.c create mode 100644 drivers/common/cnxk/roc_npc.h create mode 100644 drivers/common/cnxk/roc_npc_mcam.c create mode 100644 drivers/common/cnxk/roc_npc_parse.c create mode 100644 drivers/common/cnxk/roc_npc_priv.h create mode 100644 drivers/common/cnxk/roc_npc_utils.c create mode 100644 drivers/common/cnxk/roc_platform.c create mode 100644 drivers/common/cnxk/roc_platform.h create mode 100644 drivers/common/cnxk/roc_priv.h create mode 100644 drivers/common/cnxk/roc_sso.c create mode 100644 drivers/common/cnxk/roc_sso.h create mode 100644 drivers/common/cnxk/roc_sso_debug.c create mode 100644 drivers/common/cnxk/roc_sso_irq.c create mode 100644 drivers/common/cnxk/roc_sso_priv.h create mode 100644 drivers/common/cnxk/roc_tim.c create mode 100644 drivers/common/cnxk/roc_tim.h create mode 100644 drivers/common/cnxk/roc_tim_irq.c create mode 100644 drivers/common/cnxk/roc_tim_priv.h create mode 100644 drivers/common/cnxk/roc_util_priv.h create mode 100644 drivers/common/cnxk/roc_utils.c create mode 100644 drivers/common/cnxk/roc_utils.h create mode 100644 drivers/common/cnxk/version.map -- 2.8.4