qcacmn: Restore WMI_DFS_RADAR_EVENTID for Rome FW
Currently WMI handler for WMI_PHYERR_EVENTID is used to handle DFS and spectral scan phy errors; but Rome FW still uses WMI_PHYERR_EVENTID and WMI_DFS_RADAR_EVENTID and does not have spectral scan phy errors. Restore WMI_PHYERR_EVENTID and WMI_DFS_RADAR_EVENTID as Rome FW requirement. Change-Id: I23ca4ff6c9be0ba6a0f21f0e0ef9161b1942f629 CRs-Fixed: 2160431
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -54,4 +54,19 @@ QDF_STATUS wmi_extract_dfs_radar_detection_event(void *wmi_hdl,
|
|||||||
struct radar_found_info *radar_found,
|
struct radar_found_info *radar_found,
|
||||||
uint32_t len);
|
uint32_t len);
|
||||||
|
|
||||||
|
#ifdef QCA_MCL_DFS_SUPPORT
|
||||||
|
/**
|
||||||
|
* wmi_extract_wlan_radar_event_info() - function to handle radar pulse event.
|
||||||
|
* @wmi_hdl: wmi handle
|
||||||
|
* @evt_buf: event buffer
|
||||||
|
* @wlan_radar_event: pointer to radar event info structure
|
||||||
|
* @len: length of buffer
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
QDF_STATUS wmi_extract_wlan_radar_event_info(void *wmi_hdl,
|
||||||
|
uint8_t *evt_buf,
|
||||||
|
struct radar_event_info *wlan_radar_event,
|
||||||
|
uint32_t len);
|
||||||
|
#endif
|
||||||
#endif /* _WMI_UNIFIED_DFS_API_H_ */
|
#endif /* _WMI_UNIFIED_DFS_API_H_ */
|
||||||
|
@@ -1462,6 +1462,10 @@ QDF_STATUS (*extract_dfs_radar_detection_event)(wmi_unified_t wmi_handle,
|
|||||||
uint8_t *evt_buf,
|
uint8_t *evt_buf,
|
||||||
struct radar_found_info *radar_found,
|
struct radar_found_info *radar_found,
|
||||||
uint32_t len);
|
uint32_t len);
|
||||||
|
QDF_STATUS (*extract_wlan_radar_event_info)(wmi_unified_t wmi_handle,
|
||||||
|
uint8_t *evt_buf,
|
||||||
|
struct radar_event_info *wlan_radar_event,
|
||||||
|
uint32_t len);
|
||||||
#endif
|
#endif
|
||||||
QDF_STATUS (*send_set_country_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_set_country_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct set_country *param);
|
struct set_country *param);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
@@ -54,3 +54,19 @@ QDF_STATUS wmi_extract_dfs_radar_detection_event(void *wmi_hdl,
|
|||||||
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_MCL_DFS_SUPPORT
|
||||||
|
QDF_STATUS wmi_extract_wlan_radar_event_info(void *wmi_hdl,
|
||||||
|
uint8_t *evt_buf,
|
||||||
|
struct radar_event_info *wlan_radar_event,
|
||||||
|
uint32_t len)
|
||||||
|
{
|
||||||
|
struct wmi_unified *wmi_handle = (struct wmi_unified *)wmi_hdl;
|
||||||
|
|
||||||
|
if (wmi_handle->ops->extract_wlan_radar_event_info)
|
||||||
|
return wmi_handle->ops->extract_wlan_radar_event_info(
|
||||||
|
wmi_handle, evt_buf, wlan_radar_event, len);
|
||||||
|
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -20637,6 +20637,55 @@ static QDF_STATUS extract_dfs_radar_detection_event_tlv(
|
|||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_MCL_DFS_SUPPORT
|
||||||
|
/**
|
||||||
|
* extract_wlan_radar_event_info_tlv() - extract radar pulse event
|
||||||
|
* @wmi_handle: wma handle
|
||||||
|
* @evt_buf: event buffer
|
||||||
|
* @wlan_radar_event: Pointer to struct radar_event_info
|
||||||
|
* @len: length of buffer
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
static QDF_STATUS extract_wlan_radar_event_info_tlv(
|
||||||
|
wmi_unified_t wmi_handle,
|
||||||
|
uint8_t *evt_buf,
|
||||||
|
struct radar_event_info *wlan_radar_event,
|
||||||
|
uint32_t len)
|
||||||
|
{
|
||||||
|
WMI_DFS_RADAR_EVENTID_param_tlvs *param_tlv;
|
||||||
|
wmi_dfs_radar_event_fixed_param *radar_event;
|
||||||
|
|
||||||
|
param_tlv = (WMI_DFS_RADAR_EVENTID_param_tlvs *)evt_buf;
|
||||||
|
if (!param_tlv) {
|
||||||
|
WMI_LOGE("invalid wlan radar event buf");
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
radar_event = param_tlv->fixed_param;
|
||||||
|
wlan_radar_event->pulse_is_chirp = radar_event->pulse_is_chirp;
|
||||||
|
wlan_radar_event->pulse_center_freq = radar_event->pulse_center_freq;
|
||||||
|
wlan_radar_event->pulse_duration = radar_event->pulse_duration;
|
||||||
|
wlan_radar_event->rssi = radar_event->rssi;
|
||||||
|
wlan_radar_event->pulse_detect_ts = radar_event->pulse_detect_ts;
|
||||||
|
wlan_radar_event->upload_fullts_high = radar_event->upload_fullts_high;
|
||||||
|
wlan_radar_event->upload_fullts_low = radar_event->upload_fullts_low;
|
||||||
|
wlan_radar_event->peak_sidx = radar_event->peak_sidx;
|
||||||
|
wlan_radar_event->pdev_id = radar_event->pdev_id;
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static QDF_STATUS extract_wlan_radar_event_info_tlv(
|
||||||
|
wmi_unified_t wmi_handle,
|
||||||
|
uint8_t *evt_buf,
|
||||||
|
struct radar_event_info *wlan_radar_event,
|
||||||
|
uint32_t len)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -21875,6 +21924,7 @@ struct wmi_ops tlv_ops = {
|
|||||||
.extract_dfs_cac_complete_event = extract_dfs_cac_complete_event_tlv,
|
.extract_dfs_cac_complete_event = extract_dfs_cac_complete_event_tlv,
|
||||||
.extract_dfs_radar_detection_event =
|
.extract_dfs_radar_detection_event =
|
||||||
extract_dfs_radar_detection_event_tlv,
|
extract_dfs_radar_detection_event_tlv,
|
||||||
|
.extract_wlan_radar_event_info = extract_wlan_radar_event_info_tlv,
|
||||||
#endif
|
#endif
|
||||||
.convert_pdev_id_host_to_target =
|
.convert_pdev_id_host_to_target =
|
||||||
convert_host_pdev_id_to_target_pdev_id_legacy,
|
convert_host_pdev_id_to_target_pdev_id_legacy,
|
||||||
|
Reference in New Issue
Block a user