xref: /wlan-dirver/qca-wifi-host-cmn/umac/regulatory/dispatcher/inc/wlan_reg_tgt_api.h (revision 503663c6daafffe652fa360bde17243568cd6d2a)
1 /*
2  * Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
3  *
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 /**
21  * DOC: wlan_reg_tgt_api.h
22  * This file provides prototypes of the regulatory component target
23  * interface routines
24  */
25 
26 #ifndef __WLAN_REG_TGT_API_H
27 #define __WLAN_REG_TGT_API_H
28 
29 QDF_STATUS tgt_reg_process_master_chan_list(struct cur_regulatory_info
30 					    *reg_info);
31 
32 /**
33  * tgt_reg_process_11d_new_country() - process new 11d country event
34  * @psoc: pointer to psoc
35  * @reg_11d_new_cc: new 11d country pointer
36  *
37  * Return: QDF_STATUS
38  */
39 QDF_STATUS tgt_reg_process_11d_new_country(struct wlan_objmgr_psoc *psoc,
40 		struct reg_11d_new_country *reg_11d_new_cc);
41 
42 /**
43  * tgt_reg_set_regdb_offloaded() - set/clear regulatory offloaded flag
44  *
45  * @psoc: psoc pointer
46  * Return: Success or Failure
47  */
48 QDF_STATUS tgt_reg_set_regdb_offloaded(struct wlan_objmgr_psoc *psoc,
49 		bool val);
50 
51 /**
52  * tgt_reg_set_11d_offloaded() - set/clear 11d offloaded flag
53  *
54  * @psoc: psoc pointer
55  * Return: Success or Failure
56  */
57 QDF_STATUS tgt_reg_set_11d_offloaded(struct wlan_objmgr_psoc *psoc,
58 		bool val);
59 /**
60  * tgt_reg_process_ch_avoid_event() - process new ch avoid event
61  * @psoc: pointer to psoc
62  * @ch_avoid_evnt: channel avoid event
63  *
64  * Return: QDF_STATUS
65  */
66 QDF_STATUS tgt_reg_process_ch_avoid_event(struct wlan_objmgr_psoc *psoc,
67 		struct ch_avoid_ind_type *ch_avoid_evnt);
68 
69 /**
70  * tgt_reg_ignore_fw_reg_offload_ind() - Check whether regdb offload indication
71  * from FW needs to be ignored.
72  * @psoc: Pointer to psoc
73  */
74 bool tgt_reg_ignore_fw_reg_offload_ind(struct wlan_objmgr_psoc *psoc);
75 
76 /**
77  * tgt_reg_set_6ghz_supported() - Whether 6ghz is supported by the chip
78  * @psoc: Pointer to psoc
79  * @val: value
80  */
81 QDF_STATUS tgt_reg_set_6ghz_supported(struct wlan_objmgr_psoc *psoc,
82 				      bool val);
83 
84 #endif
85