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