qcacmn: Send connected links bitmap to FW

Send connected links bitmap to FW via a command:
WMI_REQUEST_STATS_EXT_CMDID in case of MLO connection.

Change-Id: I8ea88b0474769a56f5efa0cd006ba515e858accf
CRs-Fixed: 3149043
This commit is contained in:
abhinav kumar
2022-02-22 19:07:14 +05:30
committed by Madan Koyyalamudi
parent 70e862a7ef
commit 8932989aaf
2 changed files with 18 additions and 1 deletions

View File

@@ -2632,11 +2632,13 @@ struct ext_wow_params {
* struct stats_ext_params - ext stats request
* @vdev_id: vdev id
* @request_data_len: request data length
* @vdev_id_bitmap: mlo connected vdev id bitmap
* @request_data: request data
*/
struct stats_ext_params {
uint32_t vdev_id;
uint32_t request_data_len;
uint32_t vdev_id_bitmap;
uint8_t request_data[];
};

View File

@@ -6661,6 +6661,7 @@ static QDF_STATUS send_stats_ext_req_cmd_tlv(wmi_unified_t wmi_handle,
size_t len;
uint8_t *buf_ptr;
uint16_t max_wmi_msg_size = wmi_get_max_msg_len(wmi_handle);
uint32_t *vdev_bitmap;
if (preq->request_data_len > (max_wmi_msg_size - WMI_TLV_HDR_SIZE -
sizeof(*cmd))) {
@@ -6669,7 +6670,8 @@ static QDF_STATUS send_stats_ext_req_cmd_tlv(wmi_unified_t wmi_handle,
return QDF_STATUS_E_FAILURE;
}
len = sizeof(*cmd) + WMI_TLV_HDR_SIZE + preq->request_data_len;
len = sizeof(*cmd) + WMI_TLV_HDR_SIZE + preq->request_data_len +
WMI_TLV_HDR_SIZE + sizeof(uint32_t);
buf = wmi_buf_alloc(wmi_handle, len);
if (!buf)
@@ -6694,6 +6696,19 @@ static QDF_STATUS send_stats_ext_req_cmd_tlv(wmi_unified_t wmi_handle,
buf_ptr += WMI_TLV_HDR_SIZE;
qdf_mem_copy(buf_ptr, preq->request_data, cmd->data_len);
buf_ptr += cmd->data_len;
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_UINT32, sizeof(uint32_t));
buf_ptr += WMI_TLV_HDR_SIZE;
vdev_bitmap = (A_UINT32 *)buf_ptr;
vdev_bitmap[0] = preq->vdev_id_bitmap;
wmi_debug("Sending MLO vdev_id_bitmap:%x", vdev_bitmap[0]);
buf_ptr += sizeof(uint32_t);
wmi_mtrace(WMI_REQUEST_STATS_EXT_CMDID, cmd->vdev_id, 0);
ret = wmi_unified_cmd_send(wmi_handle, buf, len,
WMI_REQUEST_STATS_EXT_CMDID);