From: Pavan Nikhilesh Bhagavatula <pbhagavatula@caviumnetworks.com>
To: Santosh Shukla <santosh.shukla@caviumnetworks.com>,
jerin.jacob@caviumnetworks.com
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v1 1/2] mempool/octeontx: move mbox from event to mempool
Date: Wed, 18 Oct 2017 10:16:13 +0530 [thread overview]
Message-ID: <20171018044612.GA3800@PBHAGAVATULA-LT> (raw)
In-Reply-To: <20171016134247.5431-1-santosh.shukla@caviumnetworks.com>
On Mon, Oct 16, 2017 at 01:42:46PM +0000, Santosh Shukla wrote:
> Octeontx mempool pmd need mailbox for pool setup.
> That mailbox was defined at drivers/event/octeontx.
> So mempool has dependency on event/octeontx driver and
> commit:8700239f7767 has added make rule which makes sure event/*
> get build before mempool, but this rule introduces
> cyclic dependency and may create problem to future
> feature addition in drivers/Makefile.
>
> Same problem noticed and reported in below thread:
> http://dpdk.org/ml/archives/dev/2017-October/079187.html
>
> The patch solves problem by moving mbox definition from
> drivers/event/octeontx to drivers/mempool/octeontx.
> Moving mbox files involves below changes:
>
> * Renamed ssovf_mbox.[ch] --> octeontx_mbox.[ch]
> * Renamed ssovf_probe.c --> octeontx_ssovf.c
> * Introduced pool logger file.
> * Moved API from rte_pmd_octeontx_ssovf_version.map to
> rte_mempool_octeontx_version.map.
> * Respective Makefile changes done in
> drivers/event/octeontx/Makefile and drivers/mempool/octeontx/Makefile.
>
> Fixes: 8700239f7767 ("mempool/octeontx: add build and log infrastructure")
>
> Reported-by: Hemant Agrawal <hemant.agrawal@nxp.com>
> Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
> ---
> drivers/Makefile | 6 +-
> drivers/event/Makefile | 2 +-
> drivers/event/octeontx/Makefile | 6 +-
> .../octeontx/rte_pmd_octeontx_ssovf_version.map | 6 --
> drivers/event/octeontx/ssovf_evdev.h | 9 +--
> drivers/event/octeontx/ssovf_worker.h | 1 +
> drivers/mempool/Makefile | 2 +-
> drivers/mempool/octeontx/Makefile | 10 +---
> drivers/mempool/octeontx/octeontx_fpavf.c | 2 +-
> drivers/mempool/octeontx/octeontx_fpavf.h | 19 +-----
> .../octeontx/octeontx_mbox.c} | 12 ++--
> .../octeontx/octeontx_mbox.h} | 9 ++-
> drivers/mempool/octeontx/octeontx_pool_logs.h | 68 ++++++++++++++++++++++
> .../octeontx/octeontx_ssovf.c} | 30 ++++++----
> .../octeontx/rte_mempool_octeontx_version.map | 5 ++
> drivers/net/Makefile | 2 +-
> drivers/net/octeontx/Makefile | 1 -
> drivers/net/octeontx/base/octeontx_bgx.h | 2 +-
> drivers/net/octeontx/base/octeontx_pkivf.h | 2 +-
> 19 files changed, 120 insertions(+), 74 deletions(-)
> rename drivers/{event/octeontx/ssovf_mbox.c => mempool/octeontx/octeontx_mbox.c} (95%)
> rename drivers/{event/octeontx/rte_pmd_octeontx_ssovf.h => mempool/octeontx/octeontx_mbox.h} (93%)
> create mode 100644 drivers/mempool/octeontx/octeontx_pool_logs.h
> rename drivers/{event/octeontx/ssovf_probe.c => mempool/octeontx/octeontx_ssovf.c} (89%)
>
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 3a5b22342..0467250aa 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -32,13 +32,13 @@
> include $(RTE_SDK)/mk/rte.vars.mk
>
> DIRS-y += bus
> -DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
> -DEPDIRS-event := bus
> DIRS-y += mempool
> -DEPDIRS-mempool := bus event
> +DEPDIRS-mempool := bus
> DIRS-y += net
> DEPDIRS-net := bus mempool
> DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += crypto
> DEPDIRS-crypto := bus mempool
> +DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
> +DEPDIRS-event := bus mempool
>
> include $(RTE_SDK)/mk/rte.subdir.mk
> diff --git a/drivers/event/Makefile b/drivers/event/Makefile
> index 3f6b8988a..d09be74da 100644
> --- a/drivers/event/Makefile
> +++ b/drivers/event/Makefile
> @@ -38,7 +38,7 @@ DEPDIRS-skeleton = $(core-libs)
> DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw
> DEPDIRS-sw = $(core-libs) librte_kvargs librte_ring
> DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx
> -DEPDIRS-octeontx = $(core-libs)
> +DEPDIRS-octeontx = $(core-libs) librte_mempool_octeontx
> DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2
> DEPDIRS-dpaa2 = $(core-libs) librte_bus_fslmc
>
> diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
> index e5661ca82..50434a384 100644
> --- a/drivers/event/octeontx/Makefile
> +++ b/drivers/event/octeontx/Makefile
> @@ -38,6 +38,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
> LIB = librte_pmd_octeontx_ssovf.a
>
> CFLAGS += $(WERROR_FLAGS)
> +CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
>
> EXPORT_MAP := rte_pmd_octeontx_ssovf_version.map
>
> @@ -48,8 +49,6 @@ LIBABIVER := 1
> #
> SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_worker.c
> SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev.c
> -SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_probe.c
> -SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_mbox.c
>
> ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
> CFLAGS_ssovf_worker.o += -fno-prefetch-loop-arrays
> @@ -64,7 +63,4 @@ else
> CFLAGS_ssovf_worker.o += -Ofast
> endif
>
> -# install this header file
> -SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)-include := rte_pmd_octeontx_ssovf.h
> -
> include $(RTE_SDK)/mk/rte.lib.mk
> diff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map b/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
> index 3810a03f3..5352e7e3b 100644
> --- a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
> +++ b/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map
> @@ -1,9 +1,3 @@
> DPDK_17.05 {
> - global:
> -
> - octeontx_ssovf_info;
> - octeontx_ssovf_bar;
> - octeontx_ssovf_mbox_send;
> -
> local: *;
> };
> diff --git a/drivers/event/octeontx/ssovf_evdev.h b/drivers/event/octeontx/ssovf_evdev.h
> index 1cdc81047..933c5a365 100644
> --- a/drivers/event/octeontx/ssovf_evdev.h
> +++ b/drivers/event/octeontx/ssovf_evdev.h
> @@ -37,7 +37,7 @@
> #include <rte_eventdev_pmd_vdev.h>
> #include <rte_io.h>
>
> -#include "rte_pmd_octeontx_ssovf.h"
> +#include <octeontx_mbox.h>
>
> #define EVENTDEV_NAME_OCTEONTX_PMD event_octeontx
>
> @@ -58,10 +58,6 @@
> RTE_LOG(ERR, EVENTDEV, "[%s] %s() " fmt "\n", \
> RTE_STR(EVENTDEV_NAME_OCTEONTX_PMD), __func__, ## args)
>
> -#define PCI_VENDOR_ID_CAVIUM 0x177D
> -#define PCI_DEVICE_ID_OCTEONTX_SSOGRP_VF 0xA04B
> -#define PCI_DEVICE_ID_OCTEONTX_SSOWS_VF 0xA04D
> -
> #define SSO_MAX_VHGRP (64)
> #define SSO_MAX_VHWS (32)
>
> @@ -76,7 +72,6 @@
> #define SSO_VHGRP_XAQ_CNT (0x1B0ULL)
> #define SSO_VHGRP_AQ_CNT (0x1C0ULL)
> #define SSO_VHGRP_AQ_THR (0x1E0ULL)
> -#define SSO_VHGRP_PF_MBOX(x) (0x200ULL | ((x) << 3))
>
> /* BAR2 */
> #define SSO_VHGRP_OP_ADD_WORK0 (0x00ULL)
> @@ -107,8 +102,6 @@
> #define SSOW_VHWS_OP_GET_WORK0 (0x80000ULL)
> #define SSOW_VHWS_OP_GET_WORK1 (0x80008ULL)
>
> -#define SSOW_BAR4_LEN (64 * 1024)
> -
> /* Mailbox message constants */
> #define SSO_COPROC 0x2
>
> diff --git a/drivers/event/octeontx/ssovf_worker.h b/drivers/event/octeontx/ssovf_worker.h
> index 55f72555a..8dc1264ab 100644
> --- a/drivers/event/octeontx/ssovf_worker.h
> +++ b/drivers/event/octeontx/ssovf_worker.h
> @@ -35,6 +35,7 @@
> #include <rte_branch_prediction.h>
>
> #include "ssovf_evdev.h"
> +#include <octeontx_mbox.h>
>
> enum {
> SSO_SYNC_ORDERED,
> diff --git a/drivers/mempool/Makefile b/drivers/mempool/Makefile
> index 18cbaa293..ce5d02cf7 100644
> --- a/drivers/mempool/Makefile
> +++ b/drivers/mempool/Makefile
> @@ -41,6 +41,6 @@ DEPDIRS-ring = $(core-libs)
> DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack
> DEPDIRS-stack = $(core-libs)
> DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx
> -DEPDIRS-octeontx = $(core-libs) librte_pmd_octeontx_ssovf
> +DEPDIRS-octeontx = $(core-libs)
>
> include $(RTE_SDK)/mk/rte.subdir.mk
> diff --git a/drivers/mempool/octeontx/Makefile b/drivers/mempool/octeontx/Makefile
> index 0b2043842..f2fa22b9b 100644
> --- a/drivers/mempool/octeontx/Makefile
> +++ b/drivers/mempool/octeontx/Makefile
> @@ -36,13 +36,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
> #
> LIB = librte_mempool_octeontx.a
>
> -ifeq ($(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL_DEBUG),y)
> -CFLAGS += -O0 -g
> -else
> -CFLAGS += -O3
> CFLAGS += $(WERROR_FLAGS)
> -endif
> -
> EXPORT_MAP := rte_mempool_octeontx_version.map
>
> LIBABIVER := 1
> @@ -50,6 +44,8 @@ LIBABIVER := 1
> #
> # all source are stored in SRCS-y
> #
> +SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx_ssovf.c
> +SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx_mbox.c
> SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx_fpavf.c
> SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += rte_mempool_octeontx.c
>
> @@ -69,6 +65,4 @@ endif
> # this lib depends upon:
> DEPDIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += lib/librte_mbuf
>
> -LDLIBS += -lrte_pmd_octeontx_ssovf
> -
> include $(RTE_SDK)/mk/rte.lib.mk
> diff --git a/drivers/mempool/octeontx/octeontx_fpavf.c b/drivers/mempool/octeontx/octeontx_fpavf.c
> index 8d5c2a689..3c441fd3e 100644
> --- a/drivers/mempool/octeontx/octeontx_fpavf.c
> +++ b/drivers/mempool/octeontx/octeontx_fpavf.c
> @@ -48,7 +48,7 @@
> #include <rte_spinlock.h>
> #include <rte_mbuf.h>
>
> -#include <rte_pmd_octeontx_ssovf.h>
> +#include "octeontx_mbox.h"
> #include "octeontx_fpavf.h"
>
> /* FPA Mbox Message */
> diff --git a/drivers/mempool/octeontx/octeontx_fpavf.h b/drivers/mempool/octeontx/octeontx_fpavf.h
> index 7a39cd22c..1d09f0079 100644
> --- a/drivers/mempool/octeontx/octeontx_fpavf.h
> +++ b/drivers/mempool/octeontx/octeontx_fpavf.h
> @@ -33,25 +33,8 @@
> #ifndef __OCTEONTX_FPAVF_H__
> #define __OCTEONTX_FPAVF_H__
>
> -#include <rte_debug.h>
> #include <rte_io.h>
> -
> -#ifdef RTE_LIBRTE_OCTEONTX_MEMPOOL_DEBUG
> -#define fpavf_log_info(fmt, args...) \
> - RTE_LOG(INFO, PMD, "%s() line %u: " fmt "\n", \
> - __func__, __LINE__, ## args)
> -#define fpavf_log_dbg(fmt, args...) \
> - RTE_LOG(DEBUG, PMD, "%s() line %u: " fmt "\n", \
> - __func__, __LINE__, ## args)
> -#else
> -#define fpavf_log_info(fmt, args...)
> -#define fpavf_log_dbg(fmt, args...)
> -#endif
> -
> -#define fpavf_func_trace fpavf_log_dbg
> -#define fpavf_log_err(fmt, args...) \
> - RTE_LOG(ERR, PMD, "%s() line %u: " fmt "\n", \
> - __func__, __LINE__, ## args)
> +#include "octeontx_pool_logs.h"
>
> /* fpa pool Vendor ID and Device ID */
> #define PCI_VENDOR_ID_CAVIUM 0x177D
> diff --git a/drivers/event/octeontx/ssovf_mbox.c b/drivers/mempool/octeontx/octeontx_mbox.c
> similarity index 95%
> rename from drivers/event/octeontx/ssovf_mbox.c
> rename to drivers/mempool/octeontx/octeontx_mbox.c
> index 9ed417d1a..9525da1aa 100644
> --- a/drivers/event/octeontx/ssovf_mbox.c
> +++ b/drivers/mempool/octeontx/octeontx_mbox.c
> @@ -38,10 +38,11 @@
> #include <rte_io.h>
> #include <rte_spinlock.h>
>
> -#include "ssovf_evdev.h"
> +#include "octeontx_mbox.h"
> +#include "octeontx_pool_logs.h"
>
> /* Mbox operation timeout in seconds */
> -#define MBOX_WAIT_TIME_SEC 3
> +#define MBOX_WAIT_TIME_SEC 3
> #define MAX_RAM_MBOX_LEN ((SSOW_BAR4_LEN >> 1) - 8 /* Mbox header */)
>
> /* Mbox channel state */
> @@ -87,7 +88,6 @@ struct mbox_ram_hdr {
> };
> };
>
> -
> static inline void
> mbox_msgcpy(uint8_t *d, const uint8_t *s, uint16_t size)
> {
> @@ -181,7 +181,7 @@ mbox_wait_response(struct mbox *m, struct octeontx_mbox_hdr *hdr,
> return len;
>
> error:
> - ssovf_log_err("Failed to send mbox(%d/%d) coproc=%d msg=%d ret=(%d,%d)",
> + mbox_log_err("Failed to send mbox(%d/%d) coproc=%d msg=%d ret=(%d,%d)",
> m->tag_own, rx_hdr.tag, hdr->coproc, hdr->msg, res,
> hdr->res_code);
> return res;
> @@ -195,7 +195,7 @@ mbox_send(struct mbox *m, struct octeontx_mbox_hdr *hdr, const void *txmsg,
>
> if (m->init_once == 0 || hdr == NULL ||
> txsize > MAX_RAM_MBOX_LEN || rxsize > MAX_RAM_MBOX_LEN) {
> - ssovf_log_err("Invalid init_once=%d hdr=%p txsz=%d rxsz=%d",
> + mbox_log_err("Invalid init_once=%d hdr=%p txsz=%d rxsz=%d",
> m->init_once, hdr, txsize, rxsize);
> return res;
> }
> @@ -219,7 +219,7 @@ mbox_setup(struct mbox *m)
> m->reg += SSO_VHGRP_PF_MBOX(1);
>
> if (m->ram_mbox_base == NULL || m->reg == NULL) {
> - ssovf_log_err("Invalid ram_mbox_base=%p or reg=%p",
> + mbox_log_err("Invalid ram_mbox_base=%p or reg=%p",
> m->ram_mbox_base, m->reg);
> return -EINVAL;
> }
> diff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf.h b/drivers/mempool/octeontx/octeontx_mbox.h
> similarity index 93%
> rename from drivers/event/octeontx/rte_pmd_octeontx_ssovf.h
> rename to drivers/mempool/octeontx/octeontx_mbox.h
> index ba6d51422..49f38257e 100644
> --- a/drivers/event/octeontx/rte_pmd_octeontx_ssovf.h
> +++ b/drivers/mempool/octeontx/octeontx_mbox.h
> @@ -30,11 +30,14 @@
> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> */
>
> -#ifndef __RTE_PMD_OCTEONTX_SSOVF_H__
> -#define __RTE_PMD_OCTEONTX_SSOVF_H__
> +#ifndef __OCTEONTX_MBOX_H__
> +#define __OCTEONTX_MBOX_H__
>
> #include <rte_common.h>
>
> +#define SSOW_BAR4_LEN (64 * 1024)
> +#define SSO_VHGRP_PF_MBOX(x) (0x200ULL | ((x) << 3))
> +
> struct octeontx_ssovf_info {
> uint16_t domain; /* Domain id */
> uint8_t total_ssovfs; /* Total sso groups available in domain */
> @@ -58,4 +61,4 @@ void *octeontx_ssovf_bar(enum octeontx_ssovf_type, uint8_t id, uint8_t bar);
> int octeontx_ssovf_mbox_send(struct octeontx_mbox_hdr *hdr,
> void *txdata, uint16_t txlen, void *rxdata, uint16_t rxlen);
>
> -#endif /* __RTE_PMD_OCTEONTX_SSOVF_H__ */
> +#endif /* __OCTEONTX_MBOX_H__ */
> diff --git a/drivers/mempool/octeontx/octeontx_pool_logs.h b/drivers/mempool/octeontx/octeontx_pool_logs.h
> new file mode 100644
> index 000000000..58ccb0f0e
> --- /dev/null
> +++ b/drivers/mempool/octeontx/octeontx_pool_logs.h
> @@ -0,0 +1,68 @@
> +/*
> + * BSD LICENSE
> + *
> + * Copyright (C) 2017 Cavium Inc. All rights reserved.
> + *
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + *
> + * * Redistributions of source code must retain the above copyright
> + * notice, this list of conditions and the following disclaimer.
> + * * Redistributions in binary form must reproduce the above copyright
> + * notice, this list of conditions and the following disclaimer in
> + * the documentation and/or other materials provided with the
> + * distribution.
> + * * Neither the name of Cavium networks nor the names of its
> + * contributors may be used to endorse or promote products derived
> + * from this software without specific prior written permission.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
> + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
> + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
> + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> +#ifndef __OCTEONTX_POOL_LOGS_H__
> +#define __OCTEONTX_POOL_LOGS_H__
> +
> +#include <rte_debug.h>
> +
> +#ifdef RTE_LIBRTE_OCTEONTX_MEMPOOL_DEBUG
> +#define fpavf_log_info(fmt, args...) \
> + RTE_LOG(INFO, PMD, "%s() line %u: " fmt "\n", \
> + __func__, __LINE__, ## args)
> +#define fpavf_log_dbg(fmt, args...) \
> + RTE_LOG(DEBUG, PMD, "%s() line %u: " fmt "\n", \
> + __func__, __LINE__, ## args)
> +
> +#define mbox_log_info(fmt, args...) \
> + RTE_LOG(INFO, PMD, "%s() line %u: " fmt "\n", \
> + __func__, __LINE__, ## args)
> +#define mbox_log_dbg(fmt, args...) \
> + RTE_LOG(DEBUG, PMD, "%s() line %u: " fmt "\n", \
> + __func__, __LINE__, ## args)
> +#else
> +#define fpavf_log_info(fmt, args...)
> +#define fpavf_log_dbg(fmt, args...)
> +#define mbox_log_info(fmt, args...)
> +#define mbox_log_dbg(fmt, args...)
> +#endif
> +
> +#define fpavf_func_trace fpavf_log_dbg
> +#define fpavf_log_err(fmt, args...) \
> + RTE_LOG(ERR, PMD, "%s() line %u: " fmt "\n", \
> + __func__, __LINE__, ## args)
> +#define mbox_func_trace mbox_log_dbg
> +#define mbox_log_err(fmt, args...) \
> + RTE_LOG(ERR, PMD, "%s() line %u: " fmt "\n", \
> + __func__, __LINE__, ## args)
> +
> +#endif /* __OCTEONTX_POOL_LOGS_H__*/
> diff --git a/drivers/event/octeontx/ssovf_probe.c b/drivers/mempool/octeontx/octeontx_ssovf.c
> similarity index 89%
> rename from drivers/event/octeontx/ssovf_probe.c
> rename to drivers/mempool/octeontx/octeontx_ssovf.c
> index e1c0c6d50..9953b2eac 100644
> --- a/drivers/event/octeontx/ssovf_probe.c
> +++ b/drivers/mempool/octeontx/octeontx_ssovf.c
> @@ -36,7 +36,17 @@
> #include <rte_io.h>
> #include <rte_pci.h>
>
> -#include "ssovf_evdev.h"
> +#include "octeontx_mbox.h"
> +#include "octeontx_pool_logs.h"
> +
> +#define PCI_VENDOR_ID_CAVIUM 0x177D
> +#define PCI_DEVICE_ID_OCTEONTX_SSOGRP_VF 0xA04B
> +#define PCI_DEVICE_ID_OCTEONTX_SSOWS_VF 0xA04D
> +
> +#define SSO_MAX_VHGRP (64)
> +#define SSO_MAX_VHWS (32)
> +
> +#define SSO_VHGRP_AQ_THR (0x1E0ULL)
>
> struct ssovf_res {
> uint16_t domain;
> @@ -86,7 +96,7 @@ octeontx_ssovf_info(struct octeontx_ssovf_info *info)
> if (sdev.grp[i].vfid != i ||
> sdev.grp[i].bar0 == NULL ||
> sdev.grp[i].domain != domain) {
> - ssovf_log_err("GRP error, vfid=%d/%d domain=%d/%d %p",
> + mbox_log_err("GRP error, vfid=%d/%d domain=%d/%d %p",
> i, sdev.grp[i].vfid,
> domain, sdev.grp[i].domain,
> sdev.grp[i].bar0);
> @@ -99,7 +109,7 @@ octeontx_ssovf_info(struct octeontx_ssovf_info *info)
> if (sdev.hws[i].vfid != i ||
> sdev.hws[i].bar0 == NULL ||
> sdev.hws[i].domain != domain) {
> - ssovf_log_err("HWS error, vfid=%d/%d domain=%d/%d %p",
> + mbox_log_err("HWS error, vfid=%d/%d domain=%d/%d %p",
> i, sdev.hws[i].vfid,
> domain, sdev.hws[i].domain,
> sdev.hws[i].bar0);
> @@ -169,7 +179,7 @@ ssowvf_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
> if (pci_dev->mem_resource[0].addr == NULL ||
> pci_dev->mem_resource[2].addr == NULL ||
> pci_dev->mem_resource[4].addr == NULL) {
> - ssovf_log_err("Empty bars %p %p %p",
> + mbox_log_err("Empty bars %p %p %p",
> pci_dev->mem_resource[0].addr,
> pci_dev->mem_resource[2].addr,
> pci_dev->mem_resource[4].addr);
> @@ -177,7 +187,7 @@ ssowvf_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
> }
>
> if (pci_dev->mem_resource[4].len != SSOW_BAR4_LEN) {
> - ssovf_log_err("Bar4 len mismatch %d != %d",
> + mbox_log_err("Bar4 len mismatch %d != %d",
> SSOW_BAR4_LEN, (int)pci_dev->mem_resource[4].len);
> return -EINVAL;
> }
> @@ -185,7 +195,7 @@ ssowvf_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
> id = pci_dev->mem_resource[4].addr;
> vfid = id->vfid;
> if (vfid >= SSO_MAX_VHWS) {
> - ssovf_log_err("Invalid vfid(%d/%d)", vfid, SSO_MAX_VHWS);
> + mbox_log_err("Invalid vfid(%d/%d)", vfid, SSO_MAX_VHWS);
> return -EINVAL;
> }
>
> @@ -198,7 +208,7 @@ ssowvf_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
>
> sdev.total_ssowvfs++;
> rte_wmb();
> - ssovf_log_dbg("Domain=%d hws=%d total_ssowvfs=%d", res->domain,
> + mbox_log_dbg("Domain=%d hws=%d total_ssowvfs=%d", res->domain,
> res->vfid, sdev.total_ssowvfs);
> return 0;
> }
> @@ -239,7 +249,7 @@ ssovf_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
>
> if (pci_dev->mem_resource[0].addr == NULL ||
> pci_dev->mem_resource[2].addr == NULL) {
> - ssovf_log_err("Empty bars %p %p",
> + mbox_log_err("Empty bars %p %p",
> pci_dev->mem_resource[0].addr,
> pci_dev->mem_resource[2].addr);
> return -ENODEV;
> @@ -252,7 +262,7 @@ ssovf_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
> rte_write64((1ULL << 33) - 1, idreg);
> vfid = (val >> 16) & 0xffff;
> if (vfid >= SSO_MAX_VHGRP) {
> - ssovf_log_err("Invalid vfid (%d/%d)", vfid, SSO_MAX_VHGRP);
> + mbox_log_err("Invalid vfid (%d/%d)", vfid, SSO_MAX_VHGRP);
> return -EINVAL;
> }
>
> @@ -264,7 +274,7 @@ ssovf_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev)
>
> sdev.total_ssovfs++;
> rte_wmb();
> - ssovf_log_dbg("Domain=%d group=%d total_ssovfs=%d", res->domain,
> + mbox_log_dbg("Domain=%d group=%d total_ssovfs=%d", res->domain,
> res->vfid, sdev.total_ssovfs);
> return 0;
> }
> diff --git a/drivers/mempool/octeontx/rte_mempool_octeontx_version.map b/drivers/mempool/octeontx/rte_mempool_octeontx_version.map
> index a70bd197b..fe8cdeca0 100644
> --- a/drivers/mempool/octeontx/rte_mempool_octeontx_version.map
> +++ b/drivers/mempool/octeontx/rte_mempool_octeontx_version.map
> @@ -1,4 +1,9 @@
> DPDK_17.11 {
> + global:
> +
> + octeontx_ssovf_info;
> + octeontx_ssovf_bar;
> + octeontx_ssovf_mbox_send;
>
> local: *;
> };
> diff --git a/drivers/net/Makefile b/drivers/net/Makefile
> index 5d2ad2f8a..012af881a 100644
> --- a/drivers/net/Makefile
> +++ b/drivers/net/Makefile
> @@ -84,7 +84,7 @@ DEPDIRS-bnxt = $(core-libs)
> DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
> DEPDIRS-null = $(core-libs)
> DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx
> -DEPDIRS-octeontx = $(core-libs) librte_eventdev librte_pmd_octeontx_ssovf
> +DEPDIRS-octeontx = $(core-libs) librte_mempool_octeontx librte_eventdev
> DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
> DEPDIRS-pcap = $(core-libs)
> DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede
> diff --git a/drivers/net/octeontx/Makefile b/drivers/net/octeontx/Makefile
> index 4d6c67c54..827319de5 100644
> --- a/drivers/net/octeontx/Makefile
> +++ b/drivers/net/octeontx/Makefile
> @@ -62,6 +62,5 @@ endif
> CFLAGS_octeontx_rxtx.o += -O3 -Ofast
>
> LDLIBS += -lrte_eventdev
> -LDLIBS += -lrte_pmd_octeontx_ssovf
>
> include $(RTE_SDK)/mk/rte.lib.mk
> diff --git a/drivers/net/octeontx/base/octeontx_bgx.h b/drivers/net/octeontx/base/octeontx_bgx.h
> index 02aa7e6f4..f740a1d99 100644
> --- a/drivers/net/octeontx/base/octeontx_bgx.h
> +++ b/drivers/net/octeontx/base/octeontx_bgx.h
> @@ -36,7 +36,7 @@
> #include <stddef.h>
> #include <stdint.h>
>
> -#include <rte_pmd_octeontx_ssovf.h>
> +#include <octeontx_mbox.h>
>
> #define OCTEONTX_BGX_COPROC 6
>
> diff --git a/drivers/net/octeontx/base/octeontx_pkivf.h b/drivers/net/octeontx/base/octeontx_pkivf.h
> index b6e9edc6a..7cf8332c5 100644
> --- a/drivers/net/octeontx/base/octeontx_pkivf.h
> +++ b/drivers/net/octeontx/base/octeontx_pkivf.h
> @@ -35,7 +35,7 @@
>
> #include <stdint.h>
>
> -#include <rte_pmd_octeontx_ssovf.h>
> +#include <octeontx_mbox.h>
>
> #define OCTEONTX_PKI_COPROC 5
>
> --
> 2.13.0
>
Reviewed-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
next prev parent reply other threads:[~2017-10-18 4:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-16 13:42 Santosh Shukla
2017-10-16 13:42 ` [dpdk-dev] [PATCH v1 2/2] event/octeontx: bump library version Santosh Shukla
2017-10-17 9:50 ` Hemant Agrawal
2017-10-23 14:38 ` Thomas Monjalon
2017-10-17 9:49 ` [dpdk-dev] [PATCH v1 1/2] mempool/octeontx: move mbox from event to mempool Hemant Agrawal
2017-10-21 9:51 ` Jerin Jacob
2017-10-18 4:46 ` Pavan Nikhilesh Bhagavatula [this message]
2017-10-23 14:50 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171018044612.GA3800@PBHAGAVATULA-LT \
--to=pbhagavatula@caviumnetworks.com \
--cc=dev@dpdk.org \
--cc=jerin.jacob@caviumnetworks.com \
--cc=santosh.shukla@caviumnetworks.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).