[v1,00/27] OCTEON TX2 common and mempool driver
Message ID | 20190523081339.56348-1-jerinj@marvell.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 58F9F14EC; Thu, 23 May 2019 10:14:58 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id C4EFEA69 for <dev@dpdk.org>; Thu, 23 May 2019 10:14:56 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x4N89ijn019064; Thu, 23 May 2019 01:14:55 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=wf8fvIfC2AfFUucCeOIbxNfptYEfpiIbiJ4apaVnUC4=; b=UcmlznILHQhf+ODl0/ci973cMpB9ODvGLr0VNPtu4TXVnXTpkI0Y0XoZ0jyyEKPkjtvW QIVn1mnsDE9ZJ5mk7ItHqXlI/eefEGRnjvorYJR8hTnOzgqGHB3dm3Ae/mJu5nZHFC2Y xrPQETVh6fd8VxuH56pHH8I7gYcGO96luec0A9iBbeT3G/XZGT051aaF5R0eQwR7qF2Q SkeOkMAEfYbAfNrRomfaGKpma6f1B2N6NiiRrEh26bjMrSrxmKhXedEq4lFwzbbsl7qP sPjK8Nhp1Ah1vHOVtN+OfwVO2+YR6Y9mgatPj2VdMoBXqLRpuOXisBuhXcfLKXYllbA2 /g== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 2smnwk0s7q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 23 May 2019 01:14:47 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 23 May 2019 01:14:45 -0700 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Thu, 23 May 2019 01:14:45 -0700 Received: from jerin-lab.marvell.com (unknown [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id C01A43F703F; Thu, 23 May 2019 01:14:44 -0700 (PDT) From: <jerinj@marvell.com> To: <dev@dpdk.org> CC: <thomas@monjalon.net>, Jerin Jacob <jerinj@marvell.com> Date: Thu, 23 May 2019 13:43:12 +0530 Message-ID: <20190523081339.56348-1-jerinj@marvell.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-05-23_08:, , signatures=0 Subject: [dpdk-dev] [PATCH v1 00/27] OCTEON TX2 common and mempool driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Message
Jerin Jacob Kollanukkaran
May 23, 2019, 8:13 a.m. UTC
From: Jerin Jacob <jerinj@marvell.com>
This patch set adds initial driver support for OCTEON TX2 SoC.
OCTEON TX2 is an armv8.2 SoC with integrated HW based mempool, ethdev,
cryptodev, compressdev, and eventdev devices.
This patch set adds common driver and mempool device driver for OCTEON TX2 SoC.
There will be three more patch series in this release
to support ethdev, eventdev and cryptodev devices
More details about the OCTEON TX2 platform may found in
[PATCH 15/27] doc: add Marvell OCTEON TX2 platform guide
under doc/guides/platform/octeontx2.rst file.
This patches series also available at https://github.com/jerinjacobk/dpdk.git
for quick download and review.
# Note on check patch issues
1) The mailbox prototype is the same as Linux kernel.
https://elixir.bootlin.com/linux/latest/source/drivers/net/ethernet/marvell/octeontx2/af/mbox.h#L123
In order to keep the base code intact, mailbox prototype expressed as
macros with warnings
2) There are a few warnings from tooling about expected to add new
symbols in the EXPERIMENTAL
section. Since these API will be called only by octeontx2 client drivers
and prototype are not exported to the application, those warnings are
not relevant, Discussion at http://patches.dpdk.org/patch/53590/
Jerin Jacob (22):
common/octeontx2: add build infrastructure and HW definition
common/octeontx2: add IO handling APIs
common/octeontx2: add mbox request and response definition
common/octeontx2: add mailbox base support infra
common/octeontx2: add runtime log infra
common/octeontx2: add mailbox send and receive support
common/octeontx2: introduce common device class
common/octeontx2: introduce irq handling functions
common/octeontx2: handle intra device operations
common/octeontx2: add VF mailbox IRQ and msg handler
doc: add Marvell OCTEON TX2 platform guide
mempool/octeontx2: add build infra and device probe
drivers: add init and fini on octeontx2 NPA object
mempool/octeontx2: add NPA HW operations
mempool/octeontx2: add NPA IRQ handler
mempool/octeontx2: add context dump support
mempool/octeontx2: add mempool alloc op
mempool/octeontx2: add mempool free op
mempool/octeontx2: add remaining slow path ops
mempool/octeontx2: add fast path mempool ops
mempool/octeontx2: add devargs for max pool selection
doc: add Marvell OCTEON TX2 mempool documentation
Nithin Dabilpuram (4):
common/octeontx2: add AF to PF mailbox IRQ and msg handlers
common/octeontx2: add PF to VF mailbox IRQ and msg handlers
common/octeontx2: add uplink message support
common/octeontx2: add FLR IRQ handler
Pavan Nikhilesh (1):
mempool/octeontx2: add optimized dequeue operation for arm64
MAINTAINERS | 10 +
config/common_base | 5 +
doc/guides/mempool/index.rst | 1 +
doc/guides/mempool/octeontx2.rst | 90 +
.../octeontx2_packet_flow_hw_accelerators.svg | 2804 +++++++++++++++++
.../img/octeontx2_resource_virtualization.svg | 2418 ++++++++++++++
doc/guides/platform/index.rst | 1 +
doc/guides/platform/octeontx2.rst | 237 ++
doc/guides/rel_notes/release_19_08.rst | 2 +
drivers/common/Makefile | 5 +
drivers/common/meson.build | 2 +-
drivers/common/octeontx2/Makefile | 37 +
drivers/common/octeontx2/hw/otx2_nix.h | 1376 ++++++++
drivers/common/octeontx2/hw/otx2_npa.h | 305 ++
drivers/common/octeontx2/hw/otx2_npc.h | 467 +++
drivers/common/octeontx2/hw/otx2_rvu.h | 212 ++
drivers/common/octeontx2/hw/otx2_sso.h | 209 ++
drivers/common/octeontx2/hw/otx2_ssow.h | 56 +
drivers/common/octeontx2/hw/otx2_tim.h | 34 +
drivers/common/octeontx2/meson.build | 25 +
drivers/common/octeontx2/otx2_common.c | 240 ++
drivers/common/octeontx2/otx2_common.h | 118 +
drivers/common/octeontx2/otx2_dev.c | 1052 +++++++
drivers/common/octeontx2/otx2_dev.h | 97 +
drivers/common/octeontx2/otx2_io_arm64.h | 95 +
drivers/common/octeontx2/otx2_io_generic.h | 63 +
drivers/common/octeontx2/otx2_irq.c | 254 ++
drivers/common/octeontx2/otx2_irq.h | 25 +
drivers/common/octeontx2/otx2_mbox.c | 416 +++
drivers/common/octeontx2/otx2_mbox.h | 1477 +++++++++
.../rte_common_octeontx2_version.map | 38 +
drivers/mempool/Makefile | 1 +
drivers/mempool/meson.build | 2 +-
drivers/mempool/octeontx2/Makefile | 39 +
drivers/mempool/octeontx2/meson.build | 23 +
drivers/mempool/octeontx2/otx2_mempool.c | 438 +++
drivers/mempool/octeontx2/otx2_mempool.h | 208 ++
.../mempool/octeontx2/otx2_mempool_debug.c | 135 +
drivers/mempool/octeontx2/otx2_mempool_irq.c | 308 ++
drivers/mempool/octeontx2/otx2_mempool_ops.c | 760 +++++
.../rte_mempool_octeontx2_version.map | 8 +
mk/rte.app.mk | 6 +
42 files changed, 14097 insertions(+), 2 deletions(-)
create mode 100644 doc/guides/mempool/octeontx2.rst
create mode 100644 doc/guides/platform/img/octeontx2_packet_flow_hw_accelerators.svg
create mode 100644 doc/guides/platform/img/octeontx2_resource_virtualization.svg
create mode 100644 doc/guides/platform/octeontx2.rst
create mode 100644 drivers/common/octeontx2/Makefile
create mode 100644 drivers/common/octeontx2/hw/otx2_nix.h
create mode 100644 drivers/common/octeontx2/hw/otx2_npa.h
create mode 100644 drivers/common/octeontx2/hw/otx2_npc.h
create mode 100644 drivers/common/octeontx2/hw/otx2_rvu.h
create mode 100644 drivers/common/octeontx2/hw/otx2_sso.h
create mode 100644 drivers/common/octeontx2/hw/otx2_ssow.h
create mode 100644 drivers/common/octeontx2/hw/otx2_tim.h
create mode 100644 drivers/common/octeontx2/meson.build
create mode 100644 drivers/common/octeontx2/otx2_common.c
create mode 100644 drivers/common/octeontx2/otx2_common.h
create mode 100644 drivers/common/octeontx2/otx2_dev.c
create mode 100644 drivers/common/octeontx2/otx2_dev.h
create mode 100644 drivers/common/octeontx2/otx2_io_arm64.h
create mode 100644 drivers/common/octeontx2/otx2_io_generic.h
create mode 100644 drivers/common/octeontx2/otx2_irq.c
create mode 100644 drivers/common/octeontx2/otx2_irq.h
create mode 100644 drivers/common/octeontx2/otx2_mbox.c
create mode 100644 drivers/common/octeontx2/otx2_mbox.h
create mode 100644 drivers/common/octeontx2/rte_common_octeontx2_version.map
create mode 100644 drivers/mempool/octeontx2/Makefile
create mode 100644 drivers/mempool/octeontx2/meson.build
create mode 100644 drivers/mempool/octeontx2/otx2_mempool.c
create mode 100644 drivers/mempool/octeontx2/otx2_mempool.h
create mode 100644 drivers/mempool/octeontx2/otx2_mempool_debug.c
create mode 100644 drivers/mempool/octeontx2/otx2_mempool_irq.c
create mode 100644 drivers/mempool/octeontx2/otx2_mempool_ops.c
create mode 100644 drivers/mempool/octeontx2/rte_mempool_octeontx2_version.map