/* * Copyright (c) 2013-2019 The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the * above copyright notice and this permission notice appear in all * copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /** * DOC: Implement API's specific to concurrency component. */ #ifndef _WMI_UNIFIED_CONCURRENCY_API_H_ #define _WMI_UNIFIED_CONCURRENCY_API_H_ /** * wmi_unified_set_mcc_channel_time_quota_cmd() - set MCC channel time quota * @wmi_handle: wmi handle * @adapter_1_chan_freq: adapter 1 channel number * @adapter_1_quota: adapter 1 quota * @adapter_2_chan_freq: adapter 2 channel number * * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure */ QDF_STATUS wmi_unified_set_mcc_channel_time_quota_cmd( wmi_unified_t wmi_handle, uint32_t adapter_1_chan_freq, uint32_t adapter_1_quota, uint32_t adapter_2_chan_freq); #ifdef WLAN_FEATURE_MCC_QUOTA /** * wmi_extract_mcc_quota_ev_param() - extract mcc_quota param from wmi event * @wmi_handle: wmi handle * @evt_buf: pointer to event buffer * @param: Pointer to hold mcc_quota param * * Return: QDF_STATUS_SUCCESS on success or error code */ QDF_STATUS wmi_extract_mcc_quota_ev_param(wmi_unified_t wmi_handle, void *evt_buf, struct mcc_quota_info *param); #endif /** * wmi_unified_set_mcc_channel_time_latency_cmd() - set MCC channel time latency * @wmi_handle: wmi handle * @mcc_channel_freq: mcc channel freq * @mcc_channel_time_latency: MCC channel time latency. * * Currently used to set time latency for an MCC vdev/adapter using operating * channel of it and channel number. The info is provided run time using * iwpriv command: iwpriv setMccLatency . * * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure */ QDF_STATUS wmi_unified_set_mcc_channel_time_latency_cmd( wmi_unified_t wmi_handle, uint32_t mcc_channel_freq, uint32_t mcc_channel_time_latency); /** * wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd() - control mcc * scheduler * @wmi_handle: wmi handle * @mcc_adaptive_scheduler: enable/disable * @pdev_id: pdev id * * This function enable/disable mcc adaptive scheduler in fw. * * Return: QDF_STATUS_SUCCESS for success or error code */ QDF_STATUS wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd( wmi_unified_t wmi_handle, uint32_t mcc_adaptive_scheduler, uint32_t pdev_id); #endif /* _WMI_UNIFIED_CONCURRENCY_API_H_ */