From: Kalesh AP
This patchset contains bnxt PMD bug fixes. Please apply.
Kalesh AP (1):
net/bnxt: fix Tx queue stats after queue stop and start
Mike Baucom (1):
net/bnxt: fix Rx queue stats after queue stop and start
Venkat Duvvuru (1):
net/bnxt: do not corrupt RSS hash value in the mbuf
From: Kalesh AP
The Tx queue stats are being reported incorrectly due to a workaround
for ring counters sometimes being reported as zero. When a queue is
stopped and started, the ring counter is reset to zero. The workaround
interprets the zero as incorrect, and sets the reported ring count as
From: Mike Baucom
The Rx queue stats are being reported incorrectly due to a workaround
for ring counters sometimes being reported as zero. When a queue is
stopped and started, the ring counter is reset to zero. The workaround
interprets the zero as incorrect, and sets the reported ring count a
From: Venkat Duvvuru
By clearing mbuf->hash.fdir.id in the data path, the driver is
corrupting the RSS hash value populated in the mbuf as they
are defined as a union.
This patch fixes the problem by removing the code that clears
mbuf->hash.fdir.id.
Fixes: 17b6c8386d73 ("net/bnxt: fix mark hand
From: Kalesh AP
Driver cancels the health check alarm only if error recovery is enabled
in the FW. This can cause an issue. There is a small window where the
driver receives the async event from fw and port close is invoked
immediately. Driver clears BNXT_FLAG_RECOVERY_ENABLED flag when it gets
t
From: Kalesh AP
This patch removes several redundant forward declarations of
functions and structure.
Fixes: 0b42b92ae429 ("net/bnxt: fix xstats by id")
Fixes: cf4f055a6578 ("net/bnxt: remove EEM system memory support")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Khaparde
R
From: Kalesh AP
1. Clean up unused function parameters.
2. Declare no external referenced function as static and remove
their prototye from the header file.
Fixes: ec77c6298301 ("net/bnxt: add stats context allocation")
Fixes: 200b64ba0be8 ("net/bnxt: free statistics context")
Cc: sta...@dpdk
From: Kalesh AP
Remove "__rte_unused" instances that are wrongly marked.
Signed-off-by: Kalesh AP
Reviewed-by: Somnath Kotur
Reviewed-by: Ajit Khaparde
---
drivers/net/bnxt/bnxt_reps.c | 4 ++--
drivers/net/bnxt/bnxt_stats.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --g
From: Kalesh AP
The check BNXT_SINGLE_PF(bp) returns false for a VF. So there is no
extra check needed for VF along with BNXT_SINGLE_PF(bp).
Also make error messages more explicit.
Fixes: ff947c6ce15f ("net/bnxt: add check for multi host PF per port")
Fixes: f86febfb46da ("net/bnxt: support VF"
From: Kalesh AP
Driver should prevent any DMA with the device when it
detects an error. When firmware is in fatal state,
stop tx/rx by assigning them to dummy functions.
Fixes: be14720def9c ("net/bnxt: support FW reset")
Fixes: 9d0cbaecc91a ("net/bnxt: support periodic FW health monitoring")
Cc:
From: Kalesh AP
This patchset contains bug fixes in bnxt PMD.
Ajit Khaparde (1):
net/bnxt: fix switch domain allocation
Damodharam Ammepalli (3):
net/bnxt: allow Tx only or Rx only configs in PMD
net/bnxt: disallow MTU change when device is started
net/bnxt: cleanups in MTU set callback
From: Somnath Kotur
Currently the PMD tries to detect a potential 0 byte DMA by
using RTE_VERIFY.
But since RTE_VERIFY internally calls rte_panic() it is fatal to
the application and some applications want to avoid that.
So return an error from the bnxt xmit handler if such a bad pkt is
encounter
From: Ajit Khaparde
Allocate switch domain after the trusted VF capability is queried
from the FW. Currently we are calling the function earlier.
Since the switch domain is allocated only for PFs or trusted VF,
the current location of code fails to allocate the domain during init.
But during clea
From: Kalesh AP
Broadcom HW drops packets when there are no descriptors available.
It does not matter what flag the application specifies in "rx_drop_en"
when configuring the Rx ring.
Reduce the verbosity of the log to print the status of the "rx_drop_en"
when configuring the Rx ring.
Signed-of
From: Damodharam Ammepalli
Currently, we fail the init/probe of pmd if eth_dev->data->nb_tx_queues
or eth_dev->data->nb_rx_queues is 0. We are removing this check.
Fixes: daef48efe5e5 ("net/bnxt: support set MTU")
Cc: sta...@dpdk.org
Signed-off-by: Damodharam Ammepalli
Reviewed-by: Ajit Khapar
From: Kalesh AP
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 forced speed.
While setting forced speed of 50G/100G/200G, check if PAM4 speeds
are supported for the port fir
From: Damodharam Ammepalli
With this patch, bnxt_mtu_set_op() will return an error code if the
device has already started. The user application will have to take
care to bring down device before invoking the mtu_set()
Fixes: daef48efe5e5 ("net/bnxt: support set MTU")
Cc: sta...@dpdk.org
Signed-
From: Damodharam Ammepalli
Minor cleanup in bnxt_mtu_set_op() to move pre-mature
setting of jumbo flag post mtu check and remove
a redundant mtu set operation from rxq vnic configs.
Fixes: daef48efe5e5 ("net/bnxt: support set MTU")
Cc: sta...@dpdk.org
Signed-off-by: Damodharam Ammepalli
Review
From: Somnath Kotur
The current combination of checks to determine whether autoneg is
enabled in the card is a bit convoluted and may become incorrect
as well in the future as one of the fields being used - auto_link_speed
might become deprecated.
Switch to using the 'auto_mode' field obtained fr
From: Kalesh AP
During port start when bnxt_start_nic() fails, it tries to free
"intr_handle->intr_vec" but the variable is not set to NULL after that.
If port start fails, driver invokes bnxt_dev_stop() which will lead
to a double free of "intr_handle->intr_vec".
Fix it by removing the call to
From: Kalesh AP
While configuring LRO, driver should check the return value
of bnxt_hwrm_vnic_tpa_cfg() HWRM command and return error
when the FW command fails.
Fixes: 0958d8b6435d ("net/bnxt: support LRO")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Somnath Kotur
---
drivers/n
From: Kalesh AP
The "Unregistered with fw" message was being logged in a wrong function.
Moved it to the right place.
Fixes: a7dda7e0a00b ("net/bnxt: log port id in async events")
Signed-off-by: Kalesh AP
Reviewed-by: Somnath Kotur
Reviewed-by: Ajit Kumar Khaparde
---
drivers/net/bnxt/bnxt_
From: Kalesh AP
Please apply.
Ajit Khaparde (1):
net/bnxt: fix VF resource allocation strategy
Kalesh AP (3):
net/bnxt: fix check for autoneg enablement
net/bnxt: handle ring cleanup in case of error
net/bnxt: fix to alloc the memzone per VNIC
drivers/net/bnxt/bnxt_hwrm.c | 35 +++
From: Kalesh AP
HWRM_PORT_PHY_QCFG_OUTPUT response indicates the autoneg speed mask
supported by the FW. While enabling autoneg, driver should also check
the FW advertised PAM4 speeds supported in auto mode which is set
in the HWRM_PORT_PHY_QCFG_OUTPUT response.
Fixes: c23f9ded0391 ("net/bnxt: s
From: Kalesh AP
In bnxt_alloc_mem(), after bnxt_alloc_async_ring_struct(),
any of the functions failure causes an error:
bnxt_hwrm_ring_free(): hwrm_ring_free nq failed. rc:1
Fix this by initializing ring->fw_ring_id to INVALID_HW_RING_ID
in bnxt_alloc_async_ring_struct().
Fixes: bd0a14c99f65
From: Kalesh AP
In case of Thor RSS table size is too big. This could result in
memory allocation failure when the supported vnic count is high.
Instead of allocating the memzone for all VNICs in one shot,
allocate for each VNIC individually.
Also, fixed to free the memzone in the uninit path.
From: Ajit Khaparde
1. VFs need a notification queue to handle async messages.
But the current logic does not reserve a notification queue leading
to initialization failure in some cases.
2. With the current logic, DPDK PF driver reserves only one VNIC
to the VFs leading to initialization failure
From: Kalesh AP
The error recovery solution is a protocol implemented between firmware
and bnxt PMD to recover from the fatal errors without a system reboot.
There is an alarm thread which constantly monitors the health of the
firmware and initiates a recovery when needed.
There are two scenario
From: Kalesh AP
Adding support for the device reset and recovery events in the
rte_eth_event framework. FW error and FW reset conditions would be
managed internally by the PMD without needing application intervention.
In such cases, PMD would need reset/recovery events to notify application
that
From: Kalesh AP
Added code to handle error recovery events in testpmd.
This is an indication from the PMD that it is undergoing
an error recovery and recovered from the error condition.
Signed-off-by: Kalesh AP
Signed-off-by: Somnath Kotur
Reviewed-by: Ajit Khaparde
---
app/test-pmd/paramete
From: Kalesh AP
When the driver receives RESET_NOTIFY async event from FW or detects
an error condition, it should update the application that FW is going
to reset. Once the driver recovers from the reset, update the reset
recovery status to application as well.
Signed-off-by: Kalesh AP
Signed-
From: Kalesh AP
Updated release notes with new error recovery event support.
Signed-off-by: Kalesh AP
---
doc/guides/rel_notes/release_22_03.rst | 15 +++
1 file changed, 15 insertions(+)
diff --git a/doc/guides/rel_notes/release_22_03.rst
b/doc/guides/rel_notes/release_22_03.rst
From: Kalesh AP
Move the Rx queue state update before bnxt_setup_one_vnic()
is called. For Thor, rxq->rx_started and eth_dev->data->rx_queue_state[]
needs to be set for all queues before bnxt_hwrm_vnic_cfg() or
bnxt_vnic_rss_configure() are called.
Fixes: 0105ea1296c9 ("net/bnxt: support runtime
From: Kalesh AP
With commit 239695f754cb ("net/bnxt: enhance RSS action support"),
when bnxt_hwrm_vnic_rss_cfg() call fails, driver was not setting
flow error using "rte_flow_error_set".
Fixes: 239695f754cb ("net/bnxt: enhance RSS action support")
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Kha
From: Kalesh AP
During port stop, we clear "eth_dev->data->scattered_rx" at the
beginning. As a result, in bnxt_free_hwrm_rx_ring() the check
bnxt_need_agg_ring() returns false and we end up not freeing
the Rx aggregation rings which results in resource leak in the FW.
Fixes: 657c2a7f1dd4 ("net/
From: Kalesh AP
stat_ctx_alloc is called within the context of each rx/tx ring.
i.e from bnxt_alloc_hwrm_rx_ring and bnxt_alloc_hwrm_tx_ring().
So, there is no need to invoke bnxt_alloc_all_hwrm_stat_ctxs()
from bnxt_start_nic().
Fixes: 657c2a7f1dd4 ("net/bnxt: create aggregation rings when need
From: Kalesh AP
1. Fix to use correct fields in the request structure of
HWRM_FUNC_DRV_RGTR.
2. Remove the "flags" argument to bnxt_hwrm_func_driver_unregister()
as it is not needed.
Fixes: beb3087f5056 ("net/bnxt: add driver register/unregister")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh
From: Kalesh AP
The error recovery async event messages are often mistaken
for errors. Improved the wording to clarify the meaning of
these events.
Also, take the first step towards more inclusive language.
The references to master will be changed to primary.
For example: "bnxt_is_master_func" wi
From: Kalesh AP
Please apply.
Kalesh AP (2):
net/bnxt: update HSI structure
net/bnxt: inform firmware about host MTU
Somnath Kotur (2):
net/bnxt: minor refactoring of async handling code
net/bnxt: add handler for pause storm event
drivers/net/bnxt/bnxt.h|5 +
drive
From: Kalesh AP
- HWRM version updated to 1.10.2.44
- Added corresponding driver changes for the Admin MTU field name change.
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Khaparde
Reviewed-by: Somnath Kotur
---
drivers/net/bnxt/bnxt_hwrm.c | 14 +-
drivers/net/bnxt/hsi_struct_def_d
From: Kalesh AP
This enables device firmware to respond appropriately to BMC queries
about the driver's configured MTU.
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Khaparde
Reviewed-by: Lance Richardson
---
drivers/net/bnxt/bnxt_ethdev.c | 3 +++
drivers/net/bnxt/bnxt_hwrm.c | 24 +
From: Somnath Kotur
Store the async event completion data1 and data2 in separate variables
at the start of the function before the switch case for the different
events so they can be used by any of the event handlers.
Signed-off-by: Somnath Kotur
Reviewed-by: Ajit Khaparde
---
drivers/net/bnx
From: Somnath Kotur
FW has been modified to send a new async event when it detects
a pause storm. Register for this new event and log it upon receipt.
Signed-off-by: Somnath Kotur
Reviewed-by: Ajit Khaparde
---
drivers/net/bnxt/bnxt.h | 5 +
drivers/net/bnxt/bnxt_cpr.c | 19 +++
From: Kalesh AP
As part of the workaround put in the commit "219842b9990c",
driver caches the last read stats values from the hardware.
But this is not cleared during the clear stats operation. This
results in showing up stale stats values while reading the stats
after the clear operation.
Fixes
From: Kalesh AP
On older Wh+ firmware versions, HWRM_FUNC_QCFG returns zero
for the parent default vnic. Commit "3fb93bc7c349" added a
temporary Wh+-specific workaround in the PMD.
This has been fixed in latest firmware and hence removing
the workaround.
Fixes: 3fb93bc7c349 ("net/bnxt: initializ
From: Kalesh AP
Coverity reports that pointer "cpr->cp_ring_struct" may be
dereferenced with null value. This patch fixes this.
Coverity issue: 372063
Fixes: 5ed30db87fa8 ("net/bnxt: fix missing barriers in completion handling")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Kh
From: Kalesh AP
This series contains bnxt PMD bug fixes. Please apply.
Ajit Khaparde (4):
net/bnxt: fix ring teardown
net/bnxt: fix PAM4 mask setting
net/bnxt: fix pointer access
net/bnxt: check VF rep pointer before access
Kalesh AP (13):
net/bnxt: fix bnxt_dev_set_mc_addr_list_op
From: Kalesh AP
Fix to cache the multicast mac addresses added to the port
to the driver private structure memory. Use this cached mc list
to program the FW.
This fixes an issue where multicast packets reception is
successful only if the multicast mac address of the packets
is the first one in t
From: Kalesh AP
During reset recovery, driver is not restoring the multicast
mac addresses. Added code to restore them during reset recovery.
Fixes: b02f1573cd07 ("net/bnxt: restore MAC filters during reset recovery")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Khaparde
Rev
From: Kalesh AP
When there are no active Rx queues(i.e when all queues have been stopped),
clear the RSS redirection table of the VNIC on Thor.
Fixes: 9b63c6fd70e3 ("net/bnxt: support Rx/Tx queue start/stop")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Khaparde
Reviewed-by:
From: Kalesh AP
During reset recovery, driver is not restoring the VNIC rss hash key.
It's generating a new random hash key which results in unexpected
RSS behavior after recovery. Fixed this by storing the VNIC rss
configuration to a local struct and then applying the cached value
during the rec
From: Kalesh AP
During port start, driver calls bnxt_vlan_offload_set_op()
to program VLAN Filter/VLAN Strip setting to the HW. This
in turns add the vlan filters.
This results in a failure when bnxt_restore_filters() invokes
bnxt_restore_vlan_filters() during the recovery as the vlans are
alrea
From: Kalesh AP
The Maximum number of receive mac addr is hard coded to 128
in the ethdev library(RTE_ETH_NUM_RECEIVE_MAC_ADDR).
But the bnxt devices support more than 128 unicast MAC filters
which could result in a segfault while user tries to add more
than 128 unicast MAC addresses to the port.
From: Kalesh AP
During reset recovery, fixed to set the fast-path pointers
only if recovery succeeds.
Fixes: 720b55ad278e ("net/bnxt: fix crash caused by error recovery")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Khaparde
Reviewed-by: Somnath Kotur
---
drivers/net/bnxt/
From: Kalesh AP
Make these messages more specific.
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Khaparde
Reviewed-by: Somnath Kotur
---
drivers/net/bnxt/bnxt_ethdev.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnx
From: Kalesh AP
During the port start, driver ignores mark table allocation failure.
This could cause a segfault due to NULL pointer dereference in
bnxt_set_mark_in_mbuf(). Fix this by checking the pointer validity
before accessing it.
Fixes: b87abb2e55cb ("net/bnxt: support marking packet")
Cc:
From: Kalesh AP
This patch reverts the commit "5d47d06b2c83".
Revert this commit as it caused a regression on legacy chips.
On newer chips we use TruFlow based flow creation instead of
HWRM based flow creation.
Fixes: 5d47d06b2c83 ("net/bnxt: modify VNIC accounting")
Cc: sta...@dpdk.org
Signed-
From: Kalesh AP
The HWRM_FUNC_QCAPS response indicates the maximum number
of multicast filters that can be supported by this function
on the RX side.
Fixed to use this value instead of the hard coded value 16.
Fixes: d69851df12b2 ("net/bnxt: support multicast filter and set MAC addr")
Cc: sta..
From: Somnath Kotur
By accepting rte_eth_dev as input, bnxt_stop_rxtx() can be used
in multiple scenarios such as representor devices.
Signed-off-by: Somnath Kotur
Reviewed-by: Ajit Khaparde
Reviewed-by: Kalesh AP
---
drivers/net/bnxt/bnxt_cpr.c| 16
drivers/net/bnxt/bnx
From: Kalesh AP
When there is a change in the default VLAN of the VF,
FW sends the VF_CFG_CHANGE async event to the driver.
Upon receiving this async event, driver currently only queries
the FW using HWRM_FUNC_QCFG. But this is not enough.
Driver has to clean up the existing filter and recreate
From: Ajit Khaparde
Check for valid bit while scanning for hwrm_done completion
during ring teardown. Not checking the valid bit could cause a
ring overflow when we ring the doorbell.
Fixes: 4fb6ab3f866d ("net/bnxt: check flush status during ring free")
Cc: sta...@dpdk.org
Signed-off-by: Ajit K
From: Ajit Khaparde
Set the PAM4 mask setting only when PAM4 signaling is enabled.
Setting it otherwise seems to result in link negotiation.
Also auto_pam4_link_speeds has been renamed to
auto_pam4_link_speed_mask to reflect its real usage.
Fixes: c23f9ded0391 ("net/bnxt: support 200G PAM4 link"
From: Ajit Khaparde
Validate the pointers in rxq before accessing them.
Otherwise it can cause a segfault.
Fixes: 657c2a7f1dd4 ("net/bnxt: create aggregation rings when needed")
Cc: sta...@dpdk.org
Signed-off-by: Ajit Khaparde
Reviewed-by: Kalesh AP
Reviewed-by: Somnath Kotur
---
drivers/ne
From: Kalesh AP
In bnxt_dev_xstats_get_op(), the PMD is not zeroing the whole
buffer supplied by the application. This can end up passing
junk statistics values to the application when the FW does not
support extended stats on a function.
Fixed to call memset() with corrrect size.
Fixes: f55e12f
From: Ajit Khaparde
The PF or trusted VF Rx handler could invoke the VF representor's
Rx function without knowledge of the application cleaning up the
representor ports. Check if the vfr_bp pointer is valid before
accessing it.
Fixes: 6dc83230b43b ("net/bnxt: support port representor data path")
From: Kalesh AP
Commit "899f06130724" broke the update of mbuf flags for PTP packets.
"mbuf->ol_flags" is overwritten in bnxt_set_ol_flags() function.
Fixes: 899f06130724 ("net/bnxt: add Rx logic for 58818 chips")
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Kumar Khaparde
---
drivers/net/bnxt
From: Kalesh AP
This patchset contain bnxt bug fixes and enhancements.
Please apply.
Ajit Khaparde (1):
net/bnxt: update to new version of backing store
Kalesh AP (9):
net/bnxt: remove unused macro
net/bnxt: fix vnic configuration
net/bnxt: remove extra blank line
net/bnxt: update HW
From: Kalesh AP
remove HWRM_SEQ_ID_INVALID macro.
Fixes: 804e746c7b73 ("net/bnxt: add hardware resource manager init code")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Somnath Kotur
Reviewed-by: Ajit Kumar Khaparde
---
drivers/net/bnxt/bnxt_hwrm.h | 1 -
1 file changed, 1 dele
From: Kalesh AP
PMD should not set any flags to receive RoCE traffic while
configuring the vnic. Since the PMD does not support RoCE
some of the flags and code is unused. Clean it up.
Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for
PF/VF")
Cc: sta...@dpdk.org
Signed
From: Kalesh AP
Removed an unnecessary extra blank line.
Signed-off-by: Kalesh AP
Reviewed-by: Somnath Kotur
---
drivers/net/bnxt/bnxt_hwrm.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 5366fe7..e11502c 100644
--- a/driv
From: Venkat Duvvuru
bp->rx_num_qs_per_vnic is not initialized in the single queue mode.
As a result of this when an interface is reconfigured to single
queue mode from an existing multiqueue mode, bp->rx_num_qs_per_vnic
is not updated to the value of 1. Hence, the driver will try to
access more
From: Ajit Khaparde
Update HWRM headers to version 1.10.2.15
which updates the backing store API for additional TQM rings.
Add support for 9th TQM ring using latest firmware interface.
Also make sure that we set only necessary bits in the enables
field in backing store request.
Signed-off-by: A
From: Kalesh AP
1. Used port id in async event logs.
2. Added a debug log in bnxt_hwrm_func_driver_unregister().
Signed-off-by: Kalesh AP
Reviewed-by: Somnath Kotur
Reviewed-by: Ajit Kumar Khaparde
---
drivers/net/bnxt/bnxt_cpr.c | 14 +-
drivers/net/bnxt/bnxt_hwrm.c | 2 ++
2
From: Kalesh AP
This is a new async message that the firmware can send to check if it
can communicate with the driver. This is an added error detection
scheme that firmware can use if it suspects errors in the PCIe
interface. When the driver receives this async message, it will reply
back echoing
From: Kalesh AP
During some fatal firmware error conditions, the PCI config space
register 0x2e which normally contains the subsystem ID will become
0x. This register will revert back to the normal value after
the chip has completed core reset. If we detect this condition,
we can poll this co
From: Kalesh AP
Moved fw readiness check to a new routine bnxt_check_fw_ready().
During error recovery, driver needs to wait for fw readiness.
For that, it uses bnxt_hwrm_ver_get() function now and that
function does parsing of the VER_GET response as well.
Added a new lightweight function bnxt
From: Kalesh AP
On Thor, Rx timestamp is present in the Rx completion record.
Only 32 bits of the timestamp is present in the completion.
The driver needs to periodically poll the current 48 bit
free running timer using the HWRM_PORT_TS_QUERY command.
It can combine the upper 16 bits from the HWR
From: Kalesh AP
Please apply.
Ajit Khaparde (1):
net/bnxt: check flush status during ring free
Kalesh AP (2):
net/bnxt: fix ver get HWRM command
net/bnxt: fix VF info allocation
drivers/net/bnxt/bnxt_ethdev.c | 2 +-
drivers/net/bnxt/bnxt_hwrm.c | 231 +++
From: Kalesh AP
Fix HWRM_VER_GET command to handle DEV_NOT_RDY state.
Driver should fail probe if the device is not ready.
Conversely, the HWRM_VER_GET poll after reset can safely
retry until the existing timeout is exceeded.
Fixes: 804e746c7b73 ("net/bnxt: add hardware resource manager init co
From: Ajit Khaparde
When host SW issues a HWRM_RING_FREE for Tx/Rx/AGG ring in HW,
the FW flushes the BDs associated with the ring and performs other
cleanup in the HW. The host software should ideally check for an
indication from the FW indicating this step has been completed
successfully to avo
From: Kalesh AP
1. Renamed bnxt_hwrm_alloc_vf_info()/bnxt_hwrm_free_vf_info to
bnxt_alloc_vf_info()/bnxt_free_vf_info as it does not
issue any HWRM command to fw.
2. Fix missing unlock when memory allocation fails.
Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for
From: Kalesh AP
We are not invoking rte_eth_switch_domain_free currently owing to
an unnecessary check. This patch fixes that.
Fixes: e2895305a5b5 ("net/bnxt: fix resource cleanup")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Khaparde
Reviewed-by: Somnath Kotur
---
driver
From: Kalesh AP
Driver allocates "bp->rep_info" inside bnxt_init_rep_info() which is
invoked from bnxt_rep_port_probe(). But the memory is freed inside
bnxt_uninit_resources(), which is wrong. As a result, after error
recovery bp->rep_info will be NULL. The memory should have freed inside
bnxt_dr
From: Kalesh AP
Please apply.
Kalesh AP (3):
net/bnxt: fix Rx mbuf VLAN in scalar Rx
net/bnxt: check FW capability for VLAN offloads
net/bnxt: fix VLAN indication in Rx mbuf
drivers/net/bnxt/bnxt.h| 7 ---
drivers/net/bnxt/bnxt_ethdev.c | 4
drivers/net/bnxt/bnxt_hwrm.
From: Kalesh AP
In the scalar Rx path, for the VLAN packet, TCI is not saved in
the "mbuf->vlan_tci", however the STRIPPED offload flag is set
along with PKT_RX_VLAN flag.
Fixes: c1b33d40315f ("net/bnxt: use table based mbuf flags handling")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewe
From: Kalesh AP
VLAN offload capability may be disabled in the FW. The driver
should not attempt to override or utilize this feature in such
scenarios since it will not work as expected.
Fixes: 0a6d2a720078 ("net/bnxt: get device infos")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by
From: Kalesh AP
Fix to ignore the RX_PKT_CMPL_FLAGS2_META_FORMAT_VLAN
when the firmware doesn't support the VLAN strip offload.
Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Somnath Kotur
Reviewed-by: Lance Richardson
Reviewed
From: Kalesh AP
Added an invalid fw_grp_id check inside bnxt_hwrm_ring_grp_free().
This will prevent invalid fw_grp_id to be passed to the FW which can
result in an error.
This fixes the following failure in the "port stop" -> "port start"
sequence:
bnxt_hwrm_ring_grp_free(): error 2:0::
From: Kalesh AP
After commit "d68249f88266", driver allocates ring groups in
bnxt_alloc_hwrm_rx_ring(). But during port start, driver invokes
bnxt_alloc_hwrm_rx_ring() followed by bnxt_alloc_all_hwrm_ring_grps().
This will cause the FW command failure in bnxt_alloc_all_hwrm_ring_grps().
To fix t
From: Kalesh AP
This series contain couple of bug fixes in bnxt PMD.
Kalesh AP (2):
net/bnxt: fix HWRM and FW incompatibility handling
net/bnxt: mute some failure logs
drivers/net/bnxt/bnxt_hwrm.c | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
--
2.10.1
From: Kalesh AP
Fix to return an error when the HWRM version that the driver
is compiled against is incompatible with the FW that is actually
running on the card. This is determined based on the req length
indicated by FW against the value supported in the HWRM.
Fixes: 804e746c7b73 ("net/bnxt: a
From: Kalesh AP
In the init path, driver ignores few of the HWRM command failures.
There is no need to log the error message in those cases.
Fixes: 3fb93bc7c349 ("net/bnxt: initialize parent PF information")
Fixes: 4e3f887bec4b ("net/bnxt: support HWRM port PHY qcaps")
Cc: sta...@dpdk.org
Signe
From: Kalesh AP
CID 353629 (#1 of 1): Unchecked return value (CHECKED_RETURN)
check_return: Calling rte_eth_dev_info_get without checking
return value (as is done elsewhere 110 out of 117 times).
Coverity issue: 353629
Fixes: e1d44d0ad623 ("app/testpmd: show MAC addresses added to a port")
Cc:
From: Kalesh AP
CID 363716 (#1 of 1): Unchecked return value (CHECKED_RETURN)
check_return: Calling rte_pci_write_config without checking
return value (as is done elsewhere 46 out of 49 times).
Coverity issue: 363716
Fixes: be14720def9c ("net/bnxt: support FW reset")
Cc: sta...@dpdk.org
Signed
From: Kalesh AP
This patch checks return value for rte_eth_dev_info_get() in show_macs().
Coverity issue: 353629
Fixes: e1d44d0ad623 ("app/testpmd: show MAC addresses added to a port")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
---
app/test-pmd/config.c | 3 ++-
1 file changed, 2 insertions
From: Kalesh AP
VFs does not have the privilege to change link configuration.
But the driver silently returns success to these ethdev callbacks
without actually issuing the HWRM command to bring the link up/down.
Fixes: 5c206086feaa ("net/bnxt: add link state operations")
Cc: sta...@dpdk.org
Si
From: Kalesh AP
Fixed to return error when PTP support is not supported on the port.
Also, removed an unnecessary check inside bnxt_get_rx_ts().
Fixes: b11cceb83a34 ("net/bnxt: support timesync")
Cc: sta...@dpdk.org
Signed-off-by: Kalesh AP
Reviewed-by: Ajit Kumar Khaparde
Reviewed-by: Somnat
From: Kalesh AP
Driver re-allocates memory for the command response buffer
when the installed firmware version is newer (and has a larger
max response length) than the version of HWRM that was used to
build the PMD.
This change helps to avoid the re-allocation by allocating the
memory for the co
From: Kalesh AP
Kalesh AP (9):
net/bnxt: fix error message when VNIC prepare fails
net/bnxt: set flow error when free filter is not available
net/bnxt: remove unnecessary code
net/bnxt: fix error handling when VNIC prepare fails
net/bnxt: set flow error when tunnel redirection free fail
From: Kalesh AP
The bnxt_vnic_prep() can fail due to multiple reasons.
But when bnxt_vnic_prep() fails, PMD is not returning
the actual error/string to the application.
Fix it by moving the "rte_flow_error_set" to bnxt_vnic_prep()
to set the actual error code.
Fixes: d24610f7bfda ("net/bnxt: al
1 - 100 of 273 matches
Mail list logo