qcacmn: Remove dependency on WMA layer for green AP component

Remove dependency on WMA layer for green AP component by registering
green AP events through target_if layer.

Change-Id: I8fe9079c6ba6b23cd5f1d98a7d1b333fde31f19b
CRs-Fixed: 2178143
This commit is contained in:
Himanshu Agarwal
2018-01-24 22:24:17 +05:30
committed by snandini
parent c519dd6098
commit 157e47813d
2 changed files with 46 additions and 0 deletions

View File

@@ -7351,3 +7351,18 @@ QDF_STATUS wmi_unified_invoke_neighbor_report_cmd(void *wmi_hdl,
return QDF_STATUS_E_FAILURE;
}
#ifdef WLAN_SUPPORT_GREEN_AP
QDF_STATUS wmi_extract_green_ap_egap_status_info(
void *wmi_hdl, uint8_t *evt_buf,
struct wlan_green_ap_egap_status_info *egap_status_info_params)
{
wmi_unified_t wmi_handle = (wmi_unified_t)wmi_hdl;
if (wmi_handle->ops->extract_green_ap_egap_status_info)
return wmi_handle->ops->extract_green_ap_egap_status_info(
evt_buf, egap_status_info_params);
return QDF_STATUS_E_FAILURE;
}
#endif

View File

@@ -21665,6 +21665,35 @@ static QDF_STATUS send_invoke_neighbor_report_cmd_tlv(wmi_unified_t wmi_handle,
return status;
}
#ifdef WLAN_SUPPORT_GREEN_AP
static QDF_STATUS extract_green_ap_egap_status_info_tlv(
uint8_t *evt_buf,
struct wlan_green_ap_egap_status_info *egap_status_info_params)
{
WMI_AP_PS_EGAP_INFO_EVENTID_param_tlvs *param_buf;
wmi_ap_ps_egap_info_event_fixed_param *egap_info_event;
wmi_ap_ps_egap_info_chainmask_list *chainmask_event;
param_buf = (WMI_AP_PS_EGAP_INFO_EVENTID_param_tlvs *)evt_buf;
if (!param_buf) {
WMI_LOGE("Invalid EGAP Info status event buffer");
return QDF_STATUS_E_INVAL;
}
egap_info_event = (wmi_ap_ps_egap_info_event_fixed_param *)
param_buf->fixed_param;
chainmask_event = (wmi_ap_ps_egap_info_chainmask_list *)
param_buf->chainmask_list;
egap_status_info_params->status = egap_info_event->status;
egap_status_info_params->mac_id = chainmask_event->mac_id;
egap_status_info_params->tx_chainmask = chainmask_event->tx_chainmask;
egap_status_info_params->rx_chainmask = chainmask_event->rx_chainmask;
return QDF_STATUS_SUCCESS;
}
#endif
struct wmi_ops tlv_ops = {
.send_vdev_create_cmd = send_vdev_create_cmd_tlv,
.send_vdev_delete_cmd = send_vdev_delete_cmd_tlv,
@@ -21842,6 +21871,8 @@ struct wmi_ops tlv_ops = {
#ifdef WLAN_SUPPORT_GREEN_AP
.send_egap_conf_params_cmd = send_egap_conf_params_cmd_tlv,
.send_green_ap_ps_cmd = send_green_ap_ps_cmd_tlv,
.extract_green_ap_egap_status_info =
extract_green_ap_egap_status_info_tlv,
#endif
.send_fw_profiling_cmd = send_fw_profiling_cmd_tlv,
.send_csa_offload_enable_cmd = send_csa_offload_enable_cmd_tlv,