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:

committed by
Madan Koyyalamudi

parent
70e862a7ef
commit
8932989aaf
@@ -2632,11 +2632,13 @@ struct ext_wow_params {
|
|||||||
* struct stats_ext_params - ext stats request
|
* struct stats_ext_params - ext stats request
|
||||||
* @vdev_id: vdev id
|
* @vdev_id: vdev id
|
||||||
* @request_data_len: request data length
|
* @request_data_len: request data length
|
||||||
|
* @vdev_id_bitmap: mlo connected vdev id bitmap
|
||||||
* @request_data: request data
|
* @request_data: request data
|
||||||
*/
|
*/
|
||||||
struct stats_ext_params {
|
struct stats_ext_params {
|
||||||
uint32_t vdev_id;
|
uint32_t vdev_id;
|
||||||
uint32_t request_data_len;
|
uint32_t request_data_len;
|
||||||
|
uint32_t vdev_id_bitmap;
|
||||||
uint8_t request_data[];
|
uint8_t request_data[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -6661,6 +6661,7 @@ static QDF_STATUS send_stats_ext_req_cmd_tlv(wmi_unified_t wmi_handle,
|
|||||||
size_t len;
|
size_t len;
|
||||||
uint8_t *buf_ptr;
|
uint8_t *buf_ptr;
|
||||||
uint16_t max_wmi_msg_size = wmi_get_max_msg_len(wmi_handle);
|
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 -
|
if (preq->request_data_len > (max_wmi_msg_size - WMI_TLV_HDR_SIZE -
|
||||||
sizeof(*cmd))) {
|
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;
|
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);
|
buf = wmi_buf_alloc(wmi_handle, len);
|
||||||
if (!buf)
|
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;
|
buf_ptr += WMI_TLV_HDR_SIZE;
|
||||||
qdf_mem_copy(buf_ptr, preq->request_data, cmd->data_len);
|
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);
|
wmi_mtrace(WMI_REQUEST_STATS_EXT_CMDID, cmd->vdev_id, 0);
|
||||||
ret = wmi_unified_cmd_send(wmi_handle, buf, len,
|
ret = wmi_unified_cmd_send(wmi_handle, buf, len,
|
||||||
WMI_REQUEST_STATS_EXT_CMDID);
|
WMI_REQUEST_STATS_EXT_CMDID);
|
||||||
|
Reference in New Issue
Block a user