qcacmn: Add WMI support for Agile DFS feature
Add WMI commands and event to support Agile DFS feature: 1)WMI send adfs channel config command 2)WMI send adfs o-cac abort command 3)WMI extract function to handle O-CAC complete event from target Change-Id: Ib11d042bf06c786ab553aa28091145b620fbd551 CRs-Fixed: 2385536
This commit is contained in:

committed by
nshrivas

parent
ce7a81cbed
commit
9ff68da6e5
@@ -1366,6 +1366,30 @@ QDF_STATUS wmi_unified_dfs_phyerr_offload_en_cmd(void *wmi_hdl,
|
|||||||
QDF_STATUS wmi_unified_dfs_phyerr_offload_dis_cmd(void *wmi_hdl,
|
QDF_STATUS wmi_unified_dfs_phyerr_offload_dis_cmd(void *wmi_hdl,
|
||||||
uint32_t pdev_id);
|
uint32_t pdev_id);
|
||||||
|
|
||||||
|
#ifdef QCA_SUPPORT_AGILE_DFS
|
||||||
|
/**
|
||||||
|
* wmi_unified_send_vdev_adfs_ch_cfg_cmd() - send adfs channel config command
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @vdev_adfs_ch_cfg_params: adfs channel config params
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
QDF_STATUS
|
||||||
|
wmi_unified_send_vdev_adfs_ch_cfg_cmd(void *wmi_hdl,
|
||||||
|
struct vdev_adfs_ch_cfg_params *param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_unified_send_vdev_adfs_ocac_abort_cmd() - send adfs o-cac abort command
|
||||||
|
* @wmi_handle: wmi handle
|
||||||
|
* @vdev_adfs_abort_params: adfs channel o-cac abort params
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
QDF_STATUS
|
||||||
|
wmi_unified_send_vdev_adfs_ocac_abort_cmd(void *wmi_hdl,
|
||||||
|
struct vdev_adfs_abort_params *param);
|
||||||
|
#endif
|
||||||
|
|
||||||
QDF_STATUS wmi_unified_set_country_cmd_send(void *wmi_hdl,
|
QDF_STATUS wmi_unified_set_country_cmd_send(void *wmi_hdl,
|
||||||
struct set_country *param);
|
struct set_country *param);
|
||||||
|
|
||||||
|
@@ -40,6 +40,19 @@ QDF_STATUS wmi_extract_dfs_cac_complete_event(void *wmi_hdl,
|
|||||||
uint32_t *vdev_id,
|
uint32_t *vdev_id,
|
||||||
uint32_t len);
|
uint32_t len);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wmi_extract_dfs_ocac_complete_event() - function to handle off channel
|
||||||
|
* CAC complete event
|
||||||
|
* @handle: wmi handle
|
||||||
|
* @event_buf: event buffer
|
||||||
|
* @vdev_adfs_complete_status: off channel cac complete params
|
||||||
|
*
|
||||||
|
* Return: 0 for success or error code
|
||||||
|
*/
|
||||||
|
QDF_STATUS
|
||||||
|
wmi_extract_dfs_ocac_complete_event(void *wmi_hdl, uint8_t *evt_buf,
|
||||||
|
struct vdev_adfs_complete_status *param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wmi_extract_dfs_radar_detection_event() - function to handle radar event
|
* wmi_extract_dfs_radar_detection_event() - function to handle radar event
|
||||||
* @handle: wma handle
|
* @handle: wma handle
|
||||||
|
@@ -1404,6 +1404,36 @@ struct multiple_vdev_restart_params {
|
|||||||
uint32_t vdev_ids[WMI_HOST_PDEV_MAX_VDEVS];
|
uint32_t vdev_ids[WMI_HOST_PDEV_MAX_VDEVS];
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef QCA_SUPPORT_AGILE_DFS
|
||||||
|
/**
|
||||||
|
* struct vdev_adfs_ch_cfg_params - Agile dfs channel set request params
|
||||||
|
* @vdev_id: Vdev indentifier
|
||||||
|
* @ocac_mode: Off Channel CAC mode
|
||||||
|
* @min_duration_ms: Minimum Off channel CAC duration
|
||||||
|
* @max_duration_ms: Maximum Off channel CAC duration
|
||||||
|
* @chan_freq: channel number of precac channel
|
||||||
|
* @chan_width: Precac Channel width
|
||||||
|
* @center_freq: Center frequency of precac channel
|
||||||
|
*/
|
||||||
|
struct vdev_adfs_ch_cfg_params {
|
||||||
|
uint32_t vdev_id;
|
||||||
|
uint32_t ocac_mode; /* WMI_ADFS_OCAC_MODE */
|
||||||
|
uint32_t min_duration_ms;
|
||||||
|
uint32_t max_duration_ms;
|
||||||
|
uint32_t chan_freq;
|
||||||
|
uint32_t chan_width;
|
||||||
|
uint32_t center_freq; /* in MHz */
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct vdev_adfs_ch_cfg_params - Agile dfs ocac abort command to stop precac.
|
||||||
|
* @vdev_id: Vdev indentifier
|
||||||
|
*/
|
||||||
|
struct vdev_adfs_abort_params {
|
||||||
|
uint32_t vdev_id;
|
||||||
|
};
|
||||||
|
#endif
|
||||||
/**
|
/**
|
||||||
* struct fw_hang_params - fw hang command parameters
|
* struct fw_hang_params - fw hang command parameters
|
||||||
* @type: 0:unused 1: ASSERT, 2:not respond detect command, 3:simulate ep-full
|
* @type: 0:unused 1: ASSERT, 2:not respond detect command, 3:simulate ep-full
|
||||||
@@ -4746,6 +4776,7 @@ typedef enum {
|
|||||||
wmi_twt_enable_complete_event_id,
|
wmi_twt_enable_complete_event_id,
|
||||||
wmi_apf_get_vdev_work_memory_resp_event_id,
|
wmi_apf_get_vdev_work_memory_resp_event_id,
|
||||||
wmi_roam_scan_stats_event_id,
|
wmi_roam_scan_stats_event_id,
|
||||||
|
wmi_vdev_ocac_complete_event_id,
|
||||||
|
|
||||||
#ifdef OL_ATH_SMART_LOGGING
|
#ifdef OL_ATH_SMART_LOGGING
|
||||||
wmi_debug_fatal_condition_eventid,
|
wmi_debug_fatal_condition_eventid,
|
||||||
@@ -5307,6 +5338,7 @@ struct wmi_host_fw_abi_ver {
|
|||||||
* @gtk_offload_max_vdev: Max vdevs for GTK offload
|
* @gtk_offload_max_vdev: Max vdevs for GTK offload
|
||||||
* @num_msdu_desc: Number of msdu desc
|
* @num_msdu_desc: Number of msdu desc
|
||||||
* @max_frag_entries: Max frag entries
|
* @max_frag_entries: Max frag entries
|
||||||
|
* @agile_capability: Target Agile Capability
|
||||||
* End common
|
* End common
|
||||||
* @max_peer_ext_stats: Max peer EXT stats
|
* @max_peer_ext_stats: Max peer EXT stats
|
||||||
* @smart_ant_cap: Smart antenna capabilities
|
* @smart_ant_cap: Smart antenna capabilities
|
||||||
@@ -5381,6 +5413,7 @@ typedef struct {
|
|||||||
uint32_t num_msdu_desc; /* Number of msdu desc */
|
uint32_t num_msdu_desc; /* Number of msdu desc */
|
||||||
uint32_t max_frag_entries;
|
uint32_t max_frag_entries;
|
||||||
uint32_t scheduler_params;
|
uint32_t scheduler_params;
|
||||||
|
uint32_t agile_capability;
|
||||||
/* End common */
|
/* End common */
|
||||||
|
|
||||||
/* Added for Beeliner */
|
/* Added for Beeliner */
|
||||||
|
@@ -1590,7 +1590,14 @@ QDF_STATUS (*send_power_dbg_cmd)(wmi_unified_t wmi_handle,
|
|||||||
|
|
||||||
QDF_STATUS (*send_multiple_vdev_restart_req_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_multiple_vdev_restart_req_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct multiple_vdev_restart_params *param);
|
struct multiple_vdev_restart_params *param);
|
||||||
|
#ifdef QCA_SUPPORT_AGILE_DFS
|
||||||
|
QDF_STATUS
|
||||||
|
(*send_adfs_ocac_abort_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
struct vdev_adfs_abort_params *param);
|
||||||
|
|
||||||
|
QDF_STATUS (*send_adfs_ch_cfg_cmd)(wmi_unified_t wmi_handle,
|
||||||
|
struct vdev_adfs_ch_cfg_params *param);
|
||||||
|
#endif
|
||||||
QDF_STATUS (*send_fw_test_cmd)(wmi_unified_t wmi_handle,
|
QDF_STATUS (*send_fw_test_cmd)(wmi_unified_t wmi_handle,
|
||||||
struct set_fwtest_params *wmi_fwtest);
|
struct set_fwtest_params *wmi_fwtest);
|
||||||
|
|
||||||
@@ -1715,6 +1722,11 @@ QDF_STATUS (*extract_dfs_cac_complete_event)(wmi_unified_t wmi_handle,
|
|||||||
uint8_t *evt_buf,
|
uint8_t *evt_buf,
|
||||||
uint32_t *vdev_id,
|
uint32_t *vdev_id,
|
||||||
uint32_t len);
|
uint32_t len);
|
||||||
|
QDF_STATUS
|
||||||
|
(*extract_dfs_ocac_complete_event)(wmi_unified_t wmi_handle,
|
||||||
|
uint8_t *evt_buf,
|
||||||
|
struct vdev_adfs_complete_status *oca_stats);
|
||||||
|
|
||||||
QDF_STATUS (*extract_dfs_radar_detection_event)(wmi_unified_t wmi_handle,
|
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,
|
||||||
|
@@ -4167,6 +4167,34 @@ wmi_unified_dfs_phyerr_offload_en_cmd(void *wmi_hdl,
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_SUPPORT_AGILE_DFS
|
||||||
|
QDF_STATUS
|
||||||
|
wmi_unified_send_vdev_adfs_ch_cfg_cmd(void *wmi_hdl,
|
||||||
|
struct vdev_adfs_ch_cfg_params *param)
|
||||||
|
{
|
||||||
|
wmi_unified_t wmi_handle = (wmi_unified_t)wmi_hdl;
|
||||||
|
|
||||||
|
if (wmi_handle->ops->send_adfs_ch_cfg_cmd)
|
||||||
|
return wmi_handle->ops->send_adfs_ch_cfg_cmd(
|
||||||
|
wmi_handle,
|
||||||
|
param);
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDF_STATUS
|
||||||
|
wmi_unified_send_vdev_adfs_ocac_abort_cmd(void *wmi_hdl,
|
||||||
|
struct vdev_adfs_abort_params *param)
|
||||||
|
{
|
||||||
|
wmi_unified_t wmi_handle = (wmi_unified_t)wmi_hdl;
|
||||||
|
|
||||||
|
if (wmi_handle->ops->send_adfs_ocac_abort_cmd)
|
||||||
|
return wmi_handle->ops->send_adfs_ocac_abort_cmd(
|
||||||
|
wmi_handle,
|
||||||
|
param);
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
wmi_unified_dfs_phyerr_offload_dis_cmd(void *wmi_hdl,
|
wmi_unified_dfs_phyerr_offload_dis_cmd(void *wmi_hdl,
|
||||||
uint32_t pdev_id)
|
uint32_t pdev_id)
|
||||||
|
@@ -45,6 +45,22 @@ QDF_STATUS wmi_extract_dfs_cac_complete_event(void *wmi_hdl,
|
|||||||
}
|
}
|
||||||
qdf_export_symbol(wmi_extract_dfs_cac_complete_event);
|
qdf_export_symbol(wmi_extract_dfs_cac_complete_event);
|
||||||
|
|
||||||
|
QDF_STATUS
|
||||||
|
wmi_extract_dfs_ocac_complete_event(void *wmi_hdl,
|
||||||
|
uint8_t *evt_buf,
|
||||||
|
struct vdev_adfs_complete_status *param)
|
||||||
|
{
|
||||||
|
struct wmi_unified *wmi_handle = (struct wmi_unified *)wmi_hdl;
|
||||||
|
|
||||||
|
if (wmi_handle && wmi_handle->ops->extract_dfs_ocac_complete_event)
|
||||||
|
return wmi_handle->ops->extract_dfs_ocac_complete_event(
|
||||||
|
wmi_handle, evt_buf, param);
|
||||||
|
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
qdf_export_symbol(wmi_extract_dfs_ocac_complete_event);
|
||||||
|
|
||||||
QDF_STATUS wmi_extract_dfs_radar_detection_event(void *wmi_hdl,
|
QDF_STATUS wmi_extract_dfs_radar_detection_event(void *wmi_hdl,
|
||||||
uint8_t *evt_buf,
|
uint8_t *evt_buf,
|
||||||
struct radar_found_info *radar_found,
|
struct radar_found_info *radar_found,
|
||||||
|
@@ -7132,6 +7132,102 @@ static QDF_STATUS send_dfs_phyerr_offload_dis_cmd_tlv(wmi_unified_t wmi_handle,
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef QCA_SUPPORT_AGILE_DFS
|
||||||
|
static
|
||||||
|
QDF_STATUS send_adfs_ch_cfg_cmd_tlv(wmi_unified_t wmi_handle,
|
||||||
|
struct vdev_adfs_ch_cfg_params *param)
|
||||||
|
{
|
||||||
|
/* wmi_unified_cmd_send set request of agile ADFS channel*/
|
||||||
|
wmi_vdev_adfs_ch_cfg_cmd_fixed_param *cmd;
|
||||||
|
wmi_buf_t buf;
|
||||||
|
QDF_STATUS ret;
|
||||||
|
uint16_t len;
|
||||||
|
|
||||||
|
len = sizeof(*cmd);
|
||||||
|
buf = wmi_buf_alloc(wmi_handle, len);
|
||||||
|
|
||||||
|
if (!buf) {
|
||||||
|
WMI_LOGE("%s : wmi_buf_alloc failed", __func__);
|
||||||
|
return QDF_STATUS_E_NOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd = (wmi_vdev_adfs_ch_cfg_cmd_fixed_param *)
|
||||||
|
wmi_buf_data(buf);
|
||||||
|
|
||||||
|
WMITLV_SET_HDR(&cmd->tlv_header,
|
||||||
|
WMITLV_TAG_STRUC_wmi_vdev_adfs_ch_cfg_cmd_fixed_param,
|
||||||
|
WMITLV_GET_STRUCT_TLVLEN
|
||||||
|
(wmi_vdev_adfs_ch_cfg_cmd_fixed_param));
|
||||||
|
|
||||||
|
cmd->vdev_id = param->vdev_id;
|
||||||
|
cmd->ocac_mode = param->ocac_mode;
|
||||||
|
cmd->center_freq = param->center_freq;
|
||||||
|
cmd->chan_freq = param->chan_freq;
|
||||||
|
cmd->chan_width = param->chan_width;
|
||||||
|
cmd->min_duration_ms = param->min_duration_ms;
|
||||||
|
cmd->max_duration_ms = param->max_duration_ms;
|
||||||
|
WMI_LOGD("%s:cmd->vdev_id: %d ,cmd->ocac_mode: %d cmd->center_freq: %d",
|
||||||
|
__func__, cmd->vdev_id, cmd->ocac_mode,
|
||||||
|
cmd->center_freq);
|
||||||
|
|
||||||
|
wmi_mtrace(WMI_VDEV_ADFS_CH_CFG_CMDID, NO_SESSION, 0);
|
||||||
|
ret = wmi_unified_cmd_send(wmi_handle, buf, len,
|
||||||
|
WMI_VDEV_ADFS_CH_CFG_CMDID);
|
||||||
|
|
||||||
|
if (QDF_IS_STATUS_ERROR(ret)) {
|
||||||
|
WMI_LOGE("%s: Failed to send cmd to fw, ret=%d",
|
||||||
|
__func__, ret);
|
||||||
|
wmi_buf_free(buf);
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
QDF_STATUS send_adfs_ocac_abort_cmd_tlv(wmi_unified_t wmi_handle,
|
||||||
|
struct vdev_adfs_abort_params *param)
|
||||||
|
{
|
||||||
|
/*wmi_unified_cmd_send with ocac abort on ADFS channel*/
|
||||||
|
wmi_vdev_adfs_ocac_abort_cmd_fixed_param *cmd;
|
||||||
|
wmi_buf_t buf;
|
||||||
|
QDF_STATUS ret;
|
||||||
|
uint16_t len;
|
||||||
|
|
||||||
|
len = sizeof(*cmd);
|
||||||
|
buf = wmi_buf_alloc(wmi_handle, len);
|
||||||
|
|
||||||
|
if (!buf) {
|
||||||
|
WMI_LOGE("%s : wmi_buf_alloc failed", __func__);
|
||||||
|
return QDF_STATUS_E_NOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd = (wmi_vdev_adfs_ocac_abort_cmd_fixed_param *)
|
||||||
|
wmi_buf_data(buf);
|
||||||
|
|
||||||
|
WMITLV_SET_HDR
|
||||||
|
(&cmd->tlv_header,
|
||||||
|
WMITLV_TAG_STRUC_wmi_vdev_adfs_ocac_abort_cmd_fixed_param,
|
||||||
|
WMITLV_GET_STRUCT_TLVLEN
|
||||||
|
(wmi_vdev_adfs_ocac_abort_cmd_fixed_param));
|
||||||
|
|
||||||
|
cmd->vdev_id = param->vdev_id;
|
||||||
|
|
||||||
|
wmi_mtrace(WMI_VDEV_ADFS_OCAC_ABORT_CMDID, NO_SESSION, 0);
|
||||||
|
ret = wmi_unified_cmd_send(wmi_handle, buf, len,
|
||||||
|
WMI_VDEV_ADFS_OCAC_ABORT_CMDID);
|
||||||
|
|
||||||
|
if (QDF_IS_STATUS_ERROR(ret)) {
|
||||||
|
WMI_LOGE("%s: Failed to send cmd to fw, ret=%d",
|
||||||
|
__func__, ret);
|
||||||
|
wmi_buf_free(buf);
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* init_cmd_send_tlv() - send initialization cmd to fw
|
* init_cmd_send_tlv() - send initialization cmd to fw
|
||||||
* @wmi_handle: wmi handle
|
* @wmi_handle: wmi handle
|
||||||
@@ -7976,9 +8072,11 @@ static QDF_STATUS extract_ready_event_params_tlv(wmi_unified_t wmi_handle,
|
|||||||
ev_param->num_extra_mac_addr = ev->num_extra_mac_addr;
|
ev_param->num_extra_mac_addr = ev->num_extra_mac_addr;
|
||||||
ev_param->num_total_peer = ev->num_total_peers;
|
ev_param->num_total_peer = ev->num_total_peers;
|
||||||
ev_param->num_extra_peer = ev->num_extra_peers;
|
ev_param->num_extra_peer = ev->num_extra_peers;
|
||||||
/* Agile_cap in ready event is not supported in TLV target */
|
/* Agile_capability in ready event is supported in TLV target,
|
||||||
ev_param->agile_capability = false;
|
* as per aDFS FR
|
||||||
|
*/
|
||||||
ev_param->max_ast_index = ev->max_ast_index;
|
ev_param->max_ast_index = ev->max_ast_index;
|
||||||
|
ev_param->agile_capability = 1;
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
@@ -9769,6 +9867,46 @@ static QDF_STATUS extract_dfs_cac_complete_event_tlv(wmi_unified_t wmi_handle,
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* extract_dfs_ocac_complete_event_tlv() - extract cac complete event
|
||||||
|
* @wmi_handle: wma handle
|
||||||
|
* @evt_buf: event buffer
|
||||||
|
* @vdev_id: vdev id
|
||||||
|
* @len: length of buffer
|
||||||
|
*
|
||||||
|
* Return: 0 for success or error code
|
||||||
|
*/
|
||||||
|
static QDF_STATUS
|
||||||
|
extract_dfs_ocac_complete_event_tlv(wmi_unified_t wmi_handle,
|
||||||
|
uint8_t *evt_buf,
|
||||||
|
struct vdev_adfs_complete_status *param)
|
||||||
|
{
|
||||||
|
WMI_VDEV_ADFS_OCAC_COMPLETE_EVENTID_param_tlvs *param_tlvs;
|
||||||
|
wmi_vdev_adfs_ocac_complete_event_fixed_param *ocac_complete_status;
|
||||||
|
|
||||||
|
param_tlvs = (WMI_VDEV_ADFS_OCAC_COMPLETE_EVENTID_param_tlvs *)evt_buf;
|
||||||
|
if (!param_tlvs) {
|
||||||
|
WMI_LOGE("invalid ocac complete event buf");
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!param_tlvs->fixed_param) {
|
||||||
|
WMI_LOGE("invalid param_tlvs->fixed_param");
|
||||||
|
return QDF_STATUS_E_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
ocac_complete_status = param_tlvs->fixed_param;
|
||||||
|
param->vdev_id = ocac_complete_status->vdev_id;
|
||||||
|
param->chan_freq = ocac_complete_status->chan_freq;
|
||||||
|
param->center_freq = ocac_complete_status->center_freq;
|
||||||
|
param->ocac_status = ocac_complete_status->status;
|
||||||
|
param->chan_width = ocac_complete_status->chan_width;
|
||||||
|
WMI_LOGD("processed ocac complete event vdev %d agile chan %d",
|
||||||
|
param->vdev_id, param->center_freq);
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* extract_dfs_radar_detection_event_tlv() - extract radar found event
|
* extract_dfs_radar_detection_event_tlv() - extract radar found event
|
||||||
* @wmi_handle: wma handle
|
* @wmi_handle: wma handle
|
||||||
@@ -11187,6 +11325,10 @@ struct wmi_ops tlv_ops = {
|
|||||||
.send_action_oui_cmd = send_action_oui_cmd_tlv,
|
.send_action_oui_cmd = send_action_oui_cmd_tlv,
|
||||||
#endif
|
#endif
|
||||||
.send_dfs_phyerr_offload_en_cmd = send_dfs_phyerr_offload_en_cmd_tlv,
|
.send_dfs_phyerr_offload_en_cmd = send_dfs_phyerr_offload_en_cmd_tlv,
|
||||||
|
#ifdef QCA_SUPPORT_AGILE_DFS
|
||||||
|
.send_adfs_ch_cfg_cmd = send_adfs_ch_cfg_cmd_tlv,
|
||||||
|
.send_adfs_ocac_abort_cmd = send_adfs_ocac_abort_cmd_tlv,
|
||||||
|
#endif
|
||||||
.send_dfs_phyerr_offload_dis_cmd = send_dfs_phyerr_offload_dis_cmd_tlv,
|
.send_dfs_phyerr_offload_dis_cmd = send_dfs_phyerr_offload_dis_cmd_tlv,
|
||||||
.extract_reg_chan_list_update_event =
|
.extract_reg_chan_list_update_event =
|
||||||
extract_reg_chan_list_update_event_tlv,
|
extract_reg_chan_list_update_event_tlv,
|
||||||
@@ -11198,6 +11340,7 @@ struct wmi_ops tlv_ops = {
|
|||||||
.extract_rcpi_response_event = extract_rcpi_response_event_tlv,
|
.extract_rcpi_response_event = extract_rcpi_response_event_tlv,
|
||||||
#ifdef DFS_COMPONENT_ENABLE
|
#ifdef DFS_COMPONENT_ENABLE
|
||||||
.extract_dfs_cac_complete_event = extract_dfs_cac_complete_event_tlv,
|
.extract_dfs_cac_complete_event = extract_dfs_cac_complete_event_tlv,
|
||||||
|
.extract_dfs_ocac_complete_event = extract_dfs_ocac_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,
|
.extract_wlan_radar_event_info = extract_wlan_radar_event_info_tlv,
|
||||||
@@ -11467,6 +11610,8 @@ static void populate_tlv_events_id(uint32_t *event_ids)
|
|||||||
event_ids[wmi_pdev_fips_event_id] = WMI_PDEV_FIPS_EVENTID;
|
event_ids[wmi_pdev_fips_event_id] = WMI_PDEV_FIPS_EVENTID;
|
||||||
event_ids[wmi_pdev_csa_switch_count_status_event_id] =
|
event_ids[wmi_pdev_csa_switch_count_status_event_id] =
|
||||||
WMI_PDEV_CSA_SWITCH_COUNT_STATUS_EVENTID;
|
WMI_PDEV_CSA_SWITCH_COUNT_STATUS_EVENTID;
|
||||||
|
event_ids[wmi_vdev_ocac_complete_event_id] =
|
||||||
|
WMI_VDEV_ADFS_OCAC_COMPLETE_EVENTID;
|
||||||
event_ids[wmi_reg_chan_list_cc_event_id] = WMI_REG_CHAN_LIST_CC_EVENTID;
|
event_ids[wmi_reg_chan_list_cc_event_id] = WMI_REG_CHAN_LIST_CC_EVENTID;
|
||||||
event_ids[wmi_inst_rssi_stats_event_id] = WMI_INST_RSSI_STATS_EVENTID;
|
event_ids[wmi_inst_rssi_stats_event_id] = WMI_INST_RSSI_STATS_EVENTID;
|
||||||
event_ids[wmi_pdev_tpc_config_event_id] = WMI_PDEV_TPC_CONFIG_EVENTID;
|
event_ids[wmi_pdev_tpc_config_event_id] = WMI_PDEV_TPC_CONFIG_EVENTID;
|
||||||
|
Reference in New Issue
Block a user