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

Jerin Jacob Kollanukkaran jerinj at marvell.com
Thu Jun 27 10:15:17 CEST 2019



> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> Sent: Wednesday, June 26, 2019 6:44 PM
> To: Jerin Jacob Kollanukkaran <jerinj at marvell.com>
> Cc: dev at dpdk.org; Thomas Monjalon <thomas at monjalon.net>
> Subject: [EXT] Re: [dpdk-dev] [PATCH v4 00/27] OCTEON TX2 common and
> mempool driver
> 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/ma
> > rvell/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?

Will install ICC and send the patches(excluding http://mails.dpdk.org/archives/dev/2019-June/135950.html)


> 
> 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(9
> 4): 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