On 6/22/2019 2:23 PM, jer...@marvell.com wrote: > From: Jerin Jacob <jer...@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/ > > v4: > 1) Add comments for O3 attribue flag (Aaron Conole) in "mempool/octeontx2: > add optimized dequeue operation for arm64" > patch > 2) Update "common/octeontx2: add mbox request and response definition" to > reflect latest mbox defintions > 3) rebase to dpdk.org master(as of 22-June) > 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 <tho...@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
Hi Jerin, There are some build errors with ICC, there are multiple but mainly two type of them [1a] & [1b]. I think [1b] can be fixed quickly [2b] and what do you think about ignoring the warning for [1a] as done in [2a]? If fix makes sense, can you please send a patch for it? Thanks, ferruh [1a] error #2259 .../dpdk/drivers/common/octeontx2/otx2_mbox.c(47): error #2259: non-pointer conversion from "unsigned long long" to "struct mbox_hdr *" may lose significant bits (struct mbox_hdr *)((uintptr_t)mdev->mbase + mbox->tx_start); ^ /tmp/dpdk_maintain/self/dpdk/drivers/mempool/octeontx2/otx2_mempool.h(94): error #2259: non-pointer conversion from "unsigned long long" to "int64_t={__int64_t={signed long long}} *" may lose significant bits (int64_t *)(npa_lf_aura_handle_to_base(aura_handle) + ^ [1b] error #191 .../dpdk/drivers/mempool/octeontx2/otx2_mempool_ops.c(344): error #191: type qualifier is meaningless on cast type int64_t * const addr = (int64_t * const) ^ [2a] diff --git a/drivers/common/octeontx2/Makefile b/drivers/common/octeontx2/Makefile index fabc32537..b78995e12 100644 --- a/drivers/common/octeontx2/Makefile +++ b/drivers/common/octeontx2/Makefile @@ -19,6 +19,10 @@ CFLAGS += -Wno-int-to-pointer-cast CFLAGS += -Wno-pointer-to-int-cast endif +ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) +CFLAGS += -diag-disable 2259 # non-pointer conversion may lose significant bits +endif + EXPORT_MAP := rte_common_octeontx2_version.map LIBABIVER := 1 diff --git a/drivers/mempool/octeontx2/Makefile b/drivers/mempool/octeontx2 /Makefile index b3568443e..37bcebdf3 100644 --- a/drivers/mempool/octeontx2/Makefile +++ b/drivers/mempool/octeontx2/Makefile @@ -20,6 +20,10 @@ CFLAGS += -Wno-int-to-pointer-cast CFLAGS += -Wno-pointer-to-int-cast endif +ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) +CFLAGS += -diag-disable 2259 # non-pointer conversion may lose significant bits +endif + EXPORT_MAP := rte_mempool_octeontx2_version.map LIBABIVER := 1 [2b] - int64_t * const addr = (int64_t * const) + int64_t * const addr = (int64_t *)