#
38689022 |
| 05-Jun-2023 |
Ophir Munk <ophirmu@nvidia.com> |
eal: set maximum number of memzone segments
Currently, the max memzones count constant (RTE_MAX_MEMZONE) is used to decide how many memzones a DPDK application can have. This value could technically
eal: set maximum number of memzone segments
Currently, the max memzones count constant (RTE_MAX_MEMZONE) is used to decide how many memzones a DPDK application can have. This value could technically be changed by manually editing `rte_config.h` before compilation, but if DPDK is already compiled, that option is not useful. There are certain use cases that would benefit from making this value configurable.
This commit addresses the issue by adding a new API to set the max number of memzones before EAL initialization (while using the old constant as default value), as well as an API to get current maximum number of memzones.
Signed-off-by: Ophir Munk <ophirmu@nvidia.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Alok Prasad <palok@marvell.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
4200c4d6 |
| 07-Jun-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
net/qede: fix build with GCC 12
The x86 version of rte_memcpy can cause warnings. The driver does not need to use rte_memcpy for everything. Standard memcpy is just as fast and safer; the compiler a
net/qede: fix build with GCC 12
The x86 version of rte_memcpy can cause warnings. The driver does not need to use rte_memcpy for everything. Standard memcpy is just as fast and safer; the compiler and static analysis tools treat memcpy specially.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
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 ...
|
#
40edb9c0 |
| 07-Jul-2021 |
David Marchand <david.marchand@redhat.com> |
eal: handle compressed firmware
Introduce an internal firmware loading helper to remove code duplication in our drivers and handle xz compressed firmware by calling libarchive.
This helper tries to
eal: handle compressed firmware
Introduce an internal firmware loading helper to remove code duplication in our drivers and handle xz compressed firmware by calling libarchive.
This helper tries to look for .xz suffixes so that drivers are not aware the firmware has been compressed.
libarchive is set as an optional dependency: without libarchive, a runtime warning is emitted so that users know there is a compressed firmware.
Windows implementation is left as an empty stub.
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Igor Russkikh <irusskikh@marvell.com> Acked-by: Aaron Conole <aconole@redhat.com> Tested-by: Haiyue Wang <haiyue.wang@intel.com>
show more ...
|
#
effb1d0b |
| 02-Oct-2020 |
Rasesh Mody <rmody@marvell.com> |
net/qede: fix getting link details
This patch fixes get current link details, without this change the link details can be inaccurate if proper lock is not acquired.
Fixes: 739a5b2f2b49 ("net/qede/b
net/qede: fix getting link details
This patch fixes get current link details, without this change the link details can be inaccurate if proper lock is not acquired.
Fixes: 739a5b2f2b49 ("net/qede/base: use passed ptt handler") Cc: stable@dpdk.org
Reported-by: Ferruh Yigit <ferruh.yigit@intel.com> Signed-off-by: Rasesh Mody <rmody@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
show more ...
|
#
c176fd86 |
| 25-Sep-2020 |
Manish Chopra <manishc@marvell.com> |
net/qede: initialize VF MAC and link
This patch configures VFs with random mac if no MAC is provided by the PF/bulletin. This also adds required bulletin APIs by PF-PMD driver to communicate LINK pr
net/qede: initialize VF MAC and link
This patch configures VFs with random mac if no MAC is provided by the PF/bulletin. This also adds required bulletin APIs by PF-PMD driver to communicate LINK properties/changes to the VFs through bulletin update mechanism.
With these changes, VF-PMD instance is able to run fastpath over PF-PMD driver instance.
Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
d459b043 |
| 25-Sep-2020 |
Manish Chopra <manishc@marvell.com> |
net/qede: add infrastructure support for VF load
This patch adds necessary infrastructure support (required to handle messages from VF and sending ramrod on behalf of VF's configuration request from
net/qede: add infrastructure support for VF load
This patch adds necessary infrastructure support (required to handle messages from VF and sending ramrod on behalf of VF's configuration request from alarm handler context) to start/load the VF-PMD driver instance on top of PF-PMD driver instance.
Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
9ffe2a15 |
| 25-Sep-2020 |
Manish Chopra <manishc@marvell.com> |
net/qede: configure VFs on hardware
Based on number of VFs enabled at PCI, PF-PMD driver instance enables/configures those VFs from hardware perspective, such that in later patches they could get re
net/qede: configure VFs on hardware
Based on number of VFs enabled at PCI, PF-PMD driver instance enables/configures those VFs from hardware perspective, such that in later patches they could get required HW access to communicate with PFs for slowpath configuration and run the fastpath themselves.
This patch also add two new qede IOV files [qede_sriov(.c|.h)] under qede directory to add non-base driver IOV APIs/contents there.
Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
92c6786e |
| 25-Sep-2020 |
Manish Chopra <manishc@marvell.com> |
net/qede: define PCI config space specific osals
This patch defines various PCI config space access APIs in order to read and find IOV specific PCI capabilities.
With these definitions implemented,
net/qede: define PCI config space specific osals
This patch defines various PCI config space access APIs in order to read and find IOV specific PCI capabilities.
With these definitions implemented, it enables the base driver to do SR-IOV specific initialization and HW specific configuration required from PF-PMD driver instance.
Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
5723fbed |
| 09-Sep-2020 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: remove underscore prefix from internal API
'_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs has unconventional underscore ('_') prefix. Although this is not documente
ethdev: remove underscore prefix from internal API
'_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs has unconventional underscore ('_') prefix. Although this is not documented most probably this is to mark them as internal. Since we have '__rte_internal' flag to mark this, removing '_' from API names.
For '_rte_eth_dev_reset()', there is already a public API named 'rte_eth_dev_reset()', so renaming '_rte_eth_dev_reset()' to 'rte_eth_dev_internal_reset'.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: David Marchand <david.marchand@redhat.com> Acked-by: Sachin Saxena <sachin.saxena@nxp.com>
show more ...
|
#
ec55c118 |
| 08-Jul-2020 |
Rasesh Mody <rmody@marvell.com> |
net/qede: add infrastructure for debug data collection
The patch adds QEDE PMD ops and APIs to calculate the size and collect the debug dump for various firmware components. The patch adds new files
net/qede: add infrastructure for debug data collection
The patch adds QEDE PMD ops and APIs to calculate the size and collect the debug dump for various firmware components. The patch adds new files qede_debug.[ch] that has all the firmware debug data collection infrastructure changes.
Signed-off-by: Rasesh Mody <rmody@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
show more ...
|
#
2352f348 |
| 08-Jul-2020 |
Rasesh Mody <rmody@marvell.com> |
net/qede/base: add changes for debug data collection
This patch adds base driver APIs required for debug data collection. It adds support for dumping internal lookup tables(ilt), reading nvram image
net/qede/base: add changes for debug data collection
This patch adds base driver APIs required for debug data collection. It adds support for dumping internal lookup tables(ilt), reading nvram image, register definitions.
Signed-off-by: Rasesh Mody <rmody@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
show more ...
|
#
5018f1fc |
| 27-Apr-2020 |
Joyce Kong <joyce.kong@arm.com> |
net/qede: use common bit operations API
Remove its own bit operation APIs and use the common one, this can reduce the code duplication largely.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Review
net/qede: use common bit operations API
Remove its own bit operation APIs and use the common one, this can reduce the code duplication largely.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Gavin Hu <gavin.hu@arm.com>
show more ...
|
#
f97b56f9 |
| 25-Apr-2020 |
Rasesh Mody <rmody@marvell.com> |
net/qede: support FW version query
Add support for get firmware version operation.
Get and dump multi boot image (MBI) version as part of get firmware version string along with Management firmware
net/qede: support FW version query
Add support for get firmware version operation.
Get and dump multi boot image (MBI) version as part of get firmware version string along with Management firmware (MFW) version. Use qede_fw_version_get() for PMD info logs.
Signed-off-by: Yash Sharma <ysharma@marvell.com> Signed-off-by: Rasesh Mody <rmody@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
show more ...
|
#
f44ca48c |
| 06-Feb-2020 |
Manish Chopra <manishc@marvell.com> |
net/qede: fix VF reload
On ungraceful termination of DPDK application, PMD VF driver fails to re-load due to PF seeing the VF in unexpected state during VF acquisition handshake.
This patch fixes i
net/qede: fix VF reload
On ungraceful termination of DPDK application, PMD VF driver fails to re-load due to PF seeing the VF in unexpected state during VF acquisition handshake.
This patch fixes it by allowing VF to request the PF for soft FLR during the load in such cases so that it can get cleanly re-loaded.
Fixes: 2ea6f76aff40 ("qede: add core driver") Cc: stable@dpdk.org
Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Shahed Shaikh <shshaikh@marvell.com> Signed-off-by: Rasesh Mody <rmody@marvell.com> Acked-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
58bb1ee4 |
| 20-Oct-2019 |
Rasesh Mody <rmody@marvell.com> |
net/qede/base: update FW to 8.40.33.0
In our testing we have identified a critical FW bug. Performance is degraded significantly for certain packet sizes with 8.40.25.0 FW.
This patch updates the F
net/qede/base: update FW to 8.40.33.0
In our testing we have identified a critical FW bug. Performance is degraded significantly for certain packet sizes with 8.40.25.0 FW.
This patch updates the FW to version 8.40.33.0. The updated FW has a fix to performance issue.
The patch also adds initialization for FW overlay RAM as part of hardware initialization which is required by the new FW.
Fixes: 3b307c55f2ac ("net/qede/base: update FW to 8.40.25.0") Cc: stable@dpdk.org
Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
3b307c55 |
| 06-Oct-2019 |
Rasesh Mody <rmody@marvell.com> |
net/qede/base: update FW to 8.40.25.0
This patch updates the FW to 8.40.25.0 and corresponding base driver changes. It also updates the PMD version to 2.11.0.1. The FW updates consists of enhancemen
net/qede/base: update FW to 8.40.25.0
This patch updates the FW to 8.40.25.0 and corresponding base driver changes. It also updates the PMD version to 2.11.0.1. The FW updates consists of enhancements and fixes as described below.
- VF RX queue start ramrod can get stuck due to completion error. Return EQ completion with error, when fail to load VF data. Use VF FID in RX queue start ramrod - Fix big receive buffer initialization for 100G to address failure leading to BRB hardware assertion - GRE tunnel traffic doesn't run when non-L2 ethernet protocol is enabled, fix FW to not forward tunneled SYN packets to LL2. - Fix the FW assert that is caused during vport_update when tx-switching is enabled - Add initial FW support for VF Representors - Add ecore_get_hsi_def_val() API to get default HSI values - Move following from .c to .h files: TSTORM_QZONE_START and MSTORM_QZONE_START enum ilt_clients renamed struct ecore_dma_mem to phys_mem_desc and moved - Add ecore_cxt_set_cli() and ecore_cxt_set_blk() APIs to set client config and block details - Use SET_FIELD() macro where appropriate - Address spell check and code alignment issues
Signed-off-by: Rasesh Mody <rmody@marvell.com>
show more ...
|
#
35b2d13f |
| 21-May-2019 |
Olivier Matz <olivier.matz@6wind.com> |
net: add rte prefix to ether defines
Add 'RTE_' prefix to defines: - rename ETHER_ADDR_LEN as RTE_ETHER_ADDR_LEN. - rename ETHER_TYPE_LEN as RTE_ETHER_TYPE_LEN. - rename ETHER_CRC_LEN as RTE_ETHER_C
net: add rte prefix to ether defines
Add 'RTE_' prefix to defines: - rename ETHER_ADDR_LEN as RTE_ETHER_ADDR_LEN. - rename ETHER_TYPE_LEN as RTE_ETHER_TYPE_LEN. - rename ETHER_CRC_LEN as RTE_ETHER_CRC_LEN. - rename ETHER_HDR_LEN as RTE_ETHER_HDR_LEN. - rename ETHER_MIN_LEN as RTE_ETHER_MIN_LEN. - rename ETHER_MAX_LEN as RTE_ETHER_MAX_LEN. - rename ETHER_MTU as RTE_ETHER_MTU. - rename ETHER_MAX_VLAN_FRAME_LEN as RTE_ETHER_MAX_VLAN_FRAME_LEN. - rename ETHER_MAX_VLAN_ID as RTE_ETHER_MAX_VLAN_ID. - rename ETHER_MAX_JUMBO_FRAME_LEN as RTE_ETHER_MAX_JUMBO_FRAME_LEN. - rename ETHER_MIN_MTU as RTE_ETHER_MIN_MTU. - rename ETHER_LOCAL_ADMIN_ADDR as RTE_ETHER_LOCAL_ADMIN_ADDR. - rename ETHER_GROUP_ADDR as RTE_ETHER_GROUP_ADDR. - rename ETHER_TYPE_IPv4 as RTE_ETHER_TYPE_IPv4. - rename ETHER_TYPE_IPv6 as RTE_ETHER_TYPE_IPv6. - rename ETHER_TYPE_ARP as RTE_ETHER_TYPE_ARP. - rename ETHER_TYPE_VLAN as RTE_ETHER_TYPE_VLAN. - rename ETHER_TYPE_RARP as RTE_ETHER_TYPE_RARP. - rename ETHER_TYPE_QINQ as RTE_ETHER_TYPE_QINQ. - rename ETHER_TYPE_ETAG as RTE_ETHER_TYPE_ETAG. - rename ETHER_TYPE_1588 as RTE_ETHER_TYPE_1588. - rename ETHER_TYPE_SLOW as RTE_ETHER_TYPE_SLOW. - rename ETHER_TYPE_TEB as RTE_ETHER_TYPE_TEB. - rename ETHER_TYPE_LLDP as RTE_ETHER_TYPE_LLDP. - rename ETHER_TYPE_MPLS as RTE_ETHER_TYPE_MPLS. - rename ETHER_TYPE_MPLSM as RTE_ETHER_TYPE_MPLSM. - rename ETHER_VXLAN_HLEN as RTE_ETHER_VXLAN_HLEN. - rename ETHER_ADDR_FMT_SIZE as RTE_ETHER_ADDR_FMT_SIZE. - rename VXLAN_GPE_TYPE_IPV4 as RTE_VXLAN_GPE_TYPE_IPV4. - rename VXLAN_GPE_TYPE_IPV6 as RTE_VXLAN_GPE_TYPE_IPV6. - rename VXLAN_GPE_TYPE_ETH as RTE_VXLAN_GPE_TYPE_ETH. - rename VXLAN_GPE_TYPE_NSH as RTE_VXLAN_GPE_TYPE_NSH. - rename VXLAN_GPE_TYPE_MPLS as RTE_VXLAN_GPE_TYPE_MPLS. - rename VXLAN_GPE_TYPE_GBP as RTE_VXLAN_GPE_TYPE_GBP. - rename VXLAN_GPE_TYPE_VBNG as RTE_VXLAN_GPE_TYPE_VBNG. - rename ETHER_VXLAN_GPE_HLEN as RTE_ETHER_VXLAN_GPE_HLEN.
Do not update the command line library to avoid adding a dependency to librte_net.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
66c4904f |
| 31-Oct-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede/base: fix to initialize HW for LLH filters
During initialization of leading PF, we need to initialize HW for LLH filters. Set HW init parameter to set the engine affinity for multiple engin
net/qede/base: fix to initialize HW for LLH filters
During initialization of leading PF, we need to initialize HW for LLH filters. Set HW init parameter to set the engine affinity for multiple engine adapters.
Fixes: 3eed444a9621 ("net/qede/base: changes for 100G")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
show more ...
|
#
520dd992 |
| 28-Oct-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
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.
Si
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>
show more ...
|
#
b74fd6b8 |
| 28-Oct-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
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
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>
show more ...
|
#
3c361686 |
| 29-Sep-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede/base: upgrade to FW 8.37.7.0
This patch adds changes to base driver for upgrading to 8.37.3.0 FW.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
|
#
3126df22 |
| 14-Jul-2018 |
Rasesh Mody <rasesh.mody@cavium.com> |
net/qede: move SPDX tags to source files
We were using LICENSE.qede_pmd to reference inclusion of SPDX licensing tag from all the source file. Remove the LICENSE.qede_pmd file and directly include S
net/qede: move SPDX tags to source files
We were using LICENSE.qede_pmd to reference inclusion of SPDX licensing tag from all the source file. Remove the LICENSE.qede_pmd file and directly include SPDX tags in source files.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
245aec28 |
| 23-Jun-2018 |
Shahed Shaikh <shahed.shaikh@cavium.com> |
net/qede: fix legacy interrupt mode
qede pmd does not have support for legacy interrupt mode. This causes slow path completion failure with uio_pci_generic module, since it uses legacy interrupt (IN
net/qede: fix legacy interrupt mode
qede pmd does not have support for legacy interrupt mode. This causes slow path completion failure with uio_pci_generic module, since it uses legacy interrupt (INTx) mode.
Fix this issue by installing legacy interrupt handler.
Fixes: ec94dbc57362 ("qede: add base driver") Cc: stable@dpdk.org
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
show more ...
|
#
cfab13aa |
| 07-Jun-2018 |
Shahed Shaikh <shahed.shaikh@cavium.com> |
net/qede: fix link change event notification
As per existing behavior, when firmware sends a link change notification, PMD only updates the link structure but does not notify applications about it.
net/qede: fix link change event notification
As per existing behavior, when firmware sends a link change notification, PMD only updates the link structure but does not notify applications about it. This results in application sending packets even when link status is down.
Fix this issue by issuing RTE_ETH_EVENT_INTR_LSC.
Fixes: ec94dbc57362 ("qede: add base driver") Cc: stable@dpdk.org
Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
show more ...
|