qcacmn: Send unified ll_stats and get_station request over qmi

Send unified ll_stats and get_stats request over qmi based on INI
configuration.

Change-Id: Icc43352c1ba19696148619100ee27fda4d5ffb41
CRs-Fixed: 2791043
このコミットが含まれているのは:
Bapiraju Alla
2020-10-05 16:05:34 +05:30
committed by snandini
コミット 7af72345b6
4個のファイルの変更26行の追加10行の削除

ファイルの表示

@@ -1473,12 +1473,14 @@ QDF_STATUS wmi_unified_process_ll_stats_get_cmd(wmi_unified_t wmi_handle,
* get station request * get station request
* @wmi_handle: wmi handle * @wmi_handle: wmi handle
* @get_req: unified ll stats and get station request command params * @get_req: unified ll stats and get station request command params
* @is_always_over_qmi: flag to send stats request always over qmi
* *
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/ */
QDF_STATUS wmi_process_unified_ll_stats_get_sta_cmd( QDF_STATUS wmi_process_unified_ll_stats_get_sta_cmd(
wmi_unified_t wmi_handle, wmi_unified_t wmi_handle,
const struct ll_stats_get_params *get_req); const struct ll_stats_get_params *get_req,
bool is_always_over_qmi);
#endif /* FEATURE_CLUB_LL_STATS_AND_GET_STATION */ #endif /* FEATURE_CLUB_LL_STATS_AND_GET_STATION */
#endif /* WLAN_FEATURE_LINK_LAYER_STATS */ #endif /* WLAN_FEATURE_LINK_LAYER_STATS */

ファイルの表示

@@ -820,7 +820,8 @@ QDF_STATUS (*send_process_ll_stats_get_cmd)(wmi_unified_t wmi_handle,
const struct ll_stats_get_params *get_req); const struct ll_stats_get_params *get_req);
#ifdef FEATURE_CLUB_LL_STATS_AND_GET_STATION #ifdef FEATURE_CLUB_LL_STATS_AND_GET_STATION
QDF_STATUS (*send_unified_ll_stats_get_sta_cmd)(wmi_unified_t wmi_handle, QDF_STATUS (*send_unified_ll_stats_get_sta_cmd)(wmi_unified_t wmi_handle,
const struct ll_stats_get_params *get_req); const struct ll_stats_get_params *get_req,
bool is_always_over_qmi);
#endif #endif
#endif #endif

ファイルの表示

@@ -773,11 +773,13 @@ QDF_STATUS wmi_unified_process_ll_stats_get_cmd(wmi_unified_t wmi_handle,
#ifdef FEATURE_CLUB_LL_STATS_AND_GET_STATION #ifdef FEATURE_CLUB_LL_STATS_AND_GET_STATION
QDF_STATUS wmi_process_unified_ll_stats_get_sta_cmd( QDF_STATUS wmi_process_unified_ll_stats_get_sta_cmd(
wmi_unified_t wmi_handle, wmi_unified_t wmi_handle,
const struct ll_stats_get_params *get_req) const struct ll_stats_get_params *get_req,
bool is_always_over_qmi)
{ {
if (wmi_handle->ops->send_unified_ll_stats_get_sta_cmd) if (wmi_handle->ops->send_unified_ll_stats_get_sta_cmd)
return wmi_handle->ops->send_unified_ll_stats_get_sta_cmd( return wmi_handle->ops->send_unified_ll_stats_get_sta_cmd(
wmi_handle, get_req); wmi_handle, get_req,
is_always_over_qmi);
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }

ファイルの表示

@@ -5229,18 +5229,20 @@ static QDF_STATUS send_process_ll_stats_get_cmd_tlv(wmi_unified_t wmi_handle,
* station request * station request
* @wmi_handle: wmi handle * @wmi_handle: wmi handle
* @get_req: ll stats get request command params * @get_req: ll stats get request command params
* @is_always_over_qmi: flag to send stats request always over qmi
* *
* Return: QDF_STATUS_SUCCESS for success or error code * Return: QDF_STATUS_SUCCESS for success or error code
*/ */
static QDF_STATUS send_unified_ll_stats_get_sta_cmd_tlv( static QDF_STATUS send_unified_ll_stats_get_sta_cmd_tlv(
wmi_unified_t wmi_handle, wmi_unified_t wmi_handle,
const struct ll_stats_get_params *get_req) const struct ll_stats_get_params *get_req,
bool is_always_over_qmi)
{ {
wmi_request_unified_ll_get_sta_cmd_fixed_param *unified_cmd; wmi_request_unified_ll_get_sta_cmd_fixed_param *unified_cmd;
int32_t len; int32_t len;
wmi_buf_t buf; wmi_buf_t buf;
void *buf_ptr; void *buf_ptr;
int ret; QDF_STATUS ret;
len = sizeof(*unified_cmd); len = sizeof(*unified_cmd);
buf = wmi_buf_alloc(wmi_handle, len); buf = wmi_buf_alloc(wmi_handle, len);
@@ -5279,14 +5281,23 @@ static QDF_STATUS send_unified_ll_stats_get_sta_cmd_tlv(
QDF_MAC_ADDR_REF(get_req->peer_macaddr.bytes)); QDF_MAC_ADDR_REF(get_req->peer_macaddr.bytes));
wmi_mtrace(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID, get_req->vdev_id, 0); wmi_mtrace(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID, get_req->vdev_id, 0);
ret = wmi_unified_cmd_send_pm_chk(wmi_handle, buf, len,
WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID); if (is_always_over_qmi && wmi_is_qmi_stats_enabled(wmi_handle)) {
if (ret) { ret = wmi_unified_cmd_send_over_qmi(
wmi_handle, buf, len,
WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID);
} else {
ret = wmi_unified_cmd_send_pm_chk(
wmi_handle, buf, len,
WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID);
}
if (QDF_IS_STATUS_ERROR(ret)) {
wmi_buf_free(buf); wmi_buf_free(buf);
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
return QDF_STATUS_SUCCESS; return ret;
} }
#endif #endif
#endif /* WLAN_FEATURE_LINK_LAYER_STATS */ #endif /* WLAN_FEATURE_LINK_LAYER_STATS */