#
25c7edfc |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: map status registers for FW health monitoring
HWRM_ERROR_RECOVERY_QCFG command returns the FW status registers offset for periodic firmware health check monitoring. Map them to GRC window
net/bnxt: map status registers for FW health monitoring
HWRM_ERROR_RECOVERY_QCFG command returns the FW status registers offset for periodic firmware health check monitoring. Map them to GRC window 2.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
f8362424 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: query firmware error recovery capabilities
In Driver initiated error recovery process, driver has to know about the registers offset and values to initiate FW reset. The HWRM command HWRM_
net/bnxt: query firmware error recovery capabilities
In Driver initiated error recovery process, driver has to know about the registers offset and values to initiate FW reset. The HWRM command HWRM_ERROR_RECOVERY_QCFG is used to obtain all the registers and values required to initiate FW reset. This command response includes FW heart_beat register, health status register, Error counter register, register offsets and values to do chip reset if firmware crashes and becomes unresponsive.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
2e88b083 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: handle fatal event from FW
When firmware hit some unrecoverable error conditions, firmware initiate the recovery by sending an async event EVENT_CMPL_EVENT_ID_RESET_NOTIFY with data1 set t
net/bnxt: handle fatal event from FW
When firmware hit some unrecoverable error conditions, firmware initiate the recovery by sending an async event EVENT_CMPL_EVENT_ID_RESET_NOTIFY with data1 set to RESET_NOTIFY_EVENT_DATA1_REASON_CODE_FW_EXCEPTION_FATAL to all host drivers and will reset the chip.
The recovery procedure is same sequence as the one for hot FW upgrade.
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 ...
|
#
0b533591 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: inform firmware about IF state changes
Use latest firmware API to inform firmware about IF state changes. Firmware has the option to clean up resources during IF down and to require the dr
net/bnxt: inform firmware about IF state changes
Use latest firmware API to inform firmware about IF state changes. Firmware has the option to clean up resources during IF down and to require the driver to reserve resources again during IF up.
During port start, HWRM_FUNC_DRV_IF_CHANGE command response flags indicates that firmware has reset. Add logic to re-probe the firmware and re-setup resources.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
df6cd7c1 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: handle reset notify async event from FW
When the FW upgrade is initiated the current instance of FW issues a HWRM_ASYNC_EVENT_CMPL_EVENT_ID_RESET_NOTIFY async notification to the driver. O
net/bnxt: handle reset notify async event from FW
When the FW upgrade is initiated the current instance of FW issues a HWRM_ASYNC_EVENT_CMPL_EVENT_ID_RESET_NOTIFY async notification to the driver. On receiving this notification, the PMD shall quiesce itself and poll on the HWRM_VER_GET FW command at regular intervals.
Once the VER_GET command succeeds, the driver should go through the rediscovery process and re-initialize the device.
Also register with FW for the reset notify async event.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
1bf01f51 |
| 02-Oct-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: prevent device access when device is in reset
Refactor init and uninit functions so that the driver can fail the eth_dev_ops callbacks and accessing Tx and Rx queues when device is in rese
net/bnxt: prevent device access when device is in reset
Refactor init and uninit functions so that the driver can fail the eth_dev_ops callbacks and accessing Tx and Rx queues when device is in reset or in error state.
Transmit and receive queues are freed during reset cleanup and reallocated during recovery. So we block all data path handling in this state. The eth_dev dev_started field is updated depending on the status of the device.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
ca041cd4 |
| 24-Sep-2019 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
ethdev: change allmulticast callbacks to return status
Enabling/disabling of allmulticast mode is not always successful and it should be taken into account to be able to handle it properly.
When co
ethdev: change allmulticast callbacks to return status
Enabling/disabling of allmulticast mode is not always successful and it should be taken into account to be able to handle it properly.
When correct return status is unclear from driver code, -EAGAIN is used.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|
#
9039c812 |
| 14-Sep-2019 |
Andrew Rybchenko <arybchenko@solarflare.com> |
ethdev: change promiscuous callbacks to return status
Enabling/disabling of promiscuous mode is not always successful and it should be taken into account to be able to handle it properly.
When corr
ethdev: change promiscuous callbacks to return status
Enabling/disabling of promiscuous mode is not always successful and it should be taken into account to be able to handle it properly.
When correct return status is unclear from driver code, -EAGAIN is used.
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Matan Azrad <matan@mellanox.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|
#
bdad90d1 |
| 12-Sep-2019 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
ethdev: change device info get callback to return int
Change eth_dev_infos_get_t return value from void to int. Make eth_dev_infos_get_t implementations across all drivers to return negative errno v
ethdev: change device info get callback to return int
Change eth_dev_infos_get_t return value from void to int. Make eth_dev_infos_get_t implementations across all drivers to return negative errno values if case of error conditions.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
3227d098 |
| 09-Aug-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: revert fix traffic stall on stop/start
This reverts commit aa2c00702bad7b2c742e11a86cb9dbbb8364fd88, which introduced the possibility of an invalid address exception when running an applic
net/bnxt: revert fix traffic stall on stop/start
This reverts commit aa2c00702bad7b2c742e11a86cb9dbbb8364fd88, which introduced the possibility of an invalid address exception when running an application with a stopped receive queue. The issues with rxq stop/start will be revisited in the 19.11 release timeframe.
Fixes: aa2c00702bad ("net/bnxt: fix traffic stall on Rx queue stop/start") Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
aa2c0070 |
| 01-Aug-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix traffic stall on Rx queue stop/start
Fixed a check in bnxt_alloc_hwrm_rx_ring() while initializing the rx ring.
Driver should not change "deferred_start" status of rx/tx queues. It sh
net/bnxt: fix traffic stall on Rx queue stop/start
Fixed a check in bnxt_alloc_hwrm_rx_ring() while initializing the rx ring.
Driver should not change "deferred_start" status of rx/tx queues. It should get the status in queue_setup_op() and use that value.
Fixes: 9b63c6fd70e3 ("net/bnxt: support Rx/Tx queue start/stop") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
02cc2b43 |
| 29-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix context memory allocation
There is a bug in context memory allocation because of which it results in reusing the context memory allocated for the first port while allocating memory for
net/bnxt: fix context memory allocation
There is a bug in context memory allocation because of which it results in reusing the context memory allocated for the first port while allocating memory for next ports.
Fix it by passing the port id in the name field while allocating context memory.
Fixes: f8168ca0e690 ("net/bnxt: support thor controller")
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
bd0a14c9 |
| 24-Jul-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: use dedicated CPR for async events
This commit enables the creation of a dedicated completion ring for asynchronous event handling instead of handling these events on a receive completion
net/bnxt: use dedicated CPR for async events
This commit enables the creation of a dedicated completion ring for asynchronous event handling instead of handling these events on a receive completion ring.
For the stingray platform and other platforms needing tighter control of resource utilization, we retain the ability to process async events on a receive completion ring.
For Thor-based adapters, we use a dedicated NQ (notification queue) ring for async events (async events can't currently be received on a completion ring due to a firmware limitation).
Rename "def_cp_ring" to "async_cp_ring" to better reflect its purpose (async event notifications) and to avoid confusion with VNIC default receive completion rings.
Allow rxq 0 to be stopped when not being used for async events.
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> 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 ...
|
#
a8cbae89 |
| 19-Jul-2019 |
Ajit Khaparde <ajit.khaparde@broadcom.com> |
net/bnxt: remove unnecessary interrupt disable
Remove an unnecessary rte_intr_disable() call to disable interrupt during device init.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update oper
net/bnxt: remove unnecessary interrupt disable
Remove an unnecessary rte_intr_disable() call to disable interrupt during device init.
Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
fca922e8 |
| 19-Jul-2019 |
Lance Richardson <lance.richardson@broadcom.com> |
net/bnxt: disable vector mode Tx with VLAN offload
The vector mode transmit path does not currently support VLAN tag insertion, so we need to disable vector transmit when transmit VLAN insertion off
net/bnxt: disable vector mode Tx with VLAN offload
The vector mode transmit path does not currently support VLAN tag insertion, so we need to disable vector transmit when transmit VLAN insertion offload is enabled.
Fixes: bc4a000f2f53 ("net/bnxt: implement SSE vector mode")
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
d261c9ef |
| 19-Jul-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
net/bnxt: fix Rx interrupt vector
The receive interrupt vector should be offset by the constant RTE_INTR_VEC_RXTX_OFFSET; otherwise setting up some queue interrupts will fail.
Fixes: 1fe427fd08ee (
net/bnxt: fix Rx interrupt vector
The receive interrupt vector should be offset by the constant RTE_INTR_VEC_RXTX_OFFSET; otherwise setting up some queue interrupts will fail.
Fixes: 1fe427fd08ee ("net/bnxt: support enable/disable interrupt") Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Tested-by: Rahul Gupta <rahul.gupta@broadcom.com>
show more ...
|
#
5a7bc3c0 |
| 19-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: add new device id
Added support for new thor device.
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
|
#
b4e190d5 |
| 18-Jul-2019 |
Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> |
net/bnxt: fix MAC/VLAN filter allocation
We were adding the VLAN filters to all the VNICs of the function. Also, we were adding these VLANs to all the existing MAC only filters. This was resulting i
net/bnxt: fix MAC/VLAN filter allocation
We were adding the VLAN filters to all the VNICs of the function. Also, we were adding these VLANs to all the existing MAC only filters. This was resulting in fewer VLANs getting added. By default we should allocate MAC+VLAN filter only to the default VNIC of the function using the default mac address. Similar logic was followed in the VLAN deletion code. This patch fixes it. Use inner VLAN fields instead of outer VLAN during filter deletion to be in sync with VLAN addition code.
Fixes: 246c5cc5f05e ("net/bnxt: use correct flags during VLAN configuration") Cc: stable@dpdk.org
Signed-off-by: Santoshkumar Karanappa Rastapur <santosh.rastapur@broadcom.com> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
show more ...
|
#
e67daabd |
| 18-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix return values to standard error codes
Fixed the return values of few routines to return standard error code. Also fixed few error logs to more meaningful one.
Fixes: 804e746c7b73 ("ne
net/bnxt: fix return values to standard error codes
Fixed the return values of few routines to return standard error code. Also fixed few error logs to more meaningful one.
Fixes: 804e746c7b73 ("net/bnxt: add hardware resource manager init code") Fixes: e3d8f1e6a665 ("net/bnxt: cache address of doorbell to subsequent access") Fixes: 19e6af01bb36 ("net/bnxt: support get/set EEPROM") Fixes: b7435d660a8c ("net/bnxt: add ntuple filtering support") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
161964c6 |
| 18-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: reset filters before registering interrupts
If interrupt registration fails during device init, driver invokes uninit which in turn causes error messages while trying to free vnic filters.
net/bnxt: reset filters before registering interrupts
If interrupt registration fails during device init, driver invokes uninit which in turn causes error messages while trying to free vnic filters. Fix this by moving filter initialization call before interrupt registration.
Fixes: 1b533790f44e ("net/bnxt: avoid invalid vnic id in set L2 Rx mask") 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 ...
|
#
7d2d64c7 |
| 18-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix device init error path
1. bnxt_dev_init() invokes bnxt_dev_uninit() on failure. So there is no need to do individual function cleanups in failure path. 2. rearrange the check for pr
net/bnxt: fix device init error path
1. bnxt_dev_init() invokes bnxt_dev_uninit() on failure. So there is no need to do individual function cleanups in failure path. 2. rearrange the check for primary process to remove an unwanted goto. 3. fix to invoke bnxt_hwrm_func_buf_unrgtr() in bnxt_dev_uninit() when it is needed.
Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|
#
68f589f2 |
| 18-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix setting primary MAC address
1. Default filter is tied to VNIC 0 at index 0. After finding the filter with mac_index 0 and set the new MAC address, looping through remaining filte
net/bnxt: fix setting primary MAC address
1. Default filter is tied to VNIC 0 at index 0. After finding the filter with mac_index 0 and set the new MAC address, looping through remaining filters is unnecessary. 2. Added a check for NULL MAC address. 3. bnxt_hwrm_set_l2_filter() clears the existing filter configuration first before applying new filter settings. Hence there is no need to invoke bnxt_hwrm_clear_l2_filter() explicitly in bnxt_set_default_mac_addr_op().
Fixes: d69851df12b2 ("net/bnxt: support multicast filter and set MAC addr") 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 ...
|
#
0a445375 |
| 18-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix unconditional wait in link update
There is an unconditional delay in link update op. Fixed it to wait only if wait for request completion is set.
Fixes: 7bc8e9a227cc ("net/bnxt: suppo
net/bnxt: fix unconditional wait in link update
There is an unconditional delay in link update op. Fixed it to wait only if wait for request completion is set.
Fixes: 7bc8e9a227cc ("net/bnxt: support async link notification") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com>
show more ...
|
#
d8b3bc78 |
| 18-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix adding MAC address
HWRM command to add MAC address can fail. Driver should check the return value of HWRM command and do the house keeping properly.
Fixes: 778b759ba10e ("net/bnxt: ad
net/bnxt: fix adding MAC address
HWRM command to add MAC address can fail. Driver should check the return value of HWRM command and do the house keeping properly.
Fixes: 778b759ba10e ("net/bnxt: add MAC address") 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 ...
|
#
1f3cea00 |
| 18-Jul-2019 |
Kalesh AP <kalesh-anakkur.purayil@broadcom.com> |
net/bnxt: fix check of address mapping
rte_mem_virt2iova() function returns RTE_BAD_IOVA on failure, not zero.
Fixes: 62196f4e0941 ("mem: rename address mapping function to IOVA") Cc: stable@dpdk.o
net/bnxt: fix check of address mapping
rte_mem_virt2iova() function returns RTE_BAD_IOVA on failure, not zero.
Fixes: 62196f4e0941 ("mem: rename address mapping function to IOVA") Cc: stable@dpdk.org
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
show more ...
|