On 11/21/2016 3:00 PM, Andrew Rybchenko wrote: > The PMD is put into the sfc/efx subdirectory to have a place for > the second PMD and library shared by both. > > Enable the PMD by default on supported configuratons. > > Reviewed-by: Andy Moreton <amoreton at solarflare.com> > Signed-off-by: Andrew Rybchenko <arybchenko at solarflare.com> > --- > MAINTAINERS | 6 ++ > config/common_base | 6 ++ > config/defconfig_arm-armv7a-linuxapp-gcc | 1 + > config/defconfig_arm64-armv8a-linuxapp-gcc | 1 + > config/defconfig_i686-native-linuxapp-gcc | 5 + > config/defconfig_i686-native-linuxapp-icc | 5 + > config/defconfig_ppc_64-power8-linuxapp-gcc | 1 + > config/defconfig_tile-tilegx-linuxapp-gcc | 1 + > config/defconfig_x86_64-native-linuxapp-icc | 5 + > config/defconfig_x86_x32-native-linuxapp-gcc | 5 + > doc/guides/nics/features/sfc_efx.ini | 10 ++ > doc/guides/nics/index.rst | 1 + > doc/guides/nics/sfc_efx.rst | 109 +++++++++++++++++++++
Can you also update release notes please, to announce new driver. <...> > diff --git a/drivers/net/sfc/efx/Makefile b/drivers/net/sfc/efx/Makefile > new file mode 100644 > index 0000000..71f07ca > --- /dev/null > +++ b/drivers/net/sfc/efx/Makefile > @@ -0,0 +1,81 @@ <...> > + > +include $(RTE_SDK)/mk/rte.vars.mk > + > +# > +# library name > +# > +LIB = librte_pmd_sfc_efx.a > + > +CFLAGS += -O3 > + > +# Enable basic warnings but disable some which are accepted > +CFLAGS += -Wall It is possible to use $(WERROR_FLAGS), which set automatically based on selected compiler. See mk/toolchain/* . And you can add extra options here, please keep in mind that there are three compiler supported right now: gcc, clang and icc. You may require to add compiler and version checks.. > +CFLAGS += -Wno-strict-aliasing > + > +# Enable extra warnings but disable some which are accepted > +CFLAGS += -Wextra > +CFLAGS += -Wno-empty-body > +CFLAGS += -Wno-sign-compare > +CFLAGS += -Wno-type-limits > +CFLAGS += -Wno-unused-parameter Is there a way to not disable these warnings but fix in the source code? Or move to CFLAGS_BASE_DRIVER, if the reason is the base driver? > + > +# More warnings not enabled by above aggregators > +CFLAGS += -Waggregate-return > +CFLAGS += -Wbad-function-cast > +CFLAGS += -Wcast-qual > +CFLAGS += -Wdisabled-optimization > +CFLAGS += -Wmissing-declarations > +CFLAGS += -Wmissing-prototypes > +CFLAGS += -Wnested-externs > +CFLAGS += -Wold-style-definition > +CFLAGS += -Wpointer-arith > +CFLAGS += -Wstrict-prototypes > +CFLAGS += -Wundef > +CFLAGS += -Wwrite-strings If you believe some can be useful for everybody, please feel free to add to mk/toolchain/* . > + > +EXPORT_MAP := rte_pmd_sfc_efx_version.map > + > +LIBABIVER := 1 > + > +# > +# all source are stored in SRCS-y > +# > +SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ethdev.c > +SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_kvargs.c > + > + > +# this lib depends upon: > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_eal > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_kvargs > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_ether > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_mempool > +DEPDIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += lib/librte_mbuf > + > +include $(RTE_SDK)/mk/rte.lib.mk > diff --git a/drivers/net/sfc/efx/rte_pmd_sfc_efx_version.map > b/drivers/net/sfc/efx/rte_pmd_sfc_efx_version.map > new file mode 100644 > index 0000000..1901bcb > --- /dev/null > +++ b/drivers/net/sfc/efx/rte_pmd_sfc_efx_version.map > @@ -0,0 +1,4 @@ > +DPDK_16.07 { Now this become 17.02 > + > + local: *; > +}; > diff --git a/drivers/net/sfc/efx/sfc.h b/drivers/net/sfc/efx/sfc.h > new file mode 100644 > index 0000000..16fd2bb > --- /dev/null > +++ b/drivers/net/sfc/efx/sfc.h > @@ -0,0 +1,53 @@ <..> > + > +#ifndef _SFC_H > +#define _SFC_H s/^I/ / This also exists in other locations and files.. <...>