#
d891a597 |
| 08-Oct-2024 |
Stephen Hemminger <stephen@networkplumber.org> |
raw/ifpga: fix free function mismatch in interrupt config
The raw ifpga driver redefines malloc to be opae_malloc and free to be opae_free; which is a bad idea.
This leads to case where interrupt e
raw/ifpga: fix free function mismatch in interrupt config
The raw ifpga driver redefines malloc to be opae_malloc and free to be opae_free; which is a bad idea.
This leads to case where interrupt efd array is allocated with calloc() and then passed to rte_free. The workaround is to allocate the array with rte_calloc() instead.
Fixes: d61138d4f0e2 ("drivers: remove direct access to interrupt handle") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com> Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
show more ...
|
#
f665790a |
| 13-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen
drivers: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
e12a0166 |
| 14-May-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microso
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
#
a7ba40b2 |
| 13-Sep-2023 |
Thomas Monjalon <thomas@monjalon.net> |
drivers: convert to internal control threads
Calls to rte_ctrl_thread_create() are replaced with rte_thread_create_internal_control(). Other pthread-related functions are replaced with the rte_threa
drivers: convert to internal control threads
Calls to rte_ctrl_thread_create() are replaced with rte_thread_create_internal_control(). Other pthread-related functions are replaced with the rte_thread API. Only pthread_cancel() has no replacement.
The mlx5 vDPA control threads were real-time threads with an affinity on the core specified by the devarg "event_core". As there is no heavy performance requirement, these threads are converted into real control threads.
Some threads in dlb2 and mlx5 are not control threads because they are designed to run on some specific cores. It would be interesting to rework them in future.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru>
show more ...
|
#
62774b78 |
| 03-Jul-2023 |
Thomas Monjalon <thomas@monjalon.net> |
set namespace prefix to threads
When looking at threads in a system, it can be confusing to find some unknown threads without a clue it is started by DPDK.
Let's start all thread names with "dpdk-"
set namespace prefix to threads
When looking at threads in a system, it can be confusing to find some unknown threads without a clue it is started by DPDK.
Let's start all thread names with "dpdk-" plus the driver name if it comes from a driver.
One more constraint: the thread names are generally limited to 16 characters, including the NUL character.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
show more ...
|
#
b412ffa8 |
| 26-Mar-2023 |
Wei Huang <wei.huang@intel.com> |
raw/ifpga: check AFU device before unplug
AFU device may be already unplugged in IFPGA bus cleanup process, unplug AFU device only when it exists.
Signed-off-by: Wei Huang <wei.huang@intel.com> Ack
raw/ifpga: check AFU device before unplug
AFU device may be already unplugged in IFPGA bus cleanup process, unplug AFU device only when it exists.
Signed-off-by: Wei Huang <wei.huang@intel.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com> Reviewed-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
ed090599 |
| 20-Mar-2023 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
rework atomic intrinsics fetch operations
Use __atomic_fetch_{add,and,or,sub,xor} instead of __atomic_{add,and,or,sub,xor}_fetch adding the necessary code to allow consumption of the resulting value
rework atomic intrinsics fetch operations
Use __atomic_fetch_{add,and,or,sub,xor} instead of __atomic_{add,and,or,sub,xor}_fetch adding the necessary code to allow consumption of the resulting value.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
4851ef2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/vdev: make driver-only headers private
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentat
bus/vdev: make driver-only headers private
The vdev bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
1f37cb2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/pci: make driver-only headers private
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentatio
bus/pci: make driver-only headers private
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
925c074e |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/ifpga: make driver-only headers private
The ifpga bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - remove unn
bus/ifpga: make driver-only headers private
The ifpga bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
9c89c333 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/ifpga: cleanup exported symbols
Remove unused symbols (exposed only in an internal header which guarantees that no application out there relied on them).
Remove rte_ prefix and inline the rest
bus/ifpga: cleanup exported symbols
Remove unused symbols (exposed only in an internal header which guarantees that no application out there relied on them).
Remove rte_ prefix and inline the rest to avoid having to expose them as global symbols for a relatively small added value.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
8f1d23ec |
| 23-Aug-2022 |
David Marchand <david.marchand@redhat.com> |
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
eal: deprecate RTE_FUNC_PTR_* macros
Those macros have no real value and are easily replaced with a simple if() block.
Existing users have been converted using a new cocci script. Deprecate them.
Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
9c1b4ae5 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
raw/ifpga: remove PCI bus accessor
There is no in-tree user for this accessor that returns the PCI bus object. On the other hand, a bus object can be retrieved by name using rte_bus_find_by_name. We
raw/ifpga: remove PCI bus accessor
There is no in-tree user for this accessor that returns the PCI bus object. On the other hand, a bus object can be retrieved by name using rte_bus_find_by_name. We can remove this driver specific API.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
64e14b8b |
| 20-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Found by nullfree.cocci.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> [David: for lpm parts:] Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-
remove unnecessary null checks
Found by nullfree.cocci.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> [David: for lpm parts:] Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> [David: for vdpa/mlx5 parts:] Acked-by: Matan Azrad <matan@nvidia.com> [David: for dma/dpaa2, raw/ifpga, vdpa/mlx5:] Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> [David: reran cocci.sh and updated common/mlx5 and cryptodev asym test] Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
673c897f |
| 07-Jun-2022 |
Wei Huang <wei.huang@intel.com> |
raw/ifpga: support OFS card probing
PAC N6000 is the first OFS platform, its device id is added to ifpga device support list.
Previous FPGA platform like Intel PAC N3000 and N5000, FME DFL (Device
raw/ifpga: support OFS card probing
PAC N6000 is the first OFS platform, its device id is added to ifpga device support list.
Previous FPGA platform like Intel PAC N3000 and N5000, FME DFL (Device Feature List) starts from BAR0 by default, port DFL location is indicated in PORTn_OFFSET register in FME. In OFS implementation, FME DFL and port DFL location can be defined individually in PCIe VSEC (Vendor Specific Extended Capabilities). In this patch, DFL definition is searched in VSEC, the legacy DFL is used only when DFL VSEC is not present.
In original DFL enumeration process, AFU is expected to locate in port DFL, but this is not the case in OFS implementation. In this patch, enumeration can search AFU in any PF/VF which has no FME and port.
Signed-off-by: Wei Huang <wei.huang@intel.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com> Reviewed-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
25456835 |
| 07-Jun-2022 |
Wei Huang <wei.huang@intel.com> |
raw/ifpga: unregister interrupt on close
There is an API rte_pmd_ifpga_cleanup provided by ifpga driver to free the software resource used by ifpga card. The function call of rte_pmd_ifpga_cleanup i
raw/ifpga: unregister interrupt on close
There is an API rte_pmd_ifpga_cleanup provided by ifpga driver to free the software resource used by ifpga card. The function call of rte_pmd_ifpga_cleanup is list below. rte_pmd_ifpga_cleanup() ifpga_rawdev_cleanup() rte_rawdev_pmd_release() rte_rawdev_close() ifpga_rawdev_close()
The interrupts are unregistered in ifpga_rawdev_destroy instead of ifpga_rawdev_close function, so rte_pmd_ifpga_cleanup cannot free interrupt resource as expected.
To fix such issue, interrupt unregistration is moved from ifpga_rawdev_destroy to ifpga_rawdev_close function. The change of function call of ifpga_rawdev_destroy is as below. ifpga_rawdev_destroy() ifpga_unregister_msix_irq() // removed rte_rawdev_pmd_release() rte_rawdev_close() ifpga_rawdev_close()
Fixes: e0a1aafe2af9 ("raw/ifpga: introduce IRQ functions") Cc: stable@dpdk.org
Signed-off-by: Wei Huang <wei.huang@intel.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com> Reviewed-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
ae835aba |
| 07-Jun-2022 |
Wei Huang <wei.huang@intel.com> |
raw/ifpga: remove virtual devices on close
Virtual devices created on ifpga raw device will not be removed when ifpga device has closed. To avoid resource leak problem, this patch introduces an ifpg
raw/ifpga: remove virtual devices on close
Virtual devices created on ifpga raw device will not be removed when ifpga device has closed. To avoid resource leak problem, this patch introduces an ifpga virtual device remove function, virtual devices will be destroyed after the ifpga raw device closed.
Fixes: ef1e8ede3da5 ("raw/ifpga: add Intel FPGA bus rawdev driver") Cc: stable@dpdk.org
Signed-off-by: Wei Huang <wei.huang@intel.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com> Reviewed-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
047c2540 |
| 16-Mar-2022 |
Wei Huang <wei.huang@intel.com> |
raw/ifpga: fix build with optimization
Compile failed with cflag optimization=1 on Ubuntu20.04 with GCC10.3, it reported vendor_id and dev_id may be used uninitialized in function ifpga_rawdev_fill_
raw/ifpga: fix build with optimization
Compile failed with cflag optimization=1 on Ubuntu20.04 with GCC10.3, it reported vendor_id and dev_id may be used uninitialized in function ifpga_rawdev_fill_info(). Actually it's not the truth, the variables are initialized in function ifpga_get_dev_vendor_id(). To avoid such compile error, the variables are initialized when they are defined.
Fixes: 9c006c45d0c5 ("raw/ifpga: scan PCIe BDF device tree") Cc: stable@dpdk.org
Signed-off-by: Wei Huang <wei.huang@intel.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
2479a1e9 |
| 01-Mar-2022 |
Wei Huang <wei.huang@intel.com> |
raw/ifpga: fix monitor thread
Monitor thread handles graceful shutdown according to the value of specific sensors in device, two issues are found below. 1. Thread is not created when card is probed.
raw/ifpga: fix monitor thread
Monitor thread handles graceful shutdown according to the value of specific sensors in device, two issues are found below. 1. Thread is not created when card is probed. 2. Thread is canceled without checking presence of other cards. To fix them, thread is created in pci device probe function, a reference count is checked before canceling the thread.
Fixes: 9c006c45 ("raw/ifpga: scan PCIe BDF device tree") Cc: stable@dpdk.org
Signed-off-by: Wei Huang <wei.huang@intel.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
show more ...
|
#
20659eb3 |
| 18-Feb-2022 |
Wei Huang <wei.huang@intel.com> |
raw/ifpga: fix interrupt handle allocation
Allocate FPGA interrupt handle instance for each card.
Fixes: e0a1aafe2af9 ("raw/ifpga: introduce IRQ functions") Cc: stable@dpdk.org
Signed-off-by: Wei
raw/ifpga: fix interrupt handle allocation
Allocate FPGA interrupt handle instance for each card.
Fixes: e0a1aafe2af9 ("raw/ifpga: introduce IRQ functions") Cc: stable@dpdk.org
Signed-off-by: Wei Huang <wei.huang@intel.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
show more ...
|
#
aae56ac4 |
| 21-Feb-2022 |
Wei Huang <wei.huang@intel.com> |
raw/ifpga: fix variable initialization in probing
Scalar variable sub_brg_bdf may be used uninitialized in function ifpga_rawdev_fill_info(). It is initialized now in this fix.
Coverity issue: 3758
raw/ifpga: fix variable initialization in probing
Scalar variable sub_brg_bdf may be used uninitialized in function ifpga_rawdev_fill_info(). It is initialized now in this fix.
Coverity issue: 375805 Fixes: 9c006c45d0c5 ("raw/ifpga: scan PCIe BDF device tree") Cc: stable@dpdk.org
Signed-off-by: Wei Huang <wei.huang@intel.com> Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
show more ...
|
#
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
60e68d17 |
| 24-Jan-2022 |
Tianfei Zhang <tianfei.zhang@intel.com> |
raw/ifpga: fix thread closing
When we want to close a thread, we should set a flag to notify thread handler function.
Fixes: 9c006c45d0c5 ("raw/ifpga: scan PCIe BDF device tree") Cc: stable@dpdk.or
raw/ifpga: fix thread closing
When we want to close a thread, we should set a flag to notify thread handler function.
Fixes: 9c006c45d0c5 ("raw/ifpga: scan PCIe BDF device tree") Cc: stable@dpdk.org
Signed-off-by: Tianfei Zhang <tianfei.zhang@intel.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
7be78d02 |
| 29-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
fix spelling in comments and strings
The tool comes from https://github.com/jsoref
Signed-off-by: Josh Soref <jsoref@gmail.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
#
d61138d4 |
| 22-Oct-2021 |
Harman Kalra <hkalra@marvell.com> |
drivers: remove direct access to interrupt handle
Removing direct access to interrupt handle structure fields, rather use respective get set APIs for the same. Making changes to all the drivers acce
drivers: remove direct access to interrupt handle
Removing direct access to interrupt handle structure fields, rather use respective get set APIs for the same. Making changes to all the drivers access the interrupt handle fields.
Signed-off-by: Harman Kalra <hkalra@marvell.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Raslan Darawsheh <rasland@nvidia.com>
show more ...
|