Re: [PATCH 1/7] net/mrvl: sync compilation with musdk-17.10
From: Tomasz Duszynski <hidden>
Date: 2017-12-01 09:03:08
On Fri, Dec 01, 2017 at 11:29:07AM +0800, Jianbo Liu wrote:
The 11/30/2017 14:32, Tomasz Duszynski wrote:quoted
Followig changes are needed to switch to musdk-17.10: - With a new version of the musdk library it's no longer necessary to explicitly define MVCONF_ARCH_DMA_ADDR_T_64BIT and CONF_PP2_BPOOL_COOKIE_SIZE. Proper defines are autogenerated by ./configure script based on passed options and available after mv_autogen_comp_flags.h inclusion. - API used to set promiscuous mode was renamed. Thus in order to compile against the latest library new API must be used. Signed-off-by: Tomasz Duszynski <redacted> --- drivers/net/mrvl/Makefile | 4 ++-- drivers/net/mrvl/mrvl_ethdev.c | 5 +++-- drivers/net/mrvl/mrvl_ethdev.h | 1 + 3 files changed, 6 insertions(+), 4 deletions(-)diff --git a/drivers/net/mrvl/Makefile b/drivers/net/mrvl/Makefile index 815c3ba..f75e53c 100644 --- a/drivers/net/mrvl/Makefile +++ b/drivers/net/mrvl/Makefile@@ -51,8 +51,8 @@ EXPORT_MAP := rte_pmd_mrvl_version.map # external library dependencies CFLAGS += -I$(LIBMUSDK_PATH)/include -CFLAGS += -DMVCONF_ARCH_DMA_ADDR_T_64BIT -CFLAGS += -DCONF_PP2_BPOOL_COOKIE_SIZE=32 +CFLAGS += -DMVCONF_TYPES_PUBLIC +CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC CFLAGS += $(WERROR_FLAGS) CFLAGS += -O3 LDLIBS += -L$(LIBMUSDK_PATH)/libdiff --git a/drivers/net/mrvl/mrvl_ethdev.c b/drivers/net/mrvl/mrvl_ethdev.c index 2936165..4fac797 100644 --- a/drivers/net/mrvl/mrvl_ethdev.c +++ b/drivers/net/mrvl/mrvl_ethdev.c@@ -47,6 +47,7 @@ #undef container_of #endif +#include <env/mv_autogen_comp_flags.h>Is it needed as you also included this file in mrvl_ethdev.h? I think you can move all the MUSDK headers to mrvl_ethdev.h to avoid the duplication.
It's needed here as well because it needs to be included before other MUSDK includes. So either mrvl_ethdev.h can be moved a little bit or all MUSDK related headers can go to mrvl_ethdev.h as you suggest. The latter option seems to be better choice though.
quoted
#include <drivers/mv_pp2.h> #include <drivers/mv_pp2_bpool.h> #include <drivers/mv_pp2_hif.h>@@ -690,7 +691,7 @@ mrvl_promiscuous_enable(struct rte_eth_dev *dev) struct mrvl_priv *priv = dev->data->dev_private; int ret; - ret = pp2_ppio_set_uc_promisc(priv->ppio, 1); + ret = pp2_ppio_set_promisc(priv->ppio, 1); if (ret) RTE_LOG(ERR, PMD, "Failed to enable promiscuous mode\n"); }@@ -724,7 +725,7 @@ mrvl_promiscuous_disable(struct rte_eth_dev *dev) struct mrvl_priv *priv = dev->data->dev_private; int ret; - ret = pp2_ppio_set_uc_promisc(priv->ppio, 0); + ret = pp2_ppio_set_promisc(priv->ppio, 0); if (ret) RTE_LOG(ERR, PMD, "Failed to disable promiscuous mode\n"); }diff --git a/drivers/net/mrvl/mrvl_ethdev.h b/drivers/net/mrvl/mrvl_ethdev.h index 2a4ab5a..252e7a3 100644 --- a/drivers/net/mrvl/mrvl_ethdev.h +++ b/drivers/net/mrvl/mrvl_ethdev.h@@ -36,6 +36,7 @@ #define _MRVL_ETHDEV_H_ #include <rte_spinlock.h> +#include <env/mv_autogen_comp_flags.h> #include <drivers/mv_pp2_cls.h> #include <drivers/mv_pp2_ppio.h> --2.7.4-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
-- - Tomasz Duszyński