qcacld-3.0: Move Enable detection of data stall events to DP component
Move change: Id4fd7f10f0806a39c5bdb7b8c097c26894dc5340 Enable detection of data stall events to DP component Change-Id: I9eab2f29739cd0159f202a3a95f4a4baa70cb47d CRs-Fixed: 3230891
This commit is contained in:

committed by
Madan Koyyalamudi

parent
7d1e47bb27
commit
08f5a4c814
@@ -596,4 +596,20 @@ dp_is_low_tput_gro_enable(struct wlan_dp_psoc_context *dp_ctx)
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
#define DP_DATA_STALL_ENABLE BIT(0)
|
||||
#define DP_HOST_STA_TX_TIMEOUT BIT(16)
|
||||
#define DP_HOST_SAP_TX_TIMEOUT BIT(17)
|
||||
#define DP_HOST_NUD_FAILURE BIT(18)
|
||||
#define DP_TIMEOUT_WLM_MODE BIT(31)
|
||||
#define FW_DATA_STALL_EVT_MASK 0x8000FFFF
|
||||
|
||||
/**
|
||||
* dp_is_data_stall_event_enabled() - Check if data stall detection is enabled
|
||||
* @evt: Data stall event to be checked
|
||||
*
|
||||
* Return: True if the data stall event is enabled
|
||||
*/
|
||||
bool dp_is_data_stall_event_enabled(uint32_t evt);
|
||||
|
||||
#endif
|
||||
|
@@ -1508,3 +1508,13 @@ __dp_objmgr_put_vdev_by_user(struct wlan_objmgr_vdev *vdev,
|
||||
}
|
||||
#endif /* WLAN_OBJMGR_REF_ID_TRACE */
|
||||
|
||||
bool dp_is_data_stall_event_enabled(uint32_t evt)
|
||||
{
|
||||
uint32_t bitmap = cdp_cfg_get(cds_get_context(QDF_MODULE_ID_SOC),
|
||||
cfg_dp_enable_data_stall);
|
||||
|
||||
if (bitmap & DP_DATA_STALL_ENABLE || bitmap & evt)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@@ -622,7 +622,7 @@ void dp_softap_tx_timeout(struct wlan_dp_intf *dp_intf)
|
||||
dp_err("Detected data stall due to continuous TX timeouts");
|
||||
dp_intf->dp_stats.tx_rx_stats.cont_txtimeout_cnt = 0;
|
||||
|
||||
if (cdp_cfg_get(soc, cfg_dp_enable_data_stall))
|
||||
if (dp_is_data_stall_event_enabled(DP_HOST_SAP_TX_TIMEOUT))
|
||||
cdp_post_data_stall_event(soc,
|
||||
DATA_STALL_LOG_INDICATOR_HOST_DRIVER,
|
||||
DATA_STALL_LOG_HOST_SOFTAP_TX_TIMEOUT,
|
||||
|
@@ -755,7 +755,7 @@ void dp_tx_timeout(struct wlan_dp_intf *dp_intf)
|
||||
dp_err("Data stall due to continuous TX timeouts");
|
||||
dp_intf->dp_stats.tx_rx_stats.cont_txtimeout_cnt = 0;
|
||||
|
||||
if (cdp_cfg_get(soc, cfg_dp_enable_data_stall))
|
||||
if (dp_is_data_stall_event_enabled(DP_HOST_STA_TX_TIMEOUT))
|
||||
cdp_post_data_stall_event(soc,
|
||||
DATA_STALL_LOG_INDICATOR_HOST_DRIVER,
|
||||
DATA_STALL_LOG_HOST_STA_TX_TIMEOUT,
|
||||
|
@@ -1155,4 +1155,21 @@ bool ucfg_dp_get_napi_enabled(struct wlan_objmgr_psoc *psoc);
|
||||
* Return: None
|
||||
*/
|
||||
void ucfg_dp_set_tc_ingress_prio(struct wlan_objmgr_psoc *psoc, uint32_t value);
|
||||
|
||||
/**
|
||||
* ucfg_dp_nud_fail_data_stall_evt_enabled() - Check if NUD failuire data stall
|
||||
* detection is enabled
|
||||
*
|
||||
* Return: True if the data stall event is enabled
|
||||
*/
|
||||
bool ucfg_dp_nud_fail_data_stall_evt_enabled(void);
|
||||
|
||||
/**
|
||||
* ucfg_dp_fw_data_stall_evt_enabled() - Check if Fw data stall
|
||||
* detection is enabled
|
||||
*
|
||||
* Return: data stall event mask
|
||||
*/
|
||||
uint32_t ucfg_dp_fw_data_stall_evt_enabled(void);
|
||||
|
||||
#endif /* _WLAN_DP_UCFG_API_H_ */
|
||||
|
@@ -2076,3 +2076,14 @@ void ucfg_dp_set_tc_ingress_prio(struct wlan_objmgr_psoc *psoc, uint32_t value)
|
||||
}
|
||||
dp_ctx->dp_agg_param.tc_ingress_prio = value;
|
||||
}
|
||||
|
||||
bool ucfg_dp_nud_fail_data_stall_evt_enabled(void)
|
||||
{
|
||||
return dp_is_data_stall_event_enabled(DP_HOST_NUD_FAILURE);
|
||||
}
|
||||
|
||||
uint32_t ucfg_dp_fw_data_stall_evt_enabled(void)
|
||||
{
|
||||
return cdp_cfg_get(cds_get_context(QDF_MODULE_ID_SOC),
|
||||
cfg_dp_enable_data_stall) & FW_DATA_STALL_EVT_MASK;
|
||||
}
|
||||
|
Reference in New Issue
Block a user