| b758e000 | 27-Apr-2022 |
Somnath Kotur <[email protected]> |
net/bnxt: skip wait for link up on port start
Invoking bnxt_link_update_op() with wait_for_completion set would result in the driver waiting for 10s in case the port link is down to complete port in
net/bnxt: skip wait for link up on port start
Invoking bnxt_link_update_op() with wait_for_completion set would result in the driver waiting for 10s in case the port link is down to complete port initialization (dev_start_op()). Change it by not waiting for the completion when invoking it in dev_start_op()
Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| 2df7dfff | 27-Apr-2022 |
Somnath Kotur <[email protected]> |
net/bnxt: fix freeing VNIC filters
In bnxt_free_all_filters(), all the filters attached to a vnic are removed. But each of these filters hold a backreference ptr to the vnic and they need to be rese
net/bnxt: fix freeing VNIC filters
In bnxt_free_all_filters(), all the filters attached to a vnic are removed. But each of these filters hold a backreference ptr to the vnic and they need to be reset to NULL now. Otherwise, during a normal testpmd quit, as part of dev_close_op(), first bnxt_free_all_filters() is invoked in dev_stop, followed by bnxt_free_filter_mem() from bnxt_uninit_resources(), which finds a filter with a vnic back reference ptr and now bnxt_hwrm_clean_up_l2_filter() also tries to remove the filter from the vnic's filter list which was already done as part of bnxt_free_all_filters().
Fixes: f0f6b5e6cf94 ("net/bnxt: fix reusing L2 filter") Cc: [email protected]
Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| 5591bb92 | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: recheck FW readiness if in reset process
If Firmware is still in reset process and returns the error HWRM_ERR_CODE_HOT_RESET_PROGRESS, retry VER_GET command. We have to do it in bnxt_handl
net/bnxt: recheck FW readiness if in reset process
If Firmware is still in reset process and returns the error HWRM_ERR_CODE_HOT_RESET_PROGRESS, retry VER_GET command. We have to do it in bnxt_handle_if_change_status().
Fixes: 0b533591238f ("net/bnxt: inform firmware about IF state changes") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| 7b6eba88 | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: fix link status when port is stopped
Driver forces link down during port stop. But device is not obliged link down in certain scenarios, even when forced. In that case, subsequent link que
net/bnxt: fix link status when port is stopped
Driver forces link down during port stop. But device is not obliged link down in certain scenarios, even when forced. In that case, subsequent link queries returns link as up. Fixed to return link status as down when port is stopped. Driver is already doing that for VF/NPAR/MH functions.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| 9c1410be | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: force PHY update on certain configurations
Device is not obliged link down in certain scenarios, even when forced. When FW does not allow any user other than the BMC to shutdown the port,
net/bnxt: force PHY update on certain configurations
Device is not obliged link down in certain scenarios, even when forced. When FW does not allow any user other than the BMC to shutdown the port, bnxt_get_hwrm_link_config() call always returns link up. Force phy update always in that case, else user configuration for speed/autoneg would not get applied correctly.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| 34a07594 | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: fix speed autonegotiation
The "active_fec_signal_mode" in HWRM_PORT_PHY_QCFG response does not return correct value till the link is up. Driver cannot rely on active_fec_signal_mode while
net/bnxt: fix speed autonegotiation
The "active_fec_signal_mode" in HWRM_PORT_PHY_QCFG response does not return correct value till the link is up. Driver cannot rely on active_fec_signal_mode while setting autoneg speed.
While setting autoneg speed, driver is currently checking only "auto_link_speed_mask". Fixed to check "auto_pam4_link_speed_mask" as well. Also, while setting auto mode and setting speed mask, driver will have to set both NRZ and PAM4 mask.
Fixes: c23f9ded0391 ("net/bnxt: support 200G PAM4 link") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| 85998205 | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: avoid unnecessary endianness conversion
The "active_fec_signal_mode" in HWRM_PORT_PHY_QCFG response is uint8_t. So no need of endianness conversion while parsing response. Also, signal_mod
net/bnxt: avoid unnecessary endianness conversion
The "active_fec_signal_mode" in HWRM_PORT_PHY_QCFG response is uint8_t. So no need of endianness conversion while parsing response. Also, signal_mode is the first 4bits of "active_fec_signal_mode".
Fixes: c23f9ded0391 ("net/bnxt: support 200G PAM4 link") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| 962a5212 | 27-Apr-2022 |
Somnath Kotur <[email protected]> |
net/bnxt: handle queue stop during RSS flow create
The programming of the RSS table was not taking into account if any of the queues in the set were stopped prior to the flow creation, hence leading
net/bnxt: handle queue stop during RSS flow create
The programming of the RSS table was not taking into account if any of the queues in the set were stopped prior to the flow creation, hence leading to a vnic RSS config cmd failure thrown by the FW. Fix by programming only the active queues in the RSS action queue set.
Fixes: 239695f754cb ("net/bnxt: enhance RSS action support") Cc: [email protected]
Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Kalesh AP <[email protected]>
show more ...
|
| 447a0721 | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: check duplicate queue IDs
Currently driver does not have a check for duplicate queue ids. User must either specify all Rx queues created or no queues in the flow create command. Repeating
net/bnxt: check duplicate queue IDs
Currently driver does not have a check for duplicate queue ids. User must either specify all Rx queues created or no queues in the flow create command. Repeating the queue index is invalid.
Also, moved the check for invalid queue to the beginning of the function.
Fixes: 239695f754cb ("net/bnxt: enhance RSS action support") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| 1b27f824 | 27-Apr-2022 |
Somnath Kotur <[email protected]> |
net/bnxt: fix ring group on Rx restart
When an Rx queue is stopped and restarted, as part of that workflow, for cards that have ring groups, we free and reallocate the ring group. This new ring grou
net/bnxt: fix ring group on Rx restart
When an Rx queue is stopped and restarted, as part of that workflow, for cards that have ring groups, we free and reallocate the ring group. This new ring group is not communicated to the VNIC though via HWRM_VNIC_CFG cmd. Fix to issue HWRM_VNIC_CFG cmd on all adapters now in this scenario.
Fixes: ed0ae3502fc9 ("net/bnxt: update ring group after ring stop start") Cc: [email protected]
Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Kalesh AP <[email protected]>
show more ...
|
| 202a1711 | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: fix RSS action
Specifying a subset of Rx queues created by the application in the "flow create" command is invalid. User must either specify all Rx queues created or no queues.
Also remov
net/bnxt: fix RSS action
Specifying a subset of Rx queues created by the application in the "flow create" command is invalid. User must either specify all Rx queues created or no queues.
Also removed a wrong comment as RSS action will not be supported if user or application specifies MARK or COUNT action.
Fixes: 239695f754cb ("net/bnxt: enhance RSS action support") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| 441fd426 | 27-Apr-2022 |
Somnath Kotur <[email protected]> |
net/bnxt: remove count action support
'Count' action was never really implemented in the legacy/AFM model. But there was some place holder code, remove it so that the user will see a failure when a
net/bnxt: remove count action support
'Count' action was never really implemented in the legacy/AFM model. But there was some place holder code, remove it so that the user will see a failure when a flow with 'count' action is being created.
Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| c0278f6e | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: fix tunnel stateless offloads
The HW only supports tunnel header parsing globally for supported tunnel types. When a function uses one default VNIC to receive both the tunnel and non-tunne
net/bnxt: fix tunnel stateless offloads
The HW only supports tunnel header parsing globally for supported tunnel types. When a function uses one default VNIC to receive both the tunnel and non-tunnel packets, applying the same stateless offload operation to both tunnel and non-tunnel packets can cause problems in certain scenarios. To workaround these problems, the firmware advertises no tunnel header parsing capabilities to the driver using the HWRM_FUNC_QCAPS. The driver must check this flag setting and accordingly not advertise tunnel packet stateless offload capabilities to the stack.
If the device supports VXLAN, GRE, IPIP and GENEVE tunnel parsing, then reports RX_OFFLOAD_OUTER_IPV4_CKSUM, RX_OFFLOAD_OUTER_UDP_CKSUM and TX_OFFLOAD_OUTER_IPV4_CKSUM in the Rx/Tx offload capabilities of the device. Also, advertise tunnel TSO capabilities based on FW support.
Fixes: 0a6d2a720078 ("net/bnxt: get device infos") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| 0a90c56e | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: fix Rx configuration
We are currently not handling RX/RSS modes correctly. After launching testpmd with multiple RXQs, if the user tries to set the number of RXQs to 1, driver is not updat
net/bnxt: fix Rx configuration
We are currently not handling RX/RSS modes correctly. After launching testpmd with multiple RXQs, if the user tries to set the number of RXQs to 1, driver is not updating the "hash_type" and "hash_mode" values of the VNICs. As a result, driver issues bnxt_vnic_rss_configure() unnecessarily and the FW command fails.
Fixed bnxt_mq_rx_configure() to update VNIC RSS fields unconditionally.
Fixes: 4191bc8f79a8 ("net/bnxt: handle multi queue mode properly") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| c29aa80f | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: remove unused macro
BNXT_FLAG_UPDATE_HASH is redundant now, remove it.
Fixes: 1ebb765090a6 ("net/bnxt: fix config RSS update") Cc: [email protected]
Signed-off-by: Kalesh AP <kalesh-anakku
net/bnxt: remove unused macro
BNXT_FLAG_UPDATE_HASH is redundant now, remove it.
Fixes: 1ebb765090a6 ("net/bnxt: fix config RSS update") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| 47a956a8 | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: fix device capability reporting
1. Added two functions bnxt_get_tx_port_offloads() and bnxt_get_rx_port_offloads() to report the device tx/rx offload capabilities to the application.
net/bnxt: fix device capability reporting
1. Added two functions bnxt_get_tx_port_offloads() and bnxt_get_rx_port_offloads() to report the device tx/rx offload capabilities to the application. 2. This avoids few duplicate code in the driver and make VF-rep capability the same as VF. 3. This will help in selectively reporting offload capabilities based on FW support.
Fixes: 0a6d2a720078 ("net/bnxt: get device infos") Cc: [email protected]
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| 26469260 | 27-Apr-2022 |
Kalesh AP <[email protected]> |
net/bnxt: update HWRM structures
Brought in the latest hsi_struct_def_dpdk.h. HWRM API is now updated to version "1.10.2.83".
Signed-off-by: Kalesh AP <[email protected]> Reviewed
net/bnxt: update HWRM structures
Brought in the latest hsi_struct_def_dpdk.h. HWRM API is now updated to version "1.10.2.83".
Signed-off-by: Kalesh AP <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]>
show more ...
|
| e7f2effc | 13-Apr-2022 |
Ruifeng Wang <[email protected]> |
net/bnxt: fix reordering in NEON Rx
Rx descriptor contains a valid bit which indicates readiness of the rest of descriptor words. Hence, the word contains valid bit must be read prior to other words
net/bnxt: fix reordering in NEON Rx
Rx descriptor contains a valid bit which indicates readiness of the rest of descriptor words. Hence, the word contains valid bit must be read prior to other words.
In NEON vector path, two contiguous 8B descriptor are loaded to a single NEON register. Given vector load ensures no 16B atomicity, read of the word that includes valid bit could be reordered after read of other words. In this case, data could be invalid.
Reloaded lower 64b after read barrier. This ensures what fetched is correct.
Also fixed comments that not pertains to Arm platform architecture.
Fixes: deae85145c64 ("net/bnxt: handle multiple packets per loop in vector Rx") Cc: [email protected]
Signed-off-by: Ruifeng Wang <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| 761edd4b | 13-Apr-2022 |
Ruifeng Wang <[email protected]> |
net/bnxt: remove redundant ifdefs
NEON vector path is built only when Arm platform is 64-bit. The ifdefs in NEON path are of no use, hence remove.
Signed-off-by: Ruifeng Wang <[email protected]>
net/bnxt: remove redundant ifdefs
NEON vector path is built only when Arm platform is 64-bit. The ifdefs in NEON path are of no use, hence remove.
Signed-off-by: Ruifeng Wang <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| 331d7696 | 13-Apr-2022 |
Ruifeng Wang <[email protected]> |
net/bnxt: defer completion index update
When no packet is received, there is no need to update completion raw cons. Moved update down to remove unnecessary store in this case.
Signed-off-by: Ruifen
net/bnxt: defer completion index update
When no packet is received, there is no need to update completion raw cons. Moved update down to remove unnecessary store in this case.
Signed-off-by: Ruifeng Wang <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| a2dfcd1f | 24-Feb-2022 |
Weiguo Li <[email protected]> |
net/bnxt: fix null dereference in session cleanup
In tf_session_create(), there is a case that with 'tfp->session' still be NULL and run 'goto cleanup', which will leads to a null dereference by 'tf
net/bnxt: fix null dereference in session cleanup
In tf_session_create(), there is a case that with 'tfp->session' still be NULL and run 'goto cleanup', which will leads to a null dereference by 'tfp_free(tfp->session->core_data)' in the cleanup.
Fixes: a46bbb57605b ("net/bnxt: update multi device design") Cc: [email protected]
Signed-off-by: Weiguo Li <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|
| a41f593f | 11-Feb-2022 |
Ferruh Yigit <[email protected]> |
ethdev: introduce generic dummy packet burst function
Multiple PMDs have dummy/noop Rx/Tx packet burst functions.
These dummy functions are very simple, introduce a common function in the ethdev an
ethdev: introduce generic dummy packet burst function
Multiple PMDs have dummy/noop Rx/Tx packet burst functions.
These dummy functions are very simple, introduce a common function in the ethdev and update drivers to use it instead of each driver having its own functions.
Signed-off-by: Ferruh Yigit <[email protected]> Acked-by: Morten Brørup <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]> Acked-by: Thomas Monjalon <[email protected]>
show more ...
|
| 59e62818 | 26-Jan-2022 |
Ajit Khaparde <[email protected]> |
net/bnxt: fix ring calculation for representors
Currently the Tx and Rx ring count for representors is fixed. It does not consider the number of rings created for the parent function. And that can c
net/bnxt: fix ring calculation for representors
Currently the Tx and Rx ring count for representors is fixed. It does not consider the number of rings created for the parent function. And that can cause issues not only during initialization but while running traffic. Instead check the number of rings created for the parent function while configuring the ring resources for representors. In some cases VF rep ring init may happen before the parent function's rings have been setup. And this can cause representor ring count to be configured as 0. In such cases, initialize the VF representor ring count to 8.
Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure") Cc: [email protected]
Signed-off-by: Ajit Khaparde <[email protected]> Reviewed-by: Somnath Kotur <[email protected]> Reviewed-by: Kalesh AP <[email protected]>
show more ...
|
| 5b9b3d59 | 01-Feb-2022 |
Ajit Khaparde <[email protected]> |
net/bnxt: set HW coalescing parameters
Set coalescing parameters correctly for Rx completion rings. This is not being done for the Rx completion rings currently.
Fixes: 657c2a7f1dd4 ("net/bnxt: cre
net/bnxt: set HW coalescing parameters
Set coalescing parameters correctly for Rx completion rings. This is not being done for the Rx completion rings currently.
Fixes: 657c2a7f1dd4 ("net/bnxt: create aggregation rings when needed") Cc: [email protected]
Signed-off-by: Ajit Khaparde <[email protected]> Signed-off-by: Somnath Kotur <[email protected]> Reviewed-by: Kalesh AP <[email protected]>
show more ...
|
| 2d7cb940 | 08-Feb-2022 |
Shahaji Bhosle <[email protected]> |
net/bnxt: make DMAC field optional for F2 match
OvS is adding DMAC sometimes and skips sometimes for F2 flows, to get around not offloading flow make the dmac field optional in OvS template.
Signed
net/bnxt: make DMAC field optional for F2 match
OvS is adding DMAC sometimes and skips sometimes for F2 flows, to get around not offloading flow make the dmac field optional in OvS template.
Signed-off-by: Shahaji Bhosle <[email protected]> Reviewed-by: Kishore Padmanabha <[email protected]> Reviewed-by: Ajit Khaparde <[email protected]>
show more ...
|