On Thu, Oct 24, 2019 at 07:38:25PM +0800, Andy Pei wrote:
> From: Tianfei zhang <[email protected]>
>
> In PAC N3000 card, this is a BMC chip which using MAX10 FPGA
> to manage the board configuration, like sensors, flash controller,
> QSFP, powers. And this is a SPI bus connected between A10 FPGA and
> MAX10, we can access the MAX10 registers over this SPI bus.
>
> In BMC, there are about 19 sensors in MAX10 chip, including the FPGA
> core temperature, Board temperature, board current, voltage and so on.
>
> We use DTB (Device tree table) to describe it. This DTB file is store
> in nor flash partition, which will flashed in Factory when the boards
> delivery to customers. And the same time, the customers can easy to
> customizate the BMC configuration like change the sensors.
>
> Add device tree support by using libfdt library in Linux distribution.
> The end-user should pre-install the libfdt and libfdt-devel package
> before use DPDK on PAC N3000 Card.
>
> For Centos 7.x: sudo yum install libfdt libfdt-devel
> For Ubuntu 18.04: sudo apt install libfdt-dev libfdt1
>
> To eliminate build error, we currently do not compile raw/ifpga
> and net/ipn3ke. User should install libfdt and libfdt-devel first,
> modify config/common_linux, CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=n
> to CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=y, modify config/common_base,
> CONFIG_RTE_LIBRTE_IPN3KE_PMD=n to CONFIG_RTE_LIBRTE_IPN3KE_PMD=y.
> Then this function can work.
>
> Signed-off-by: Tianfei zhang <[email protected]>
> Signed-off-by: Andy Pei <[email protected]>
> ---
> config/common_base | 2 +-
> config/common_linux | 2 +-
> drivers/meson.build | 6 +-
> drivers/net/ipn3ke/meson.build | 24 +++-
> drivers/raw/ifpga/base/meson.build | 2 +-
> drivers/raw/ifpga/base/opae_intel_max10.c | 183
> ++++++++++++++++++++++++++++++
> drivers/raw/ifpga/base/opae_intel_max10.h | 10 ++
> drivers/raw/ifpga/meson.build | 25 ++--
> mk/rte.app.mk | 2 +-
> 9 files changed, 235 insertions(+), 21 deletions(-)
>
> diff --git a/config/common_base b/config/common_base
> index fef2f38..3c0ea7e 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -339,7 +339,7 @@ CONFIG_RTE_LIBRTE_IAVF_16BYTE_RX_DESC=n
> #
> # Compile burst-oriented IPN3KE PMD driver
> #
> -CONFIG_RTE_LIBRTE_IPN3KE_PMD=y
> +CONFIG_RTE_LIBRTE_IPN3KE_PMD=n
>
> #
> # Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD
> diff --git a/config/common_linux b/config/common_linux
> index a78b8c6..c5cf3d6 100644
> --- a/config/common_linux
> +++ b/config/common_linux
> @@ -73,4 +73,4 @@ CONFIG_RTE_LIBRTE_HNS3_PMD=y
> # Compile PMD for Intel FPGA raw device
> # To compile, CONFIG_RTE_EAL_VFIO should be enabled.
> #
> -CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=y
> +CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=n
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 4a1cb8b..7c0aed1 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -9,12 +9,12 @@ endif
> dpdk_driver_classes = ['common',
> 'bus',
> 'mempool', # depends on common and bus.
> - 'net', # depends on common, bus and mempool.
> + 'raw', # depends on common and bus.
> + 'net', # depends on common, bus, mempool and raw (raw
> provide API for net driver).
The comment in brackets is unnecessary here, since that is what is implied
by saying that there is a dependency on net. Thinking about it more, I
think it would be useful in future to make this more concrete for
debugging, and specify what drivers in one set depend on elements in
another [assuming it's only one or two]. It's not as though all net drivers
depend on the rawdevs.
> 'crypto', # depends on common, bus and mempool (net in future).
> 'compress', # depends on common, bus, mempool.
> 'event', # depends on common, bus, mempool and net.
> - 'baseband', # depends on common and bus.
> - 'raw'] # depends on common, bus, mempool, net and event.
I assume that the comment here is incorrect, and that no rawdev does depend
on event drivers or net drivers? Have you checked each driver for such a
dependency?
> + 'baseband'] # depends on common and bus.
>
> disabled_drivers = get_option('disable_drivers').split(',')
>
Assuming that the comment is incorrect, and that no existing rawdev driver
depends on a net or event driver, no issues with this meson change.
Acked-by: Bruce Richardson <[email protected]>