From 66d4a169a9305b3164b5fc18975258a5578e9818 Mon Sep 17 00:00:00 2001 From: Himanshu Agarwal Date: Wed, 10 Jan 2018 14:21:53 +0530 Subject: [PATCH] qcacmn: Green AP UMAC componentization Add APIs, structures for Green AP component. Change-Id: I4a39470104c89c20eec5440b7ae251a764151fd5 CRs-Fixed: 2166428 --- wmi_unified_api.c | 19 ++++++++++--------- wmi_unified_non_tlv.c | 8 ++++++-- wmi_unified_tlv.c | 31 +++++++++++++++++++------------ 3 files changed, 35 insertions(+), 23 deletions(-) diff --git a/wmi_unified_api.c b/wmi_unified_api.c index d126ddf7ac..ea96b53991 100644 --- a/wmi_unified_api.c +++ b/wmi_unified_api.c @@ -285,33 +285,33 @@ QDF_STATUS wmi_unified_peer_rx_reorder_queue_remove_send(void *wmi_hdl, return QDF_STATUS_E_FAILURE; } -#if defined(FEATURE_GREEN_AP) || defined(ATH_SUPPORT_GREEN_AP) +#ifdef WLAN_SUPPORT_GREEN_AP /** * wmi_unified_green_ap_ps_send() - enable green ap powersave command * @wmi_handle: wmi handle * @value: value - * @mac_id: mac id to have radio context + * @pdev_id: pdev id to have radio context * * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure */ QDF_STATUS wmi_unified_green_ap_ps_send(void *wmi_hdl, - uint32_t value, uint8_t mac_id) + uint32_t value, uint8_t pdev_id) { wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl; if (wmi_handle->ops->send_green_ap_ps_cmd) return wmi_handle->ops->send_green_ap_ps_cmd(wmi_handle, value, - mac_id); + pdev_id); return QDF_STATUS_E_FAILURE; } #else QDF_STATUS wmi_unified_green_ap_ps_send(void *wmi_hdl, - uint32_t value, uint8_t mac_id) + uint32_t value, uint8_t pdev_id) { - return 0; + return QDF_STATUS_SUCCESS; } -#endif /* FEATURE_GREEN_AP or ATH_SUPPORT_GREEN_AP*/ +#endif /* WLAN_SUPPORT_GREEN_AP */ /** * wmi_unified_pdev_utf_cmd() - send utf command to fw @@ -2221,7 +2221,9 @@ QDF_STATUS wmi_unified_get_link_speed_cmd(void *wmi_hdl, return QDF_STATUS_E_FAILURE; } +#endif +#ifdef WLAN_SUPPORT_GREEN_AP /** * wmi_unified_egap_conf_params_cmd() - send wmi cmd of egap configuration params * @wmi_handle: wmi handler @@ -2230,7 +2232,7 @@ QDF_STATUS wmi_unified_get_link_speed_cmd(void *wmi_hdl, * Return: 0 for success, otherwise appropriate error code */ QDF_STATUS wmi_unified_egap_conf_params_cmd(void *wmi_hdl, - wmi_ap_ps_egap_param_cmd_fixed_param *egap_params) + struct wlan_green_ap_egap_params *egap_params) { wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl; @@ -2240,7 +2242,6 @@ QDF_STATUS wmi_unified_egap_conf_params_cmd(void *wmi_hdl, return QDF_STATUS_E_FAILURE; } - #endif /** diff --git a/wmi_unified_non_tlv.c b/wmi_unified_non_tlv.c index cbbf7958fa..57f40578e8 100644 --- a/wmi_unified_non_tlv.c +++ b/wmi_unified_non_tlv.c @@ -735,16 +735,17 @@ static QDF_STATUS send_peer_update_wds_entry_cmd_non_tlv(wmi_unified_t wmi_handl WMI_PEER_UPDATE_WDS_ENTRY_CMDID); } +#ifdef WLAN_SUPPORT_GREEN_AP /** * send_green_ap_ps_cmd_non_tlv() - enable green ap powersave command * @wmi_handle: wmi handle * @value: value - * @mac_id: mac id to have radio context + * @pdev_id: pdev id to have radio context * * Return: 0 for success or error code */ static QDF_STATUS send_green_ap_ps_cmd_non_tlv(wmi_unified_t wmi_handle, - uint32_t value, uint8_t mac_id) + uint32_t value, uint8_t pdev_id) { wmi_pdev_green_ap_ps_enable_cmd *cmd; wmi_buf_t buf; @@ -775,6 +776,7 @@ static QDF_STATUS send_green_ap_ps_cmd_non_tlv(wmi_unified_t wmi_handle, #endif /* OL_GREEN_AP_DEBUG_CONFIG_INTERACTIONS */ return ret; } +#endif /** * send_pdev_utf_cmd_non_tlv() - send utf command to fw @@ -8229,7 +8231,9 @@ struct wmi_ops non_tlv_ops = { .send_vdev_up_cmd = send_vdev_up_cmd_non_tlv, .send_peer_create_cmd = send_peer_create_cmd_non_tlv, .send_peer_delete_cmd = send_peer_delete_cmd_non_tlv, +#ifdef WLAN_SUPPORT_GREEN_AP .send_green_ap_ps_cmd = send_green_ap_ps_cmd_non_tlv, +#endif .send_pdev_utf_cmd = send_pdev_utf_cmd_non_tlv, .send_pdev_param_cmd = send_pdev_param_cmd_non_tlv, .send_suspend_cmd = send_suspend_cmd_non_tlv, diff --git a/wmi_unified_tlv.c b/wmi_unified_tlv.c index 0afe9984f3..9a7aa85161 100644 --- a/wmi_unified_tlv.c +++ b/wmi_unified_tlv.c @@ -39,6 +39,9 @@ #include "wlan_pmo_hw_filter_public_struct.h" #endif #include +#ifdef WLAN_SUPPORT_GREEN_AP +#include "wlan_green_ap_api.h" +#endif #ifdef WLAN_FEATURE_NAN_CONVERGENCE #include "nan_public_structs.h" @@ -971,18 +974,17 @@ static QDF_STATUS send_peer_update_wds_entry_cmd_tlv(wmi_unified_t wmi_handle, WMI_PEER_UPDATE_WDS_ENTRY_CMDID); } - - +#ifdef WLAN_SUPPORT_GREEN_AP /** * send_green_ap_ps_cmd_tlv() - enable green ap powersave command * @wmi_handle: wmi handle * @value: value - * @mac_id: mac id to have radio context + * @pdev_id: pdev id to have radio context * * Return: QDF_STATUS_SUCCESS for success or error code */ static QDF_STATUS send_green_ap_ps_cmd_tlv(wmi_unified_t wmi_handle, - uint32_t value, uint8_t mac_id) + uint32_t value, uint8_t pdev_id) { wmi_pdev_green_ap_ps_enable_cmd_fixed_param *cmd; wmi_buf_t buf; @@ -1001,7 +1003,7 @@ static QDF_STATUS send_green_ap_ps_cmd_tlv(wmi_unified_t wmi_handle, WMITLV_TAG_STRUC_wmi_pdev_green_ap_ps_enable_cmd_fixed_param, WMITLV_GET_STRUCT_TLVLEN (wmi_pdev_green_ap_ps_enable_cmd_fixed_param)); - cmd->pdev_id = wmi_handle->ops->convert_pdev_id_host_to_target(mac_id); + cmd->pdev_id = wmi_handle->ops->convert_pdev_id_host_to_target(pdev_id); cmd->enable = value; if (wmi_unified_cmd_send(wmi_handle, buf, len, @@ -1013,6 +1015,7 @@ static QDF_STATUS send_green_ap_ps_cmd_tlv(wmi_unified_t wmi_handle, return 0; } +#endif /** * send_pdev_utf_cmd_tlv() - send utf command to fw @@ -8521,6 +8524,7 @@ static QDF_STATUS send_get_link_speed_cmd_tlv(wmi_unified_t wmi_handle, return QDF_STATUS_SUCCESS; } +#ifdef WLAN_SUPPORT_GREEN_AP /** * send_egap_conf_params_cmd_tlv() - send wmi cmd of egap configuration params * @wmi_handle: wmi handler @@ -8529,7 +8533,7 @@ static QDF_STATUS send_get_link_speed_cmd_tlv(wmi_unified_t wmi_handle, * Return: 0 for success, otherwise appropriate error code */ static QDF_STATUS send_egap_conf_params_cmd_tlv(wmi_unified_t wmi_handle, - wmi_ap_ps_egap_param_cmd_fixed_param *egap_params) + struct wlan_green_ap_egap_params *egap_params) { wmi_ap_ps_egap_param_cmd_fixed_param *cmd; wmi_buf_t buf; @@ -8546,10 +8550,10 @@ static QDF_STATUS send_egap_conf_params_cmd_tlv(wmi_unified_t wmi_handle, WMITLV_GET_STRUCT_TLVLEN( wmi_ap_ps_egap_param_cmd_fixed_param)); - cmd->enable = egap_params->enable; - cmd->inactivity_time = egap_params->inactivity_time; - cmd->wait_time = egap_params->wait_time; - cmd->flags = egap_params->flags; + cmd->enable = egap_params->host_enable_egap; + cmd->inactivity_time = egap_params->egap_inactivity_time; + cmd->wait_time = egap_params->egap_wait_time; + cmd->flags = egap_params->egap_feature_flags; err = wmi_unified_cmd_send(wmi_handle, buf, sizeof(*cmd), WMI_AP_PS_EGAP_PARAM_CMDID); if (err) { @@ -8560,6 +8564,7 @@ static QDF_STATUS send_egap_conf_params_cmd_tlv(wmi_unified_t wmi_handle, return QDF_STATUS_SUCCESS; } +#endif /** * send_fw_profiling_cmd_tlv() - send FW profiling cmd to WLAN FW @@ -20837,7 +20842,6 @@ struct wmi_ops tlv_ops = { .send_peer_add_wds_entry_cmd = send_peer_add_wds_entry_cmd_tlv, .send_peer_del_wds_entry_cmd = send_peer_del_wds_entry_cmd_tlv, .send_peer_update_wds_entry_cmd = send_peer_update_wds_entry_cmd_tlv, - .send_green_ap_ps_cmd = send_green_ap_ps_cmd_tlv, .send_pdev_utf_cmd = send_pdev_utf_cmd_tlv, .send_pdev_param_cmd = send_pdev_param_cmd_tlv, .send_suspend_cmd = send_suspend_cmd_tlv, @@ -20979,13 +20983,16 @@ struct wmi_ops tlv_ops = { #ifdef CONFIG_MCL .send_process_dhcp_ind_cmd = send_process_dhcp_ind_cmd_tlv, .send_get_link_speed_cmd = send_get_link_speed_cmd_tlv, - .send_egap_conf_params_cmd = send_egap_conf_params_cmd_tlv, .send_bcn_buf_ll_cmd = send_bcn_buf_ll_cmd_tlv, .send_roam_scan_offload_mode_cmd = send_roam_scan_offload_mode_cmd_tlv, .send_pktlog_wmi_send_cmd = send_pktlog_wmi_send_cmd_tlv, .send_roam_scan_offload_ap_profile_cmd = send_roam_scan_offload_ap_profile_cmd_tlv, +#endif +#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, #endif .send_fw_profiling_cmd = send_fw_profiling_cmd_tlv, .send_csa_offload_enable_cmd = send_csa_offload_enable_cmd_tlv,