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
このコミットが含まれているのは:
@@ -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 */
|
||||||
|
新しいイシューから参照
ユーザーをブロックする