qcacmn: Extract MLO specific data for BTM logging

Extract MLO band data from roam stats event for
BTM query, BTM request and BTM response logging.

MLO Band refers to the band of the link involved
in MLO conenection.

Change-Id: Ia60821f7973fe1d39eb824a3eac7791672503084
CRs-Fixed: 3583688
This commit is contained in:
Vijay Raj
2023-08-09 00:20:48 -07:00
committed by Rahul Choudhary
parent d003031f93
commit e762867930
5 changed files with 30 additions and 6 deletions

View File

@@ -3712,11 +3712,11 @@ wmi_unified_extract_roam_result_stats(wmi_unified_t wmi, void *buf,
QDF_STATUS
wmi_unified_extract_roam_11kv_stats(wmi_unified_t wmi, void *evt_buf,
struct wmi_neighbor_report_data *dst,
uint8_t idx, uint8_t rpt_idx)
uint8_t idx, uint8_t rpt_idx, uint8_t band)
{
if (wmi->ops->extract_roam_11kv_stats)
return wmi->ops->extract_roam_11kv_stats(wmi, evt_buf, dst, idx,
rpt_idx);
rpt_idx, band);
return QDF_STATUS_E_FAILURE;
}

View File

@@ -19697,6 +19697,10 @@ extract_roam_trigger_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
btm_data->btm_mbo_assoc_retry_timeout;
trig->btm_trig_data.token =
(uint16_t)btm_data->btm_req_dialog_token;
trig->btm_trig_data.band =
WMI_GET_MLO_BAND(scan_info->flags);
if (trig->btm_trig_data.band != WMI_MLO_BAND_NO_MLO)
trig->btm_trig_data.is_mlo = true;
} else if (src_data) {
trig->btm_trig_data.btm_request_mode =
src_data->btm_request_mode;
@@ -19714,6 +19718,10 @@ extract_roam_trigger_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
src_data->btm_mbo_assoc_retry_timeout;
trig->btm_trig_data.token =
src_data->btm_req_dialog_token;
trig->btm_trig_data.band =
WMI_GET_MLO_BAND(scan_info->flags);
if (trig->btm_trig_data.band != WMI_MLO_BAND_NO_MLO)
trig->btm_trig_data.is_mlo = true;
if ((btm_idx +
trig->btm_trig_data.candidate_list_count) <=
param_buf->num_roam_btm_request_candidate_info)
@@ -19998,11 +20006,12 @@ extract_roam_result_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
* @dst: Pointer to destination structure to fill data
* @idx: TLV id
* @rpt_idx: Neighbor report Channel index
* @band: Band of the link on which packet is transmitted or received
*/
static QDF_STATUS
extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
struct wmi_neighbor_report_data *dst,
uint8_t idx, uint8_t rpt_idx)
uint8_t idx, uint8_t rpt_idx, uint8_t band)
{
WMI_ROAM_STATS_EVENTID_param_tlvs *param_buf;
wmi_roam_neighbor_report_info *src_data = NULL;
@@ -20033,6 +20042,11 @@ extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
dst->num_rpt =
WMI_ROAM_NEIGHBOR_REPORT_INFO_NUM_OF_NRIE_GET(src_data->neighbor_report_detail);
dst->band = band;
if (dst->band != WMI_MLO_BAND_NO_MLO)
dst->is_mlo = true;
if (!dst->num_freq || !param_buf->num_roam_neighbor_report_chan_info ||
rpt_idx >= param_buf->num_roam_neighbor_report_chan_info)
return QDF_STATUS_SUCCESS;
@@ -20127,7 +20141,7 @@ extract_roam_result_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
static QDF_STATUS
extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
struct wmi_neighbor_report_data *dst,
uint8_t idx, uint8_t rpt_idx)
uint8_t idx, uint8_t rpt_idx, uint8_t band)
{
return QDF_STATUS_E_NOSUPPORT;
}