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
Este commit está contenido en:

cometido por
snandini

padre
c519dd6098
commit
157e47813d
@@ -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
|
||||
|
@@ -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,
|
||||
|
Referencia en una nueva incidencia
Block a user