|
Revision tags: v24.11, v24.11-rc4, v24.11-rc3, v24.11-rc2, v24.11-rc1 |
|
| #
719834a6 |
| 20-Sep-2024 |
Mattias Rönnblom <mattias.ronnblom@ericsson.com> |
use C linkage where appropriate in headers
Assure that 'extern "C" { /../ }' do not cover files included from a particular header file, and address minor issues resulting from this change of order.
use C linkage where appropriate in headers
Assure that 'extern "C" { /../ }' do not cover files included from a particular header file, and address minor issues resulting from this change of order.
Dealing with C++ should delegate to the individual include file level, rather than being imposed by the user of that file. For example, forcing C linkage prevents __Generic macros being replaced with overloaded static inline functions in C++ translation units.
Eliminate 'extern "C"' from files which do not declare any symbols (e.g., only macros or struct types).
On the other hand, the headers check is too naive in assuming that all headers must contain a 'extern "C"'. Such a check was added in commit 1ee492bdc4ff ("buildtools/chkincs: check missing C++ guards"). Since this current change results in many headers not containing such a token, remove the check for 'extern "C"' until we have a better implementation.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
|
Revision tags: v24.07, v24.07-rc4, v24.07-rc3, v24.07-rc2, v24.07-rc1, v24.03, v24.03-rc4, v24.03-rc3, v24.03-rc2, v24.03-rc1, v23.11, v23.11-rc4, v23.11-rc3 |
|
| #
baaa446d |
| 14-Nov-2023 |
Abdullah Sevincer <abdullah.sevincer@intel.com> |
bus/pci: revise PASID control
This commit revises PASID control function to accept PASID offset to pasid *structure* instead of taking exact register for controlling the feature.
PASID control func
bus/pci: revise PASID control
This commit revises PASID control function to accept PASID offset to pasid *structure* instead of taking exact register for controlling the feature.
PASID control function was introduced in earlier commit. Please see commit 5a6878335b81 ("event/dlb2: disable PASID") and commit 60ea19609aec ("bus/pci: add PASID control").
Signed-off-by: Abdullah Sevincer <abdullah.sevincer@intel.com> Reviewed-by: Chenbo Xia <chenbox@nvidia.com>
show more ...
|
|
Revision tags: v23.11-rc2 |
|
| #
60ea1960 |
| 06-Nov-2023 |
Abdullah Sevincer <abdullah.sevincer@intel.com> |
bus/pci: add PASID control
Add an internal API to control PASID for a given PCIe device.
For kernels when PASID enabled by default it breaks DLB functionality, hence disabling PASID is required for
bus/pci: add PASID control
Add an internal API to control PASID for a given PCIe device.
For kernels when PASID enabled by default it breaks DLB functionality, hence disabling PASID is required for DLB to function properly.
PASID capability is not exposed to users hence offset can not be retrieved by rte_pci_find_ext_capability() API. Therefore, API implemented in this commit accepts an offset for PASID with an enable flag which is used to enable/disable PASID.
Cc: stable@dpdk.org
Signed-off-by: Abdullah Sevincer <abdullah.sevincer@intel.com>
show more ...
|
|
Revision tags: v23.11-rc1 |
|
| #
fce1a19a |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some AER constants
Define some Advanced Error Reporting constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson
pci: define some AER constants
Define some Advanced Error Reporting constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Abdullah Sevincer <abdullah.sevincer@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
| #
4ac34947 |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some PRI constants
Define some PCI PRI extended feature constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson
pci: define some PRI constants
Define some PCI PRI extended feature constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Abdullah Sevincer <abdullah.sevincer@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
| #
05026b99 |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some ACS constants
Define some PCI ACS extended feature constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson
pci: define some ACS constants
Define some PCI ACS extended feature constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Abdullah Sevincer <abdullah.sevincer@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
| #
0138cf92 |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some extended capability constants
Define some PCI extended capability constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Br
pci: define some extended capability constants
Define some PCI extended capability constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Abdullah Sevincer <abdullah.sevincer@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
3a40df8d |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some PCIe constants
Define some PCI Express constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richa
pci: define some PCIe constants
Define some PCI Express constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Abdullah Sevincer <abdullah.sevincer@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
2e9f4b39 |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some PM constants
Define some PCI Power Management constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruc
pci: define some PM constants
Define some PCI Power Management constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
87146142 |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some BAR constants
Define some PCI BAR constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson
pci: define some BAR constants
Define some PCI BAR constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
c89450cb |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some command constants
Define some PCI command constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.ri
pci: define some command constants
Define some PCI command constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
7bb1168d |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some MSIX constants
Define some PCI MSIX constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richards
pci: define some MSIX constants
Define some PCI MSIX constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
baa9c550 |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
pci: define some capability constants
Define some PCI capability constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <br
pci: define some capability constants
Define some PCI capability constants and use them in existing drivers.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Abdullah Sevincer <abdullah.sevincer@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
| #
a10b6e53 |
| 14-Sep-2023 |
David Marchand <david.marchand@redhat.com> |
bus/pci: find PCI capability
Introduce two helpers so that drivers stop reinventing the wheel when it comes to finding capabilities in a device PCI configuration space. Use it in existing drivers.
bus/pci: find PCI capability
Introduce two helpers so that drivers stop reinventing the wheel when it comes to finding capabilities in a device PCI configuration space. Use it in existing drivers.
Note: - base/ drivers code is left untouched, only some wrappers in cxgbe are touched, - bnx2x maintained a per device cache of capabilities, this code has been reworked to only cache the capabilities used in this driver,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
|
Revision tags: v23.07, v23.07-rc4, v23.07-rc3, v23.07-rc2, v23.07-rc1 |
|
| #
61f55199 |
| 30-May-2023 |
Thomas Monjalon <thomas@monjalon.net> |
pci: fix comment referencing renamed function
When renaming functions eal_parse_pci_*, a referencing comment was missed in the function rte_pci_device_name().
Fixes: ca52fccbb3b9 ("pci: remove depr
pci: fix comment referencing renamed function
When renaming functions eal_parse_pci_*, a referencing comment was missed in the function rte_pci_device_name().
Fixes: ca52fccbb3b9 ("pci: remove deprecated functions") Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
|
Revision tags: v23.03, v23.03-rc4, v23.03-rc3, v23.03-rc2, v23.03-rc1, v22.11, v22.11-rc4, v22.11-rc3, v22.11-rc2, v22.11-rc1, v22.07, v22.07-rc4, v22.07-rc3, v22.07-rc2, v22.07-rc1, v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2 |
|
| #
30a1de10 |
| 15-Feb-2022 |
Sean Morrissey <sean.morrissey@intel.com> |
lib: remove unneeded header includes
These header includes have been flagged by the iwyu_tool and removed.
Signed-off-by: Sean Morrissey <sean.morrissey@intel.com>
|
|
Revision tags: v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1 |
|
| #
f1f6ebc0 |
| 24-Aug-2021 |
William Tu <u9012063@gmail.com> |
eal: remove sys/queue.h from public headers
Currently there are some public headers that include 'sys/queue.h', which is not POSIX, but usually provided by the Linux/BSD system library. (Not in POSI
eal: remove sys/queue.h from public headers
Currently there are some public headers that include 'sys/queue.h', which is not POSIX, but usually provided by the Linux/BSD system library. (Not in POSIX.1, POSIX.1-2001, or POSIX.1-2008. Present on the BSDs.) The file is missing on Windows. During the Windows build, DPDK uses a bundled copy, so building a DPDK library works fine. But when OVS or other applications use DPDK as a library, because some DPDK public headers include 'sys/queue.h', on Windows, it triggers an error due to no such file.
One solution is to install the 'lib/eal/windows/include/sys/queue.h' into Windows environment, such as [1]. However, this means DPDK exports the functionalities of 'sys/queue.h' into the environment, which might cause symbols, macros, headers clashing with other applications.
The patch fixes it by removing the "#include <sys/queue.h>" from DPDK public headers, so programs including DPDK headers don't depend on the system to provide 'sys/queue.h'. When these public headers use macros such as TAILQ_xxx, we replace it by the ones with RTE_ prefix. For Windows, we copy the definitions from <sys/queue.h> to rte_os.h in Windows EAL. Note that these RTE_ macros are compatible with <sys/queue.h>, both at the level of API (to use with <sys/queue.h> macros in C files) and ABI (to avoid breaking it).
Additionally, the TAILQ_FOREACH_SAFE is not part of <sys/queue.h>, the patch replaces it with RTE_TAILQ_FOREACH_SAFE.
[1] http://mails.dpdk.org/archives/dev/2021-August/216304.html
Suggested-by: Nick Connolly <nick.connolly@mayadata.io> Suggested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Signed-off-by: William Tu <u9012063@gmail.com> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Narcisa Vasile <navasile@linux.microsoft.com>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1 |
|
| #
21f6adec |
| 24-May-2021 |
Haiyue Wang <haiyue.wang@intel.com> |
bus/pci: configure PCI bus master
Add the API to set 'Bus Master Enable' bit to be enabled or disabled in the PCI command register.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Ray
bus/pci: configure PCI bus master
Add the API to set 'Bus Master Enable' bit to be enabled or disabled in the PCI command register.
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Ray Kinsella <mdr@ashroe.eu>
show more ...
|
|
Revision tags: v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
| #
99a2dd95 |
| 20-Apr-2021 |
Bruce Richardson <bruce.richardson@intel.com> |
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also m
lib: remove librte_ prefix from directory names
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal'
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|