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
|
||||
* 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,
|
||||
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_ */
|
||||
|
@@ -1462,6 +1462,10 @@ QDF_STATUS (*extract_dfs_radar_detection_event)(wmi_unified_t wmi_handle,
|
||||
uint8_t *evt_buf,
|
||||
struct radar_found_info *radar_found,
|
||||
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
|
||||
QDF_STATUS (*send_set_country_cmd)(wmi_unified_t wmi_handle,
|
||||
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
|
||||
@@ -54,3 +54,19 @@ QDF_STATUS wmi_extract_dfs_radar_detection_event(void *wmi_hdl,
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
#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
|
||||
|
||||
/**
|
||||
@@ -21875,6 +21924,7 @@ struct wmi_ops tlv_ops = {
|
||||
.extract_dfs_cac_complete_event = extract_dfs_cac_complete_event_tlv,
|
||||
.extract_dfs_radar_detection_event =
|
||||
extract_dfs_radar_detection_event_tlv,
|
||||
.extract_wlan_radar_event_info = extract_wlan_radar_event_info_tlv,
|
||||
#endif
|
||||
.convert_pdev_id_host_to_target =
|
||||
convert_host_pdev_id_to_target_pdev_id_legacy,
|
||||
|
Reference in New Issue
Block a user