#
6f5f3b99 |
| 24-Dec-2020 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: check chip reset in stop and close
While the error recovery thread is running, an application can invoke dev_stop or dev_close_op thus triggering a race and unwanted consequences if dev_cl
net/bnxt: check chip reset in stop and close
While the error recovery thread is running, an application can invoke dev_stop or dev_close_op thus triggering a race and unwanted consequences if dev_close is invoked while the recovery is not yet completed. Fix by having another lock to synchronize between the 2 threads and return EGAIN if adapter is in the middle of recovery when dev_stop or dev_close ops are invoked
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
9d276b43 |
| 24-Dec-2020 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: fix error handling in device start
Call bnxt_dev_stop in error path of bnxt_dev_start_op() to keep it simple and consistent
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update oper
net/bnxt: fix error handling in device start
Call bnxt_dev_stop in error path of bnxt_dev_start_op() to keep it simple and consistent
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations") Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
c9ffd6f8 |
| 24-Dec-2020 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: fix lock init and destroy
Invoking init/uninit locks in init_resources and uninit_resources would end up initializing and destroying locks on every port start stop which is not desired. Mo
net/bnxt: fix lock init and destroy
Invoking init/uninit locks in init_resources and uninit_resources would end up initializing and destroying locks on every port start stop which is not desired. Move the 2 routines to dev_init and dev_close respectively as locks need to be initialized and destroyed only once during the lifetime of the driver.
Fixes: 1cb3d39a48f7 ("net/bnxt: synchronize between flow related functions") Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
899f0613 |
| 20-Dec-2020 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: add Rx logic for 58818 chips
1. On the new 58818 chips, the RX completion is largely the same except for the new completion opcode and the stripped VLAN format and checksum status. A
net/bnxt: add Rx logic for 58818 chips
1. On the new 58818 chips, the RX completion is largely the same except for the new completion opcode and the stripped VLAN format and checksum status. Added bnxt_parse_csum_v2(), bnxt_parse_pkt_type_v2() and bnxt_rx_vlan_v2() to support the new RX completion logic. 2. Disable vector mode RX/TX for 58818 chips for now. 3. The cfa_code format on 58818 chips is different than legacy chips. So skip cfa_code parsing logic on 58818 chips for now.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
eb6ed2a9 |
| 20-Dec-2020 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: modify context memory allocation
Newer devices like SR2 may have chip backing store and do not require host backed memory allocation.
In these cases, HWRM_FUNC_BACKING_STORE_QCAPS will re
net/bnxt: modify context memory allocation
Newer devices like SR2 may have chip backing store and do not require host backed memory allocation.
In these cases, HWRM_FUNC_BACKING_STORE_QCAPS will return a zero entry size to indicate contexts for which the host should not allocate backing store.
Selectively allocate context memory based on device capabilities and only enable backing store for the appropriate contexts
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
5d47d06b |
| 20-Dec-2020 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: modify VNIC accounting
Modify VNIC accounting when enabling RFS on newer chips. Unlike legacy chips, newer chips don't need additional VNIC resources for ntuple filter. Fix the code accord
net/bnxt: modify VNIC accounting
Modify VNIC accounting when enabling RFS on newer chips. Unlike legacy chips, newer chips don't need additional VNIC resources for ntuple filter. Fix the code accordingly so that we don't reserve and allocate additional VNICs on newer chips.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
ecf1474a |
| 20-Dec-2020 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: support 58818 chip family
The new chip (Stingray 2) is part of the P5 chip family with a number of changes:
1. Implement the epoch doorbell bit for 58818 chip. With the new doorbell in
net/bnxt: support 58818 chip family
The new chip (Stingray 2) is part of the P5 chip family with a number of changes:
1. Implement the epoch doorbell bit for 58818 chip. With the new doorbell infrastructure and the unbounded index logic, now set the epoch doorbell bit to support proper doorbell operation on the new chip. Toggle epoch bit of all rings when it's wrapped to support doorbell overflow checking. 2. Get the legacy doorbell size from firmware. Legacy doorbell support has been removed in Stingray 2. So, the fast path doorbell pages start from the base of the BAR. Drivers need to use legacy_l2_db_space_size_kb field in the hwrm_func_qcfg_output response to get the legacy doorbell page offset from the BAR. 3. Set VALID doorbell bit on 58818 chip family. This class of chip has a valid doorbell bit added and it needs to be set. 4. Use "chip_num" returned by firmware. The "chip_num" field in the HWRM_VER_GET output returns the chip number. Use this value to identify chip category for 58818 chip family. 5. Added device ids for Stingray2 PF/VF devices.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
dc241adc |
| 18-Dec-2020 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: remove support for some PCI IDs
As announced the deprecation notice during the 20.11 release, remove support for NetXtreme devices belonging to BCM573xx and BCM5740x families. Specifically
net/bnxt: remove support for some PCI IDs
As announced the deprecation notice during the 20.11 release, remove support for NetXtreme devices belonging to BCM573xx and BCM5740x families. Specifically the support for the following Broadcom PCI device IDs: 0x16c8, 0x16c9, 0x16ca, 0x16ce, 0x16cf, 0x16df, 0x16d0, 0x16d1, 0x16d2, 0x16d4, 0x16d5, 0x16e7, 0x16e8, 0x16e9 has been removed.
Deprecation notice has been removed and release notes for 21.02 has been updated accordingly.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
e750acef |
| 17-Dec-2020 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: fix outer UDP checksum Rx offload capability
Rx outer UDP checksum offload has been supported for some time, but this has not been advertised in offload capability flags. Fix this, and all
net/bnxt: fix outer UDP checksum Rx offload capability
Rx outer UDP checksum offload has been supported for some time, but this has not been advertised in offload capability flags. Fix this, and allow vector mode receive to be enabled when DEV_RX_OFFLOAD_OUTER_UDP_CKSUM is requested.
Fixes: 04a681426d49 ("net/bnxt: fix L4 checksum error indication in Rx") Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
c5094460 |
| 05-Dec-2020 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: update indentation and coding style
Indentation and coding style fixes.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Lance Richardson <lance.richardson@broadcom.com>
|
#
70517a3a |
| 03-Dec-2020 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: fix PF resource query
This cmd should be called by every driver after 'hwrm_func_cfg' to get the actual number of resources allocated by the HWRM. The values returned in the cmd are the ma
net/bnxt: fix PF resource query
This cmd should be called by every driver after 'hwrm_func_cfg' to get the actual number of resources allocated by the HWRM. The values returned in the cmd are the max values for that PF.
Also, now that the max values for the PF are computed in probe itself, no need to invoke FUNC_QCAPs or any other cmd in dev_configure_op() as that would just override the actual max values obtained above.
Fixes: f8168ca0e690 ("net/bnxt: support thor controller") Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
c72fe7ac |
| 28-Aug-2020 |
Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> |
net/bnxt: fix max rings computation
The current max_rings computation does not take into account the case when max_nq_rings is <= num_async_cpr. This results in a wrong value like 0, when max_nq_rin
net/bnxt: fix max rings computation
The current max_rings computation does not take into account the case when max_nq_rings is <= num_async_cpr. This results in a wrong value like 0, when max_nq_rings is 1. Fix this by subtracting num_async_cpr only when max_cp_rings > num_async_cpr.
Apart from this, the entire logic is currently spread across a few macros, making it hard to read and debug this code. Move this code into an inline function.
max_msix is not used in the max_rings calculation. Apparently the max_msix field returned in HWRM_RESC_QCAPS is only valid for Thor and newer chips. On Wh+ it will be equal to min_compl_rings. Also, when a function reset is performed on an application quit, FW will not reset the VF resource pool as per design. This can lead to a strange condition wherein the max_msix field on Wh+ keeps changing on each application re-load thereby throwing throwing off the max_rings computation.
Fixes: f03e66cb64ce ("net/bnxt: limit queue count for NS3/Stingray devices") Cc: stable@dpdk.org
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
5bbf650b |
| 01-Dec-2020 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: fix cleanup on mutex init failure
In case mutex init fails during initialization, start cleanup and fail the initialization process.
Fixes: a73b8e939f10 ("net/bnxt: fix race between start
net/bnxt: fix cleanup on mutex init failure
In case mutex init fails during initialization, start cleanup and fail the initialization process.
Fixes: a73b8e939f10 ("net/bnxt: fix race between start and interrupt handler") Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
4297cade |
| 12-Nov-2020 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: propagate FW command failure to application
In bnxt_reta_update_op() and bnxt_rss_hash_update_op(), driver does not propagate the error back to the application when the fw command fails.
net/bnxt: propagate FW command failure to application
In bnxt_reta_update_op() and bnxt_rss_hash_update_op(), driver does not propagate the error back to the application when the fw command fails.
Fixes: 378ab645bb0b ("net/bnxt: fix RSS RETA indirection table ops") Fixes: fcc0aa1edc10 ("net/bnxt: add RSS hash configuration") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
3c1fba19 |
| 01-Dec-2020 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: remove references to Thor
Refactor code to remove references to Thor. Instead use P5 as in phase 5 of development cycle since it is applicable to boards other than Thor as well.
Signed-of
net/bnxt: remove references to Thor
Refactor code to remove references to Thor. Instead use P5 as in phase 5 of development cycle since it is applicable to boards other than Thor as well.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
d424af43 |
| 12-Nov-2020 |
Samik Gupta <samik.gupta@broadcom.com> |
net/bnxt: fix Rx rings in RSS redirection table
This commit introduces a limit on the number of RX rings included in the RSS redirection table to a value no larger than the size supported by Thor as
net/bnxt: fix Rx rings in RSS redirection table
This commit introduces a limit on the number of RX rings included in the RSS redirection table to a value no larger than the size supported by Thor as defined by BNXT_RSS_TBL_SIZE_THOR.
Fixes: d819382543f3 ("net/bnxt: add RSS redirection table operations") Cc: stable@dpdk.org
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Signed-off-by: Samik Gupta <samik.gupta@broadcom.com>
show more ...
|
#
db27370b |
| 10-Nov-2020 |
Stephen Hemminger <stephen@networkplumber.org> |
eal: replace blacklist/whitelist options
Replace -w / --pci-whitelist with -a / --allow options and --pci-blacklist with --block. The -b short option remains unchanged.
Allow the old options for no
eal: replace blacklist/whitelist options
Replace -w / --pci-whitelist with -a / --allow options and --pci-blacklist with --block. The -b short option remains unchanged.
Allow the old options for now, but print a nag warning since old options are deprecated.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Luca Boccassi <bluca@debian.org> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
739356da |
| 02-Nov-2020 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: fix PAM4 link negotiation
In some instances link was not coming up if PAM4 signaling is enabled. Added check to disable autoneg if FW indicates auto speeds are zero. Use default auto speed
net/bnxt: fix PAM4 link negotiation
In some instances link was not coming up if PAM4 signaling is enabled. Added check to disable autoneg if FW indicates auto speeds are zero. Use default auto speeds if PAM4 auto speeds is not set. Added a fix for forced link setting.
Fixes: c23f9ded0391 ("net/bnxt: support 200G PAM4 link")
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
86274fc1 |
| 30-Oct-2020 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: fix pass by reference
Pass 'eth_da' pointer instead of pass by value to bnxt_rep_port_probe()
Coverity issue: 360841 Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure")
net/bnxt: fix pass by reference
Pass 'eth_da' pointer instead of pass by value to bnxt_rep_port_probe()
Coverity issue: 360841 Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure") Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
0bf5a0b5 |
| 30-Oct-2020 |
Somnath Kotur <somnath.kotur@broadcom.com> |
net/bnxt: add a failure log
Check and log an error message if switch domain free API fails
Coverity issue: 362757 Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure") Cc: stable@dp
net/bnxt: add a failure log
Check and log an error message if switch domain free API fails
Coverity issue: 362757 Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure") Cc: stable@dpdk.org
Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
show more ...
|
#
1be514fb |
| 22-Oct-2020 |
Andrew Rybchenko <arybchenko@solarflare.com> |
ethdev: remove legacy FDIR filter type support
Instead of FDIR filters RTE flow API should be used.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ajit Khaparde <ajit.khapard
ethdev: remove legacy FDIR filter type support
Instead of FDIR filters RTE flow API should be used.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Haiyue Wang <haiyue.wang@intel.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
251baec3 |
| 22-Oct-2020 |
Andrew Rybchenko <arybchenko@solarflare.com> |
ethdev: remove legacy tunnel filter type support
Instead of TUNNEL filter RTE flow API should be used.
Move corresponding defines and helper structure to ethdev driver interface since it is still u
ethdev: remove legacy tunnel filter type support
Instead of TUNNEL filter RTE flow API should be used.
Move corresponding defines and helper structure to ethdev driver interface since it is still used by drivers internally.
Preserve RTE_ETH_FILTER_TUNNEL because of usage in drivers.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
92067db0 |
| 22-Oct-2020 |
Andrew Rybchenko <arybchenko@solarflare.com> |
ethdev: remove legacy N-tuple filter type support
Instead of N-tuple filter RTE flow API should be used.
Preserve struct rte_eth_ntuple_filter in ethdev API since the structure and related defines
ethdev: remove legacy N-tuple filter type support
Instead of N-tuple filter RTE flow API should be used.
Preserve struct rte_eth_ntuple_filter in ethdev API since the structure and related defines are used in flow classify library and a number of drivers.
Preserve RTE_ETH_FILTER_NTUPLE because of usage in drivers.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
35b1c68a |
| 22-Oct-2020 |
Andrew Rybchenko <arybchenko@solarflare.com> |
ethdev: remove legacy EtherType filter type support
Instead of EtherType filter RTE flow API should be used.
Move corresponding definitions to ethdev internal driver API since it is used by drivers
ethdev: remove legacy EtherType filter type support
Instead of EtherType filter RTE flow API should be used.
Move corresponding definitions to ethdev internal driver API since it is used by drivers internally. Preserve RTE_ETH_FILTER_ETHERTYPE because of it as well.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
e24a5d3f |
| 26-Oct-2020 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: set thread safe flow ops flag
PMD supports thread-safe flow operations. Set the RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE dev_flag to indicate this info to the application. rte_flow API functions c
net/bnxt: set thread safe flow ops flag
PMD supports thread-safe flow operations. Set the RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE dev_flag to indicate this info to the application. rte_flow API functions can avoid using its own mutex for safe multi-thread flow handling.
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|