qcacmn: Add API to clear SOC from partner_map

Clear the target assert seen SOC from partner_map to disengage it from
umac reset process.

Change-Id: I588ae15977b1fd989b6dccb16c5fa3a5269f5f6c
CRs-Fixed: 3433794
This commit is contained in:
Shashikala Prabhu
2023-03-15 15:11:47 +05:30
committed by Madan Koyyalamudi
parent 7265d860b2
commit f77ba421ee
3 changed files with 42 additions and 4 deletions

View File

@@ -1001,6 +1001,30 @@ static void dp_umac_reset_update_partner_map(struct dp_mlo_ctxt *mlo_ctx,
qdf_atomic_clear_bit(chip_id, &grp_umac_reset_ctx->partner_map); qdf_atomic_clear_bit(chip_id, &grp_umac_reset_ctx->partner_map);
} }
QDF_STATUS dp_umac_reset_notify_asserted_soc(struct dp_soc *soc)
{
struct dp_mlo_ctxt *mlo_ctx;
struct dp_soc_be *be_soc;
be_soc = dp_get_be_soc_from_dp_soc(soc);
if (!be_soc) {
dp_umac_reset_err("null be_soc");
return QDF_STATUS_E_NULL_VALUE;
}
mlo_ctx = be_soc->ml_ctxt;
if (!mlo_ctx) {
/* This API can be called for non-MLO SOC as well. Hence, return
* the status as success when mlo_ctx is NULL.
*/
return QDF_STATUS_SUCCESS;
}
dp_umac_reset_update_partner_map(mlo_ctx, be_soc->mlo_chip_id, false);
return QDF_STATUS_SUCCESS;
}
/** /**
* dp_umac_reset_complete_umac_recovery() - Complete Umac reset session * dp_umac_reset_complete_umac_recovery() - Complete Umac reset session
* @soc: dp soc handle * @soc: dp soc handle

View File

@@ -2753,6 +2753,22 @@ QDF_STATUS dp_mlo_umac_reset_stats_print(struct dp_soc *soc)
#endif #endif
#if defined(DP_UMAC_HW_RESET_SUPPORT) && defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP)
/**
* dp_umac_reset_notify_asserted_soc() - API to notify the asserted SOC
* @soc: dp soc
*
* Return: QDF_STATUS
*/
QDF_STATUS dp_umac_reset_notify_asserted_soc(struct dp_soc *soc);
#else
static inline
QDF_STATUS dp_umac_reset_notify_asserted_soc(struct dp_soc *soc)
{
return QDF_STATUS_SUCCESS;
}
#endif
QDF_STATUS dp_reo_send_cmd(struct dp_soc *soc, enum hal_reo_cmd_type type, QDF_STATUS dp_reo_send_cmd(struct dp_soc *soc, enum hal_reo_cmd_type type,
struct hal_reo_cmd_params *params, struct hal_reo_cmd_params *params,
void (*callback_fn), void *data); void (*callback_fn), void *data);

View File

@@ -12150,16 +12150,14 @@ fail0:
*/ */
static QDF_STATUS dp_soc_notify_asserted_soc(struct cdp_soc_t *psoc) static QDF_STATUS dp_soc_notify_asserted_soc(struct cdp_soc_t *psoc)
{ {
struct dp_soc *soc = struct dp_soc *soc = (struct dp_soc *)psoc;
(struct dp_soc *)psoc;
QDF_STATUS status = QDF_STATUS_SUCCESS;
if (!soc) { if (!soc) {
dp_cdp_err("%pK: soc is NULL", soc); dp_cdp_err("%pK: soc is NULL", soc);
return QDF_STATUS_E_INVAL; return QDF_STATUS_E_INVAL;
} }
return status; return dp_umac_reset_notify_asserted_soc(soc);
} }
/** /**