[dpdk-dev] [PATCH v4 00/27] OCTEON TX2 common and mempool driver

Ferruh Yigit ferruh.yigit at intel.com
Wed Jun 26 15:14:09 CEST 2019


On 6/22/2019 2:23 PM, jerinj at marvell.com wrote:
> From: Jerin Jacob <jerinj at 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 <thomas at 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 *)


More information about the dev mailing list