[dpdk-dev] [PATCH v7 3/4] net/bnxt: notify applications about device reset/recovery
Kalesh A P
kalesh-anakkur.purayil at broadcom.com
Fri Jan 28 13:48:29 CET 2022
From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
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 <kalesh-anakkur.purayil at broadcom.com>
Signed-off-by: Somnath Kotur <somnath.kotur at broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
---
drivers/net/bnxt/bnxt_cpr.c | 4 ++++
drivers/net/bnxt/bnxt_ethdev.c | 8 +++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c
index 9b9285b..738eac7 100644
--- a/drivers/net/bnxt/bnxt_cpr.c
+++ b/drivers/net/bnxt/bnxt_cpr.c
@@ -180,6 +180,10 @@ void bnxt_handle_async_event(struct bnxt *bp,
return;
}
+ rte_eth_dev_callback_process(bp->eth_dev,
+ RTE_ETH_EVENT_ERR_RECOVERING,
+ NULL);
+
pthread_mutex_lock(&bp->err_recovery_lock);
event_data = data1;
/* timestamp_lo/hi values are in units of 100ms */
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index cc95211..579e571 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -4383,7 +4383,9 @@ static void bnxt_dev_recover(void *arg)
PMD_DRV_LOG(INFO, "Port: %u Recovered from FW reset\n",
bp->eth_dev->data->port_id);
pthread_mutex_unlock(&bp->err_recovery_lock);
-
+ rte_eth_dev_callback_process(bp->eth_dev,
+ RTE_ETH_EVENT_RECOVERED,
+ NULL);
return;
err_start:
bnxt_dev_stop(bp->eth_dev);
@@ -4561,6 +4563,10 @@ static void bnxt_check_fw_health(void *arg)
PMD_DRV_LOG(ERR, "Detected FW dead condition\n");
+ rte_eth_dev_callback_process(bp->eth_dev,
+ RTE_ETH_EVENT_ERR_RECOVERING,
+ NULL);
+
if (bnxt_is_primary_func(bp))
wait_msec = info->primary_func_wait_period;
else
--
2.10.1
More information about the dev
mailing list