Message ID | 20190617155537.36144-1-jerinj@marvell.com |
---|---|
Headers | show |
Series |
|
Related | show |
> -----Original Message----- > From: jerinj@marvell.com <jerinj@marvell.com> > Sent: Monday, June 17, 2019 9:25 PM > To: dev@dpdk.org > Cc: Jerin Jacob Kollanukkaran <jerinj@marvell.com>; Thomas Monjalon > <thomas@monjalon.net> > Subject: [dpdk-dev] [PATCH v3 00/27] OCTEON TX2 common and mempool > driver Hi Thomas, Could you merge this patch series If there are no more review comments. Following patches sets[1] has dependency on this series. [1] http://patches.dpdk.org/patch/54002/ http://patches.dpdk.org/patch/54057/ http://patches.dpdk.org/patch/54017/ > 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/ > > v3: > > 1) Replace the reference to v19.08 from v19.05 > 2) remove rte_panic from driver code > 3) rebase to dpdk.org master(as of 17-June) > > v2: > > 1) Added CONFIG_RTE_MAX_VFIO_GROUPS for octeontx2 config in patch 1 > 2) Rebased to master to accommodate latest rename like ETHER_ADDR_LEN > to RTE_ETHER_ADDR_LEN > 3) Added pmd.raw.octeontx2.dpi log message in patch 5 > 4) Update platform guide with debugfs documentation in patch 15 > 5) Fix arm64 build issue with patch 25(Aaron Conole) > "mempool/octeontx2: add optimized dequeue operation for arm64" > > Cc: Thomas Monjalon <thomas@monjalon.net> > > 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 + > config/defconfig_arm64-octeontx2-linuxapp-gcc | 3 + > 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 | 496 +++ > 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 | 1379 ++++++++ > drivers/common/octeontx2/hw/otx2_npa.h | 305 ++ > drivers/common/octeontx2/hw/otx2_npc.h | 472 +++ > 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 | 248 ++ > drivers/common/octeontx2/otx2_common.h | 121 + > 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 | 1483 +++++++++ > .../rte_common_octeontx2_version.map | 39 + > 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 | 303 ++ > drivers/mempool/octeontx2/otx2_mempool_ops.c | 760 +++++ > .../rte_mempool_octeontx2_version.map | 8 + > mk/rte.app.mk | 6 + > 43 files changed, 14380 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 > > -- > 2.21.0
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/ v3: 1) Replace the reference to v19.08 from v19.05 2) remove rte_panic from driver code 3) rebase to dpdk.org master(as of 17-June) v2: 1) Added CONFIG_RTE_MAX_VFIO_GROUPS for octeontx2 config in patch 1 2) Rebased to master to accommodate latest rename like ETHER_ADDR_LEN to RTE_ETHER_ADDR_LEN 3) Added pmd.raw.octeontx2.dpi log message in patch 5 4) Update platform guide with debugfs documentation in patch 15 5) Fix arm64 build issue with patch 25(Aaron Conole) "mempool/octeontx2: add optimized dequeue operation for arm64" Cc: Thomas Monjalon <thomas@monjalon.net> 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 + config/defconfig_arm64-octeontx2-linuxapp-gcc | 3 + 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 | 496 +++ 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 | 1379 ++++++++ drivers/common/octeontx2/hw/otx2_npa.h | 305 ++ drivers/common/octeontx2/hw/otx2_npc.h | 472 +++ 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 | 248 ++ drivers/common/octeontx2/otx2_common.h | 121 + 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 | 1483 +++++++++ .../rte_common_octeontx2_version.map | 39 + 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 | 303 ++ drivers/mempool/octeontx2/otx2_mempool_ops.c | 760 +++++ .../rte_mempool_octeontx2_version.map | 8 + mk/rte.app.mk | 6 + 43 files changed, 14380 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