1 /* 2 * Copyright (c) 2013-2019 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 /** 20 * DOC: Implement API's specific to concurrency component. 21 */ 22 23 #ifndef _WMI_UNIFIED_CONCURRENCY_API_H_ 24 #define _WMI_UNIFIED_CONCURRENCY_API_H_ 25 26 /** 27 * wmi_unified_set_mcc_channel_time_quota_cmd() - set MCC channel time quota 28 * @wmi_handle: wmi handle 29 * @adapter_1_chan_freq: adapter 1 channel number 30 * @adapter_1_quota: adapter 1 quota 31 * @adapter_2_chan_freq: adapter 2 channel number 32 * 33 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 34 */ 35 QDF_STATUS wmi_unified_set_mcc_channel_time_quota_cmd( 36 wmi_unified_t wmi_handle, 37 uint32_t adapter_1_chan_freq, 38 uint32_t adapter_1_quota, uint32_t adapter_2_chan_freq); 39 40 #ifdef WLAN_FEATURE_MCC_QUOTA 41 /** 42 * wmi_extract_mcc_quota_ev_param() - extract mcc_quota param from wmi event 43 * @wmi_handle: wmi handle 44 * @evt_buf: pointer to event buffer 45 * @param: Pointer to hold mcc_quota param 46 * 47 * Return: QDF_STATUS_SUCCESS on success or error code 48 */ 49 QDF_STATUS wmi_extract_mcc_quota_ev_param(wmi_unified_t wmi_handle, 50 void *evt_buf, 51 struct mcc_quota_info *param); 52 #endif 53 54 /** 55 * wmi_unified_set_mcc_channel_time_latency_cmd() - set MCC channel time latency 56 * @wmi_handle: wmi handle 57 * @mcc_channel_freq: mcc channel freq 58 * @mcc_channel_time_latency: MCC channel time latency. 59 * 60 * Currently used to set time latency for an MCC vdev/adapter using operating 61 * channel of it and channel number. The info is provided run time using 62 * iwpriv command: iwpriv <wlan0 | p2p0> setMccLatency <latency in ms>. 63 * 64 * Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure 65 */ 66 QDF_STATUS wmi_unified_set_mcc_channel_time_latency_cmd( 67 wmi_unified_t wmi_handle, 68 uint32_t mcc_channel_freq, uint32_t mcc_channel_time_latency); 69 70 /** 71 * wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd() - control mcc 72 * scheduler 73 * @wmi_handle: wmi handle 74 * @mcc_adaptive_scheduler: enable/disable 75 * @pdev_id: pdev id 76 * 77 * This function enable/disable mcc adaptive scheduler in fw. 78 * 79 * Return: QDF_STATUS_SUCCESS for success or error code 80 */ 81 QDF_STATUS wmi_unified_set_enable_disable_mcc_adaptive_scheduler_cmd( 82 wmi_unified_t wmi_handle, uint32_t mcc_adaptive_scheduler, 83 uint32_t pdev_id); 84 85 #endif /* _WMI_UNIFIED_CONCURRENCY_API_H_ */ 86