1 /*
2  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 /*
18  * DOC: contains coex public structure definitions
19  */
20 
21 #ifndef _WLAN_COEX_PUBLIC_STRUCTS_H_
22 #define _WLAN_COEX_PUBLIC_STRUCTS_H_
23 
24 #ifdef WLAN_FEATURE_DBAM_CONFIG
25 #define WLAN_SET_DBAM_CONFIG_TIMEOUT 5000
26 
27 /**
28  * enum coex_dbam_config_mode - dbam config mode
29  * @COEX_DBAM_DISABLE: Disable DBAM
30  * @COEX_DBAM_ENABLE: ENABLE DBAM opportunistically when internal
31  *  conditions are met.
32  * @COEX_DBAM_FORCE_ENABLE: Enable DBAM forcefully
33  */
34 enum coex_dbam_config_mode {
35 	COEX_DBAM_DISABLE = 0,
36 	COEX_DBAM_ENABLE = 1,
37 	COEX_DBAM_FORCE_ENABLE = 2,
38 };
39 
40 /**
41  * enum coex_dbam_comp_status - dbam config response
42  * @COEX_DBAM_COMP_SUCCESS: FW enabled/disabled DBAM mode succssfully
43  * @COEX_DBAM_COMP_NOT_SUPPORT: DBAM mode is not supported
44  * @COEX_DBAM_COMP_FAIL: FW failed to enable/disable DBAM mode
45  */
46 enum coex_dbam_comp_status {
47 	COEX_DBAM_COMP_SUCCESS = 0,
48 	COEX_DBAM_COMP_NOT_SUPPORT = 1,
49 	COEX_DBAM_COMP_FAIL = 2,
50 };
51 
52 /**
53  * struct coex_dbam_config_params - Coex DBAM config command params
54  * @vdev_id: Virtual device identifier
55  * @dbam_mode: DBAM configuration mode - coex_dbam_config_mode enum
56  */
57 struct coex_dbam_config_params {
58 	uint32_t vdev_id;
59 	enum coex_dbam_config_mode dbam_mode;
60 };
61 
62 /**
63  * struct coex_dbam_config_resp - Coex DBAM config response
64  * @dbam_resp: DBAM config request response - coex_dbam_comp_status enum
65  */
66 struct coex_dbam_config_resp {
67 	enum coex_dbam_comp_status dbam_resp;
68 };
69 
70 #endif
71 #endif
72