109 Commits

Author SHA1 Message Date
Thinh Tran
dcb1595956 raw/skeleton: fix test of attribute set/get
Using memory on the stack instead of on the heap by calling malloc
also avoid memory leak in case of test case failures

Fixes: 88d0e47880ec ("raw/skeleton: fix memory leak on test failure")
Cc: stable@dpdk.org

Signed-off-by: Thinh Tran <thinhtr@linux.vnet.ibm.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2019-07-01 19:52:52 +02:00
David Marchand
da6cab7646 raw/dpaa2_qdma: remove incorrect experimental tag
The incriminated commit promoted this symbol as stable but the
prototype still has the tag.

Fixes: fb1a20331d70 ("raw/dpaa2_qdma: remove experimental tag from APIs")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
2019-06-29 19:04:30 +02:00
John McNamara
8bd5f07c7a doc: fix spelling reported by aspell in comments
Fix spelling errors in the doxygen docs.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
2019-05-03 00:38:14 +02:00
Li Qiang
194a83d837 raw/ifpga: fix file descriptor leak in error path
In rte_fpga_do_pr() function, if 'stat' return error the
'file_fd' is never closed thus leading a fd leak.
This patch avoids this.

Coverity issue: 279441
Fixes: ef1e8ede3da59e ("raw/ifpga: add Intel FPGA bus rawdev driver")
Cc: stable@dpdk.org

Signed-off-by: Li Qiang <liq3ea@163.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
2019-05-02 23:48:37 +02:00
Hemant Agrawal
5ca606ea48 raw/dpaa2_cmdif: remove driver name assignment
vdev driver names are not available in create if called from probe.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-05-02 23:31:32 +02:00
Hemant Agrawal
ee854a65da raw/dpaa2_qdma: fix spin lock release
This shall be unlock post the lock

Fixes: 4d9a3f2a0159 ("raw/dpaa2_qdma: support RBP mode")

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-05-02 23:28:31 +02:00
Hemant Agrawal
53a1a1f7cb raw/dpaa2_qdma: fix spin lock release
The code shall be unlock post the lock.

Fixes: c22fab9a6c34 ("raw/dpaa2_qdma: support configuration APIs")
Cc: stable@dpdk.org

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-05-02 23:28:22 +02:00
Bruce Richardson
a53f14f961 raw/dpaa2_cmdif: fix warnings with GCC 9
GCC9 gives warnings if the parameter passed to printf for "%s" could be
NULL, so we need to add checks in some cases to ensure that is not the
case.

Fixes: 3298fa4853b8 ("raw/dpaa2_cmdif: introduce DPAA2 command interface driver")
Cc: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2019-05-02 14:17:37 +02:00
Bruce Richardson
3a66890a8a raw/skeleton: fix warnings with GCC 9
GCC9 gives warnings if the parameter passed to printf for "%s" could be
NULL, so we need to add checks in some cases to ensure that is not the
case.

Fixes: 61c592a8d035 ("raw/skeleton: introduce skeleton rawdev driver")
Cc: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2019-05-02 14:17:34 +02:00
Stephen Hemminger
2aa0db405f drivers: remove blank line at EOF
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2019-04-22 13:24:59 +02:00
Rosen Xu
d1cd4eb2d4 raw/ifpga: support ipn3ke
Add Intel FPGA Acceleration NIC IPN3KE support for IFPGA Rawdev.

Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
Signed-off-by: Andy Pei <andy.pei@intel.com>
2019-04-19 14:51:54 +02:00
Tianfei Zhang
e61569e757 raw/ifpga/base: add prefix for feature and its ops
Using prefix name "ifpga_" for feature and feature_ops data
struct on ifpga base code, which is suggested by Yigit, Ferruh.

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
2019-04-19 14:51:54 +02:00
Tianfei Zhang
e94a9484ea raw/ifpga/base: add version description
add verion description on READ about ifpga base code.

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
2019-04-19 14:51:54 +02:00
Tianfei Zhang
8a256bef32 raw/ifpga/base: add eth group driver
There is two eth group devices in PAC N3000 card,
each eth group include PHY device and MAC device. Exposing
APIs for DPDK PMD driver to access those devices.

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
2019-04-19 14:51:54 +02:00
Tianfei Zhang
15d21c8510 raw/ifpga/base: add I2C and at24 EEPROM driver
1. Add Altera I2C master device driver
2. Add at24 eeprom driver which is i2c slave device
3. Introducing a new ops for opae_manager: opae_manager_networking_ops.
This ops will include some networking operation by FPGA, like vBNG
operation, MAC ROM operation and so on.

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
2019-04-19 14:51:54 +02:00
Tianfei Zhang
96ebfcf812 raw/ifpga/base: add SPI and MAX10 device driver
There is a SPI bus link between A10 FPGA and MAX10 FPGA.
MAX10 is in charge of board management, like power management,
sensors, flash devices.

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
2019-04-19 14:51:54 +02:00
Tianfei Zhang
e4dc499d56 raw/ifpga/base: store private features in FME and port
Get private features attribute like size, id, address after
enumeration, and insert into FEM or Port dedicate list.

when initial the private feature driver, we just compare the
private feature id between the list and feature drivers array
to match the proper drivers.

This patch avoid the hardcore in feature_info array in previous
implementation. and the same time we can use one driver for mulitple
devices which the id is the same.

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
2019-04-19 14:51:54 +02:00
Tianfei Zhang
93bf4b3101 raw/ifpga/base: clean up
clean up code:
1. use opae_memcpy instead of memcpy
2. use opae_memset instead of memset
3. disable opae_adapter_dump by default

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
2019-04-19 14:51:54 +02:00
Hemant Agrawal
ccdb58c630 raw/dpaa2_qdma: support non prefetch mode
This patch add support for non prefetch mode in Rx functions.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-04-05 10:40:56 +02:00
Nipun Gupta
345c783b2d raw/dpaa2: remove logs from datapath
The runtime traces shall not be present in datapath

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
2019-04-05 10:40:56 +02:00
Hemant Agrawal
4d9a3f2a01 raw/dpaa2_qdma: support RBP mode
Add support for route by port mode. The route by port
feature in HW helps in translating the PCI address
of connected device.

Signed-off-by: Minghuan Lian <minghuan.lian@nxp.com>
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-04-05 10:40:43 +02:00
Hemant Agrawal
44889767af raw/dpaa2_qdma: support burst mode
This patch adds support the batch processing for the qdma jobs

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Yi Liu <yi.liu@nxp.com>
2019-04-05 01:05:56 +02:00
Shreyansh Jain
428fe6d4cb raw/dpaa2_qdma: fix to support multiprocess execution
Fixes: c22fab9a6c34 ("raw/dpaa2_qdma: support configuration APIs")
Cc: stable@dpdk.org

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2019-04-05 01:05:25 +02:00
Hemant Agrawal
fb1a20331d raw/dpaa2_qdma: remove experimental tag from APIs
These APIs has been in the DPDK for few release now.
This patch removes the experimental tags for the APIs.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2019-04-05 01:04:31 +02:00
David Marchand
27893e4eee drivers: remove Linux EAL from include path
None of those drivers require EAL linux specific headers.

Signed-off-by: David Marchand <david.marchand@redhat.com>
2019-04-04 22:06:16 +02:00
Andy Pei
a3a6a3d94f raw/ifpga: modify log output
Print function name in ifpga log and a new line goes after
every IFPGA log.

Fixes: ef1e8ede3da5 ("raw/ifpga: add Intel FPGA bus rawdev driver")
Cc: stable@dpdk.org

Signed-off-by: Andy Pei <andy.pei@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
2019-03-29 17:25:32 +01:00
Bruce Richardson
91d7846ce6 eal/linux: rename linuxapp to linux
The term "linuxapp" is a legacy one, but just calling the subdirectory
"linux" is just clearer for all concerned.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2019-03-12 17:31:13 +01:00
Andy Pei
3c69149a21 raw/ifpga: fix memory leak
When ifpga_rawdev_create() allocate memory for a new rawdev,
the original code allocate redundant memory for adapter,
which is a member of the rawdev. What is actually necessary is
the adapter to be initialized, not memory allocated.

Fixes: ef1e8ede3da5 ("raw/ifpga: add Intel FPGA bus rawdev driver")
Cc: stable@dpdk.org

Signed-off-by: Andy Pei <andy.pei@intel.com>
Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
2019-01-19 00:07:52 +01:00
Pallantla Poornima
a1e8241a91 drivers: fix sprintf with snprintf
sprintf function is not secure as it doesn't check the length of string.
More secure function snprintf is used

Fixes: 828d51d8fc ("bus/fslmc: refactor scan and probe functions")
Fixes: c22fab9a6c ("raw/dpaa2_qdma: support configuration APIs")
Fixes: e5cbdfc537 ("crypto/dpaa2_sec: add basic operations")
Fixes: b23d4e898a ("crypto/dpaa2_sec: add per dev mempool to store FLE")
Fixes: 623326dded ("crypto/dpaa2_sec: introduce poll mode driver")
Fixes: e7a45f3cc2 ("crypto/caam_jr: add UIO specific operations")
Fixes: f44bccadd8 ("crypto/caam_jr: add device basic operations")
Fixes: 7e3e2954e0 ("crypto/dpaa_sec: move mempool allocation to config")
Fixes: c3e85bdcc6 ("crypto/dpaa_sec: add crypto driver for NXP DPAA platform")
Cc: stable@dpdk.org

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
2019-01-14 23:27:27 +01:00
Ferruh Yigit
520dd9923b drivers: prefix global variables with module name
Some global variables are defined with generic names, add component name
as prefix to variables to prevent collusion with application variables.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
2018-10-29 02:34:21 +01:00
Ferruh Yigit
b74fd6b842 add missing static keyword to globals
Some global variables can indeed be static, add static keyword to them.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-10-29 02:01:08 +01:00
Rosen Xu
b6aadd7436 raw/ifpga: check probing error
Fixes not checking rte_eal_hotplug_add() return value issue.

Coverity issue: 323508
Fixes: ef1e8ede3da5 ("raw/ifpga: add Intel FPGA bus rawdev driver")
Cc: stable@dpdk.org

Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-10-26 22:14:06 +02:00
Shreyansh Jain
88d0e47880 raw/skeleton: fix memory leak on test failure
In skeleton_rawdev unit tests, a malloc'd memory was leaking in case
the next sequential test fails. This fix moves the free of the
malloc'd memory above the failing test.

Coverity issue: 260402
Fixes: 55ca1b0f2151 ("raw/skeleton: add test cases")

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-10-25 00:59:28 +02:00
Hemant Agrawal
b4a63e605d bus/fslmc: upgrade mc FW APIs to 10.10.0
This patch add the support for new Management Complex
Firmware version to 10.1x.x. One of the main changes in
the APIs ordered queue.

The fslmc bus lib ABI will need to be bumped to reflect
the MC FW API and structure changes.

This will also result in bumping of ABI verion of all dependent
libs as they internally use the MC FW APIs and structures.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-10-16 14:54:25 +02:00
Shreyansh Jain
e7d9285481 fslmc: enable dpaax library
With this patch, fslmc bus and ethernet devices on this bus
would start using the physical-virtual library interfaces.

This patch impacts mempool/dpaa2, event/dpaa2, net/dpaa2,
raw/dpaa2_cmdif and raw/dpaa2_qdma as they are dependent
on the bus/fslmc and thus impact linkage of libraries.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-10-16 14:54:25 +02:00
Luca Boccassi
fd5a5cf7a9 raw/ifpga: use -Wno-error=format-security for meson
This PMD is built with -Wno-format, which means GCC errors out if
-Wformat-security is used.

Fixes: 56bb54ea1bdf ("raw/ifpga/base: add Intel FPGA OPAE share code")
Cc: stable@dpdk.org

Signed-off-by: Luca Boccassi <bluca@debian.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2018-09-17 12:17:24 +02:00
Shreyansh Jain
fc4a4860ba raw/skeleton: implement queue count API
Use the rte_rawdev_queue_count API in skeleton and add its unit test
case.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-08-01 18:25:30 +02:00
Shreyansh Jain
931cc531aa rawdev: remove experimental tag
Besides the librawdev, removing experimental from skeleton_rawdev
dummy driver as well.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-07-26 23:58:08 +02:00
Bruce Richardson
c49825f895 build: fix meson build on FreeBSD
A number of drivers have dependencies on libraries which
are only built on Linux, and so they need to be disabled
on FreeBSD. Rather than basing the disabling on OS, in
each case we base the building of the library on the
presence of the required dependency.

Fixes: 50385c106021 ("net/ifc: add to meson build")
Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")
Fixes: 5936aa3a39b9 ("net/vhost: add to meson build")
Fixes: 3298fa4853b8 ("raw/dpaa2_cmdif: introduce DPAA2 command interface driver")
Fixes: b1ee472fed58 ("raw/dpaa2_qdma: introduce the DPAA2 QDMA driver")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2018-07-26 09:58:19 +02:00
Hemant Agrawal
8232129e57 raw/dpaa2_qdma: fix IOVA as VA flag
Fixes: b1ee472fed58 ("raw/dpaa2_qdma: introduce the DPAA2 QDMA driver")
Cc: stable@dpdk.org

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
2018-07-12 14:58:10 +02:00
Hemant Agrawal
2aaffeee7b drivers: support function name in NXP logs
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-07-12 14:41:28 +02:00
Thomas Monjalon
f8e9989606 remove useless constructor headers
A constructor is usually declared with RTE_INIT* macros.
As it is a static function, no need to declare before its definition.
The macro is used directly in the function definition.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-07-12 00:00:35 +02:00
Tianfei Zhang
4022248efe raw/ifpga/base: fix an error return
fix a return error value by DPDK Coverity static code analysis

Coverity issue: 279448
Fixes: 56bb54ea1bdf ("raw/ifpga/base: add Intel FPGA OPAE share code")

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
2018-05-21 16:13:06 +02:00
Gavin Hu
e8995ed72c raw/ifpga: fix ARM build with clang
The patch fixes the compile issue with clang on ARM64, as well as
clang + X86 builing hosts.

Newly introduced #pragma pack(1) in the header file caused compiling
issues for the files who included it.

In file included from drivers/raw/ifpga_rawdev/base/ifpga_fme_dperf.c:5:
In file included from drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h:8:
drivers/raw/ifpga_rawdev/base/ifpga_hw.h:8:10: error:
the current #pragma pack alignment value is modified in the included file

The fix is to change the #pragma pack alignment locally and not have
effect on other files who included this header file.

Fixes: 56bb54ea1bdf ("raw/ifpga/base: add Intel FPGA OPAE share code")

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
2018-05-21 00:58:43 +02:00
Tianfei Zhang
5cdcf9a3a1 raw/ifpga/base: fix build with icc
fix compile error on icc compiler

Fixes: 56bb54ea1bdf ("raw/ifpga/base: add Intel FPGA OPAE share code")

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
Tested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2018-05-14 12:40:11 +02:00
Shreyansh Jain
564ad58d2d raw/skeleton: remove dead code
Coverity Issue: 260411
Fixes: 55ca1b0f2151 ("raw/skeleton: add test cases")
Cc: stable@dpdk.org

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-05-14 01:01:10 +02:00
Shreyansh Jain
7cd675c2b8 raw/skeleton: fix resource leak in test
Coverity issue: 260402
Fixes: 55ca1b0f2151 ("raw/skeleton: add test cases")
Cc: stable@dpdk.org

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-05-14 01:01:07 +02:00
Rosen Xu
ef1e8ede3d raw/ifpga: add Intel FPGA bus rawdev driver
Add Intel FPGA BUS Rawdev Driver which is based on
librte_rawdev library.

Signed-off-by: Rosen Xu <rosen.xu@intel.com>
Signed-off-by: Yanglong Wu <yanglong.wu@intel.com>
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
2018-05-11 17:09:26 +02:00
Tianfei Zhang
56bb54ea1b raw/ifpga/base: add Intel FPGA OPAE share code
This patch adds Intel FPGA Open Programmable Acceleration
Engine (OPAE)[1] base driver code, in order to support Intel
FPGA devices under DPDK. The base code currently supports
Intel FPGA solutions including integrated solution (Intel(R)
Xeon(R) CPU with FPGAs) and discrete solution (Intel(R)
Programmable Acceleration Card with Intel(R) Arria(R) 10 FPGA)
and it could be extended to support more FPGA devices in the
future. Please refer to [1][2] for more introduction on OPAE
and Intel FPGAs.

[1] https://01.org/OPAE
[2] https://www.altera.com/solutions/acceleration-hub/overview.html

Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com>
Signed-off-by: Hao Wu <hao.wu@intel.com>
Signed-off-by: Yilun Xu <yilun.xu@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
2018-05-11 17:08:37 +02:00
Nipun Gupta
53c71586c7 raw/dpaa2_cmdif: support enqueue/dequeue operations
Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-05-08 14:21:07 +02:00