[dpdk-dev,1/7] net/mrvl: sync compilation with musdk-17.10

Message ID 1512048743-23749-2-git-send-email-tdu@semihalf.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Tomasz Duszynski Nov. 30, 2017, 1:32 p.m. UTC
  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 <tdu@semihalf.com>
---
 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(-)
  

Comments

Jianbo Liu Dec. 1, 2017, 3:29 a.m. UTC | #1
The 11/30/2017 14:32, Tomasz Duszynski wrote:
> 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 <tdu@semihalf.com>
> ---
>  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)/lib
> diff --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.

>  #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 Duszynski Dec. 1, 2017, 9:03 a.m. UTC | #2
On Fri, Dec 01, 2017 at 11:29:07AM +0800, Jianbo Liu wrote:
> The 11/30/2017 14:32, Tomasz Duszynski wrote:
> > 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 <tdu@semihalf.com>
> > ---
> >  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)/lib
> > diff --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.

>
> >  #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
  

Patch

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)/lib
diff --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>
 #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>