qcacmn: Add extract_roam_stats_event to wmi_ops
Add extract_roam_stats_event to wmi_ops to allow cld driver to register the corresponding callback. Change-Id: I77ebb05a1a2ce9fa0b2f2f2ffb50c523ab9070e6 CRs-Fixed: 3007690
This commit is contained in:

committed by
Madan Koyyalamudi

parent
14d9d6d697
commit
5adde265e2
@@ -422,6 +422,10 @@ QDF_STATUS
|
||||
(*extract_roam_scan_chan_list)(wmi_unified_t wmi_handle,
|
||||
uint8_t *event, uint32_t data_len,
|
||||
struct cm_roam_scan_ch_resp **data);
|
||||
QDF_STATUS
|
||||
(*extract_roam_stats_event)(wmi_unified_t wmi_handle,
|
||||
uint8_t *event, uint32_t data_len,
|
||||
struct roam_stats_event **data);
|
||||
#endif /* ROAM_TARGET_IF_CONVERGENCE */
|
||||
#endif
|
||||
QDF_STATUS (*send_vdev_create_cmd)(wmi_unified_t wmi_handle,
|
||||
|
@@ -14591,6 +14591,54 @@ convert_wtc_scan_mode(WMI_ROAM_TRIGGER_SCAN_MODE scan_mode)
|
||||
}
|
||||
}
|
||||
|
||||
static uint32_t wmi_convert_fw_to_cm_trig_reason(uint32_t fw_trig_reason)
|
||||
{
|
||||
switch (fw_trig_reason) {
|
||||
case WMI_ROAM_TRIGGER_REASON_NONE:
|
||||
return ROAM_TRIGGER_REASON_NONE;
|
||||
case WMI_ROAM_TRIGGER_REASON_PER:
|
||||
return ROAM_TRIGGER_REASON_PER;
|
||||
case WMI_ROAM_TRIGGER_REASON_BMISS:
|
||||
return ROAM_TRIGGER_REASON_BMISS;
|
||||
case WMI_ROAM_TRIGGER_REASON_LOW_RSSI:
|
||||
return ROAM_TRIGGER_REASON_LOW_RSSI;
|
||||
case WMI_ROAM_TRIGGER_REASON_HIGH_RSSI:
|
||||
return ROAM_TRIGGER_REASON_HIGH_RSSI;
|
||||
case WMI_ROAM_TRIGGER_REASON_PERIODIC:
|
||||
return ROAM_TRIGGER_REASON_PERIODIC;
|
||||
case WMI_ROAM_TRIGGER_REASON_MAWC:
|
||||
return ROAM_TRIGGER_REASON_MAWC;
|
||||
case WMI_ROAM_TRIGGER_REASON_DENSE:
|
||||
return ROAM_TRIGGER_REASON_DENSE;
|
||||
case WMI_ROAM_TRIGGER_REASON_BACKGROUND:
|
||||
return ROAM_TRIGGER_REASON_BACKGROUND;
|
||||
case WMI_ROAM_TRIGGER_REASON_FORCED:
|
||||
return ROAM_TRIGGER_REASON_FORCED;
|
||||
case WMI_ROAM_TRIGGER_REASON_BTM:
|
||||
return ROAM_TRIGGER_REASON_BTM;
|
||||
case WMI_ROAM_TRIGGER_REASON_UNIT_TEST:
|
||||
return ROAM_TRIGGER_REASON_UNIT_TEST;
|
||||
case WMI_ROAM_TRIGGER_REASON_BSS_LOAD:
|
||||
return ROAM_TRIGGER_REASON_BSS_LOAD;
|
||||
case WMI_ROAM_TRIGGER_REASON_DEAUTH:
|
||||
return ROAM_TRIGGER_REASON_DEAUTH;
|
||||
case WMI_ROAM_TRIGGER_REASON_IDLE:
|
||||
return ROAM_TRIGGER_REASON_IDLE;
|
||||
case WMI_ROAM_TRIGGER_REASON_STA_KICKOUT:
|
||||
return ROAM_TRIGGER_REASON_STA_KICKOUT;
|
||||
case WMI_ROAM_TRIGGER_REASON_ESS_RSSI:
|
||||
return ROAM_TRIGGER_REASON_ESS_RSSI;
|
||||
case WMI_ROAM_TRIGGER_REASON_WTC_BTM:
|
||||
return ROAM_TRIGGER_REASON_WTC_BTM;
|
||||
case WMI_ROAM_TRIGGER_REASON_PMK_TIMEOUT:
|
||||
return ROAM_TRIGGER_REASON_PMK_TIMEOUT;
|
||||
case WMI_ROAM_TRIGGER_EXT_REASON_MAX:
|
||||
return ROAM_TRIGGER_REASON_MAX;
|
||||
default:
|
||||
return ROAM_TRIGGER_REASON_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* extract_roam_trigger_stats_tlv() - Extract the Roam trigger stats
|
||||
* from the WMI_ROAM_STATS_EVENTID
|
||||
@@ -14605,6 +14653,7 @@ extract_roam_trigger_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
{
|
||||
WMI_ROAM_STATS_EVENTID_param_tlvs *param_buf;
|
||||
wmi_roam_trigger_reason *src_data = NULL;
|
||||
uint32_t trig_reason;
|
||||
|
||||
param_buf = (WMI_ROAM_STATS_EVENTID_param_tlvs *)evt_buf;
|
||||
if (!param_buf || !param_buf->roam_trigger_reason)
|
||||
@@ -14613,12 +14662,13 @@ extract_roam_trigger_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
||||
src_data = ¶m_buf->roam_trigger_reason[idx];
|
||||
|
||||
trig->present = true;
|
||||
trig->trigger_reason = src_data->trigger_reason;
|
||||
trig_reason = src_data->trigger_reason;
|
||||
trig->trigger_reason = wmi_convert_fw_to_cm_trig_reason(trig_reason);
|
||||
trig->trigger_sub_reason = src_data->trigger_sub_reason;
|
||||
trig->current_rssi = src_data->current_rssi;
|
||||
trig->timestamp = src_data->timestamp;
|
||||
|
||||
switch (trig->trigger_reason) {
|
||||
switch (trig_reason) {
|
||||
case WMI_ROAM_TRIGGER_REASON_PER:
|
||||
case WMI_ROAM_TRIGGER_REASON_BMISS:
|
||||
case WMI_ROAM_TRIGGER_REASON_HIGH_RSSI:
|
||||
|
Reference in New Issue
Block a user