qcacmn: Green AP UMAC componentization

Add APIs, structures for Green AP component.

Change-Id: I4a39470104c89c20eec5440b7ae251a764151fd5
CRs-Fixed: 2166428
This commit is contained in:
Himanshu Agarwal
2018-01-10 14:21:53 +05:30
committed by snandini
parent 24c7f8acad
commit 66d4a169a9
3 changed files with 35 additions and 23 deletions

View File

@@ -285,33 +285,33 @@ QDF_STATUS wmi_unified_peer_rx_reorder_queue_remove_send(void *wmi_hdl,
return QDF_STATUS_E_FAILURE; 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_unified_green_ap_ps_send() - enable green ap powersave command
* @wmi_handle: wmi handle * @wmi_handle: wmi handle
* @value: value * @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 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/ */
QDF_STATUS wmi_unified_green_ap_ps_send(void *wmi_hdl, 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; wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->send_green_ap_ps_cmd) if (wmi_handle->ops->send_green_ap_ps_cmd)
return wmi_handle->ops->send_green_ap_ps_cmd(wmi_handle, value, return wmi_handle->ops->send_green_ap_ps_cmd(wmi_handle, value,
mac_id); pdev_id);
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
#else #else
QDF_STATUS wmi_unified_green_ap_ps_send(void *wmi_hdl, 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 * 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; 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_unified_egap_conf_params_cmd() - send wmi cmd of egap configuration params
* @wmi_handle: wmi handler * @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 * Return: 0 for success, otherwise appropriate error code
*/ */
QDF_STATUS wmi_unified_egap_conf_params_cmd(void *wmi_hdl, 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; 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; return QDF_STATUS_E_FAILURE;
} }
#endif #endif
/** /**

View File

@@ -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); WMI_PEER_UPDATE_WDS_ENTRY_CMDID);
} }
#ifdef WLAN_SUPPORT_GREEN_AP
/** /**
* send_green_ap_ps_cmd_non_tlv() - enable green ap powersave command * send_green_ap_ps_cmd_non_tlv() - enable green ap powersave command
* @wmi_handle: wmi handle * @wmi_handle: wmi handle
* @value: value * @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 * Return: 0 for success or error code
*/ */
static QDF_STATUS send_green_ap_ps_cmd_non_tlv(wmi_unified_t wmi_handle, 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_pdev_green_ap_ps_enable_cmd *cmd;
wmi_buf_t buf; 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 */ #endif /* OL_GREEN_AP_DEBUG_CONFIG_INTERACTIONS */
return ret; return ret;
} }
#endif
/** /**
* send_pdev_utf_cmd_non_tlv() - send utf command to fw * 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_vdev_up_cmd = send_vdev_up_cmd_non_tlv,
.send_peer_create_cmd = send_peer_create_cmd_non_tlv, .send_peer_create_cmd = send_peer_create_cmd_non_tlv,
.send_peer_delete_cmd = send_peer_delete_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, .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_utf_cmd = send_pdev_utf_cmd_non_tlv,
.send_pdev_param_cmd = send_pdev_param_cmd_non_tlv, .send_pdev_param_cmd = send_pdev_param_cmd_non_tlv,
.send_suspend_cmd = send_suspend_cmd_non_tlv, .send_suspend_cmd = send_suspend_cmd_non_tlv,

View File

@@ -39,6 +39,9 @@
#include "wlan_pmo_hw_filter_public_struct.h" #include "wlan_pmo_hw_filter_public_struct.h"
#endif #endif
#include <wlan_utility.h> #include <wlan_utility.h>
#ifdef WLAN_SUPPORT_GREEN_AP
#include "wlan_green_ap_api.h"
#endif
#ifdef WLAN_FEATURE_NAN_CONVERGENCE #ifdef WLAN_FEATURE_NAN_CONVERGENCE
#include "nan_public_structs.h" #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); WMI_PEER_UPDATE_WDS_ENTRY_CMDID);
} }
#ifdef WLAN_SUPPORT_GREEN_AP
/** /**
* send_green_ap_ps_cmd_tlv() - enable green ap powersave command * send_green_ap_ps_cmd_tlv() - enable green ap powersave command
* @wmi_handle: wmi handle * @wmi_handle: wmi handle
* @value: value * @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 * Return: QDF_STATUS_SUCCESS for success or error code
*/ */
static QDF_STATUS send_green_ap_ps_cmd_tlv(wmi_unified_t wmi_handle, 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_pdev_green_ap_ps_enable_cmd_fixed_param *cmd;
wmi_buf_t buf; 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_TAG_STRUC_wmi_pdev_green_ap_ps_enable_cmd_fixed_param,
WMITLV_GET_STRUCT_TLVLEN WMITLV_GET_STRUCT_TLVLEN
(wmi_pdev_green_ap_ps_enable_cmd_fixed_param)); (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; cmd->enable = value;
if (wmi_unified_cmd_send(wmi_handle, buf, len, 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; return 0;
} }
#endif
/** /**
* send_pdev_utf_cmd_tlv() - send utf command to fw * 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; return QDF_STATUS_SUCCESS;
} }
#ifdef WLAN_SUPPORT_GREEN_AP
/** /**
* send_egap_conf_params_cmd_tlv() - send wmi cmd of egap configuration params * send_egap_conf_params_cmd_tlv() - send wmi cmd of egap configuration params
* @wmi_handle: wmi handler * @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 * Return: 0 for success, otherwise appropriate error code
*/ */
static QDF_STATUS send_egap_conf_params_cmd_tlv(wmi_unified_t wmi_handle, 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_ap_ps_egap_param_cmd_fixed_param *cmd;
wmi_buf_t buf; 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( WMITLV_GET_STRUCT_TLVLEN(
wmi_ap_ps_egap_param_cmd_fixed_param)); wmi_ap_ps_egap_param_cmd_fixed_param));
cmd->enable = egap_params->enable; cmd->enable = egap_params->host_enable_egap;
cmd->inactivity_time = egap_params->inactivity_time; cmd->inactivity_time = egap_params->egap_inactivity_time;
cmd->wait_time = egap_params->wait_time; cmd->wait_time = egap_params->egap_wait_time;
cmd->flags = egap_params->flags; cmd->flags = egap_params->egap_feature_flags;
err = wmi_unified_cmd_send(wmi_handle, buf, err = wmi_unified_cmd_send(wmi_handle, buf,
sizeof(*cmd), WMI_AP_PS_EGAP_PARAM_CMDID); sizeof(*cmd), WMI_AP_PS_EGAP_PARAM_CMDID);
if (err) { if (err) {
@@ -8560,6 +8564,7 @@ static QDF_STATUS send_egap_conf_params_cmd_tlv(wmi_unified_t wmi_handle,
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
#endif
/** /**
* send_fw_profiling_cmd_tlv() - send FW profiling cmd to WLAN FW * 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_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_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_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_utf_cmd = send_pdev_utf_cmd_tlv,
.send_pdev_param_cmd = send_pdev_param_cmd_tlv, .send_pdev_param_cmd = send_pdev_param_cmd_tlv,
.send_suspend_cmd = send_suspend_cmd_tlv, .send_suspend_cmd = send_suspend_cmd_tlv,
@@ -20979,13 +20983,16 @@ struct wmi_ops tlv_ops = {
#ifdef CONFIG_MCL #ifdef CONFIG_MCL
.send_process_dhcp_ind_cmd = send_process_dhcp_ind_cmd_tlv, .send_process_dhcp_ind_cmd = send_process_dhcp_ind_cmd_tlv,
.send_get_link_speed_cmd = send_get_link_speed_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_bcn_buf_ll_cmd = send_bcn_buf_ll_cmd_tlv,
.send_roam_scan_offload_mode_cmd = .send_roam_scan_offload_mode_cmd =
send_roam_scan_offload_mode_cmd_tlv, send_roam_scan_offload_mode_cmd_tlv,
.send_pktlog_wmi_send_cmd = send_pktlog_wmi_send_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 =
send_roam_scan_offload_ap_profile_cmd_tlv, 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 #endif
.send_fw_profiling_cmd = send_fw_profiling_cmd_tlv, .send_fw_profiling_cmd = send_fw_profiling_cmd_tlv,
.send_csa_offload_enable_cmd = send_csa_offload_enable_cmd_tlv, .send_csa_offload_enable_cmd = send_csa_offload_enable_cmd_tlv,