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