xref: /wlan-driver/qca-wifi-host-cmn/umac/dfs/core/src/dfs_channel.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2016-2018,2020-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2008 Atheros Communications, Inc.
4*5113495bSYour Name  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
5*5113495bSYour Name  *
6*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
7*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
8*5113495bSYour Name  * above copyright notice and this permission notice appear in all
9*5113495bSYour Name  * copies.
10*5113495bSYour Name  *
11*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
12*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
13*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
14*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
15*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
16*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
17*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
19*5113495bSYour Name  */
20*5113495bSYour Name 
21*5113495bSYour Name /**
22*5113495bSYour Name  * DOC: This file has channel related information.
23*5113495bSYour Name  */
24*5113495bSYour Name 
25*5113495bSYour Name #ifndef _DFS_CHANNEL_H_
26*5113495bSYour Name #define _DFS_CHANNEL_H_
27*5113495bSYour Name 
28*5113495bSYour Name /* Channel attributes */
29*5113495bSYour Name #ifdef WLAN_COMP_CHAN_MODE
30*5113495bSYour Name 
31*5113495bSYour Name #define WLAN_CHAN_20MHZ            0x0000000000000100
32*5113495bSYour Name 
33*5113495bSYour Name #define WLAN_CHAN_40PLUS           0x0000000000000200
34*5113495bSYour Name 
35*5113495bSYour Name #define WLAN_CHAN_40MINUS          0x0000000000000300
36*5113495bSYour Name 
37*5113495bSYour Name #define WLAN_CHAN_80MHZ            0x0000000000000400
38*5113495bSYour Name 
39*5113495bSYour Name #define WLAN_CHAN_160MHZ           0x0000000000000500
40*5113495bSYour Name 
41*5113495bSYour Name #define WLAN_CHAN_80_80MHZ         0x0000000000000600
42*5113495bSYour Name 
43*5113495bSYour Name #define WLAN_CHAN_320MHZ           0x0000000000000700
44*5113495bSYour Name 
45*5113495bSYour Name #define WLAN_CHAN_HTCAP            0x0000000000001000
46*5113495bSYour Name 
47*5113495bSYour Name #define WLAN_CHAN_VHTCAP           0x0000000000002000
48*5113495bSYour Name 
49*5113495bSYour Name #define WLAN_CHAN_HECAP            0x0000000000003000
50*5113495bSYour Name 
51*5113495bSYour Name #define WLAN_CHAN_EHTCAP           0x0000000000004000
52*5113495bSYour Name 
53*5113495bSYour Name /* 2 GHz spectrum channel. */
54*5113495bSYour Name #define WLAN_CHAN_2GHZ             0x0000000000000010
55*5113495bSYour Name 
56*5113495bSYour Name /* 5 GHz spectrum channel */
57*5113495bSYour Name #define WLAN_CHAN_5GHZ             0x0000000000000020
58*5113495bSYour Name 
59*5113495bSYour Name /* 6 GHz spectrum channel */
60*5113495bSYour Name #define WLAN_CHAN_6GHZ             0x0000000000000030
61*5113495bSYour Name 
62*5113495bSYour Name /* HT 20 channel */
63*5113495bSYour Name #define WLAN_CHAN_HT20             (WLAN_CHAN_HTCAP | WLAN_CHAN_20MHZ)
64*5113495bSYour Name 
65*5113495bSYour Name /* HT 40 with extension channel above */
66*5113495bSYour Name #define WLAN_CHAN_HT40PLUS         (WLAN_CHAN_HTCAP | WLAN_CHAN_40PLUS)
67*5113495bSYour Name 
68*5113495bSYour Name /* HT 40 with extension channel below */
69*5113495bSYour Name #define WLAN_CHAN_HT40MINUS        (WLAN_CHAN_HTCAP | WLAN_CHAN_40MINUS)
70*5113495bSYour Name 
71*5113495bSYour Name /* VHT 20 channel */
72*5113495bSYour Name #define WLAN_CHAN_VHT20            (WLAN_CHAN_VHTCAP | WLAN_CHAN_20MHZ)
73*5113495bSYour Name 
74*5113495bSYour Name /* VHT 40 with extension channel above */
75*5113495bSYour Name #define WLAN_CHAN_VHT40PLUS        (WLAN_CHAN_VHTCAP | WLAN_CHAN_40PLUS)
76*5113495bSYour Name 
77*5113495bSYour Name /* VHT 40 with extension channel below */
78*5113495bSYour Name #define WLAN_CHAN_VHT40MINUS       (WLAN_CHAN_VHTCAP | WLAN_CHAN_40MINUS)
79*5113495bSYour Name 
80*5113495bSYour Name /* VHT 80 channel */
81*5113495bSYour Name #define WLAN_CHAN_VHT80            (WLAN_CHAN_VHTCAP | WLAN_CHAN_80MHZ)
82*5113495bSYour Name 
83*5113495bSYour Name /* VHT 160 channel */
84*5113495bSYour Name #define WLAN_CHAN_VHT160           (WLAN_CHAN_VHTCAP | WLAN_CHAN_160MHZ)
85*5113495bSYour Name 
86*5113495bSYour Name /* VHT 80_80 channel */
87*5113495bSYour Name #define WLAN_CHAN_VHT80_80         (WLAN_CHAN_VHTCAP | WLAN_CHAN_80_80MHZ)
88*5113495bSYour Name 
89*5113495bSYour Name /* HE 20 channel */
90*5113495bSYour Name #define WLAN_CHAN_HE20             (WLAN_CHAN_HECAP | WLAN_CHAN_20MHZ)
91*5113495bSYour Name 
92*5113495bSYour Name /* HE 40 with extension channel above */
93*5113495bSYour Name #define WLAN_CHAN_HE40PLUS         (WLAN_CHAN_HECAP | WLAN_CHAN_40PLUS)
94*5113495bSYour Name 
95*5113495bSYour Name /* HE 40 with extension channel below */
96*5113495bSYour Name #define WLAN_CHAN_HE40MINUS        (WLAN_CHAN_HECAP | WLAN_CHAN_40MINUS)
97*5113495bSYour Name 
98*5113495bSYour Name /* HE 80 channel */
99*5113495bSYour Name #define WLAN_CHAN_HE80             (WLAN_CHAN_HECAP | WLAN_CHAN_80MHZ)
100*5113495bSYour Name 
101*5113495bSYour Name /* HE 160 channel */
102*5113495bSYour Name #define WLAN_CHAN_HE160            (WLAN_CHAN_HECAP | WLAN_CHAN_160MHZ)
103*5113495bSYour Name 
104*5113495bSYour Name /* HE 80_80 channel */
105*5113495bSYour Name #define WLAN_CHAN_HE80_80          (WLAN_CHAN_HECAP | WLAN_CHAN_80_80MHZ)
106*5113495bSYour Name 
107*5113495bSYour Name /* EHT 20 channel */
108*5113495bSYour Name #define WLAN_CHAN_EHT20            (WLAN_CHAN_EHTCAP | WLAN_CHAN_20MHZ)
109*5113495bSYour Name 
110*5113495bSYour Name /* EHT 40 with extension channel above */
111*5113495bSYour Name #define WLAN_CHAN_EHT40PLUS        (WLAN_CHAN_EHTCAP | WLAN_CHAN_40PLUS)
112*5113495bSYour Name 
113*5113495bSYour Name /* EHT 40 with extension channel below */
114*5113495bSYour Name #define WLAN_CHAN_EHT40MINUS       (WLAN_CHAN_EHTCAP | WLAN_CHAN_40MINUS)
115*5113495bSYour Name 
116*5113495bSYour Name /* EHT 80 channel */
117*5113495bSYour Name #define WLAN_CHAN_EHT80            (WLAN_CHAN_EHTCAP | WLAN_CHAN_80MHZ)
118*5113495bSYour Name 
119*5113495bSYour Name /* EHT 160 channel */
120*5113495bSYour Name #define WLAN_CHAN_EHT160           (WLAN_CHAN_EHTCAP | WLAN_CHAN_160MHZ)
121*5113495bSYour Name 
122*5113495bSYour Name /* EHT 320 channel */
123*5113495bSYour Name #define WLAN_CHAN_EHT320           (WLAN_CHAN_EHTCAP | WLAN_CHAN_320MHZ)
124*5113495bSYour Name 
125*5113495bSYour Name /* OFDM channel */
126*5113495bSYour Name #define WLAN_CHAN_OFDM             0x0000000000400000
127*5113495bSYour Name 
128*5113495bSYour Name /* Turbo Channel */
129*5113495bSYour Name #define WLAN_CHAN_TURBO            0x0000000020000000
130*5113495bSYour Name 
131*5113495bSYour Name /* Radar found on channel */
132*5113495bSYour Name #define WLAN_CHAN_DFS_RADAR        0x0000000002000000
133*5113495bSYour Name 
134*5113495bSYour Name #define WLAN_CHAN_BAND_MASK        0x00000000000000F0
135*5113495bSYour Name 
136*5113495bSYour Name #define WLAN_CHAN_BW_MASK          0x000000000000FF00
137*5113495bSYour Name 
138*5113495bSYour Name #define WLAN_IS_CHAN_2GHZ(_c)        WLAN_IS_FLAG_2GHZ((_c)->dfs_ch_flags)
139*5113495bSYour Name 
140*5113495bSYour Name #define WLAN_IS_CHAN_5GHZ(_c)        WLAN_IS_FLAG_5GHZ((_c)->dfs_ch_flags)
141*5113495bSYour Name 
142*5113495bSYour Name #define WLAN_IS_CHAN_6GHZ(_c)        WLAN_IS_FLAG_6GHZ((_c)->dfs_ch_flags)
143*5113495bSYour Name 
144*5113495bSYour Name #define WLAN_IS_CHAN_HT20(_c)        WLAN_IS_FLAG_HT20((_c)->dfs_ch_flags)
145*5113495bSYour Name 
146*5113495bSYour Name #define WLAN_IS_CHAN_HT40PLUS(_c)    WLAN_IS_FLAG_HT40PLUS((_c)->dfs_ch_flags)
147*5113495bSYour Name 
148*5113495bSYour Name #define WLAN_IS_CHAN_HT40MINUS(_c)   WLAN_IS_FLAG_HT40MINUS((_c)->dfs_ch_flags)
149*5113495bSYour Name 
150*5113495bSYour Name #define WLAN_IS_CHAN_HT40(_c)        WLAN_IS_FLAG_HT40((_c)->dfs_ch_flags)
151*5113495bSYour Name 
152*5113495bSYour Name #define WLAN_IS_CHAN_VHT20(_c)       WLAN_IS_FLAG_VHT20((_c)->dfs_ch_flags)
153*5113495bSYour Name 
154*5113495bSYour Name #define WLAN_IS_CHAN_VHT40PLUS(_c)   WLAN_IS_FLAG_VHT40PLUS((_c)->dfs_ch_flags)
155*5113495bSYour Name 
156*5113495bSYour Name #define WLAN_IS_CHAN_VHT40MINUS(_c)  WLAN_IS_FLAG_VHT40MINUS((_c)->dfs_ch_flags)
157*5113495bSYour Name 
158*5113495bSYour Name #define WLAN_IS_CHAN_VHT40(_c)       WLAN_IS_FLAG_VHT40((_c)->dfs_ch_flags)
159*5113495bSYour Name 
160*5113495bSYour Name #define WLAN_IS_CHAN_VHT80(_c)       WLAN_IS_FLAG_VHT80((_c)->dfs_ch_flags)
161*5113495bSYour Name 
162*5113495bSYour Name #define WLAN_IS_CHAN_VHT160(_c)      WLAN_IS_FLAG_VHT160((_c)->dfs_ch_flags)
163*5113495bSYour Name 
164*5113495bSYour Name #define WLAN_IS_CHAN_VHT80_80(_c)    WLAN_IS_FLAG_VHT80_80((_c)->dfs_ch_flags)
165*5113495bSYour Name 
166*5113495bSYour Name #define WLAN_IS_CHAN_VHT40(_c)       WLAN_IS_FLAG_VHT40((_c)->dfs_ch_flags)
167*5113495bSYour Name 
168*5113495bSYour Name #define WLAN_IS_CHAN_HE20(_c)        WLAN_IS_FLAG_HE20((_c)->dfs_ch_flags)
169*5113495bSYour Name 
170*5113495bSYour Name #define WLAN_IS_CHAN_HE40PLUS(_c)    WLAN_IS_FLAG_HE40PLUS((_c)->dfs_ch_flags)
171*5113495bSYour Name 
172*5113495bSYour Name #define WLAN_IS_CHAN_HE40MINUS(_c)   WLAN_IS_FLAG_HE40MINUS((_c)->dfs_ch_flags)
173*5113495bSYour Name 
174*5113495bSYour Name #define WLAN_IS_CHAN_HE40(_c)        WLAN_IS_FLAG_HE40((_c)->dfs_ch_flags)
175*5113495bSYour Name 
176*5113495bSYour Name #define WLAN_IS_CHAN_HE80(_c)        WLAN_IS_FLAG_HE80((_c)->dfs_ch_flags)
177*5113495bSYour Name 
178*5113495bSYour Name #define WLAN_IS_CHAN_HE160(_c)       WLAN_IS_FLAG_HE160((_c)->dfs_ch_flags)
179*5113495bSYour Name 
180*5113495bSYour Name #define WLAN_IS_CHAN_HE80_80(_c)     WLAN_IS_FLAG_HE80_80((_c)->dfs_ch_flags)
181*5113495bSYour Name 
182*5113495bSYour Name #define WLAN_IS_CHAN_EHT20(_c)       WLAN_IS_FLAG_EHT20((_c)->dfs_ch_flags)
183*5113495bSYour Name 
184*5113495bSYour Name #define WLAN_IS_CHAN_EHT40PLUS(_c)   WLAN_IS_FLAG_EHT40PLUS((_c)->dfs_ch_flags)
185*5113495bSYour Name 
186*5113495bSYour Name #define WLAN_IS_CHAN_EHT40MINUS(_c)  WLAN_IS_FLAG_EHT40MINUS((_c)->dfs_ch_flags)
187*5113495bSYour Name 
188*5113495bSYour Name #define WLAN_IS_CHAN_EHT40(_c)       WLAN_IS_FLAG_EHT40((_c)->dfs_ch_flags)
189*5113495bSYour Name 
190*5113495bSYour Name #define WLAN_IS_CHAN_EHT80(_c)       WLAN_IS_FLAG_EHT80((_c)->dfs_ch_flags)
191*5113495bSYour Name 
192*5113495bSYour Name #define WLAN_IS_CHAN_EHT160(_c)      WLAN_IS_FLAG_EHT160((_c)->dfs_ch_flags)
193*5113495bSYour Name 
194*5113495bSYour Name #define WLAN_IS_CHAN_EHT320(_c)      WLAN_IS_FLAG_EHT320((_c)->dfs_ch_flags)
195*5113495bSYour Name 
196*5113495bSYour Name #define WLAN_IS_CHAN_OFDM(_c)        WLAN_IS_FLAG_OFDM((_c)->dfs_ch_flags)
197*5113495bSYour Name 
198*5113495bSYour Name #define WLAN_IS_CHAN_TURBO(_c)       WLAN_IS_FLAG_TURBO((_c)->dfs_ch_flags)
199*5113495bSYour Name 
200*5113495bSYour Name #define WLAN_IS_FLAG_2GHZ(_flag) \
201*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BAND_MASK) == WLAN_CHAN_2GHZ)
202*5113495bSYour Name 
203*5113495bSYour Name #define WLAN_IS_FLAG_5GHZ(_flag) \
204*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BAND_MASK) == WLAN_CHAN_5GHZ)
205*5113495bSYour Name 
206*5113495bSYour Name #define WLAN_IS_FLAG_6GHZ(_flag) \
207*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BAND_MASK) == WLAN_CHAN_6GHZ)
208*5113495bSYour Name 
209*5113495bSYour Name #define WLAN_IS_FLAG_HT20(_flag) \
210*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HT20)
211*5113495bSYour Name 
212*5113495bSYour Name #define WLAN_IS_FLAG_HT40PLUS(_flag) \
213*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HT40PLUS)
214*5113495bSYour Name 
215*5113495bSYour Name #define WLAN_IS_FLAG_HT40MINUS(_flag) \
216*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HT40MINUS)
217*5113495bSYour Name 
218*5113495bSYour Name #define WLAN_IS_FLAG_VHT20(_flag) \
219*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_VHT20)
220*5113495bSYour Name 
221*5113495bSYour Name #define WLAN_IS_FLAG_VHT40PLUS(_flag) \
222*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_VHT40PLUS)
223*5113495bSYour Name 
224*5113495bSYour Name #define WLAN_IS_FLAG_VHT40MINUS(_flag) \
225*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_VHT40MINUS)
226*5113495bSYour Name 
227*5113495bSYour Name #define WLAN_IS_FLAG_VHT80(_flag) \
228*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_VHT80)
229*5113495bSYour Name 
230*5113495bSYour Name #define WLAN_IS_FLAG_VHT160(_flag) \
231*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_VHT160)
232*5113495bSYour Name 
233*5113495bSYour Name #define WLAN_IS_FLAG_VHT80_80(_flag) \
234*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_VHT80_80)
235*5113495bSYour Name 
236*5113495bSYour Name #define WLAN_IS_FLAG_HE20(_flag) \
237*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HE20)
238*5113495bSYour Name 
239*5113495bSYour Name #define WLAN_IS_FLAG_HE40PLUS(_flag) \
240*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HE40PLUS)
241*5113495bSYour Name 
242*5113495bSYour Name #define WLAN_IS_FLAG_HE40MINUS(_flag) \
243*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HE40MINUS)
244*5113495bSYour Name 
245*5113495bSYour Name #define WLAN_IS_FLAG_HE80(_flag) \
246*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HE80)
247*5113495bSYour Name 
248*5113495bSYour Name #define WLAN_IS_FLAG_HE160(_flag) \
249*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HE160)
250*5113495bSYour Name 
251*5113495bSYour Name #define WLAN_IS_FLAG_HE80_80(_flag) \
252*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_HE80_80)
253*5113495bSYour Name 
254*5113495bSYour Name #define WLAN_IS_FLAG_EHT20(_flag) \
255*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_EHT20)
256*5113495bSYour Name 
257*5113495bSYour Name #define WLAN_IS_FLAG_EHT40PLUS(_flag) \
258*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_EHT40PLUS)
259*5113495bSYour Name 
260*5113495bSYour Name #define WLAN_IS_FLAG_EHT40MINUS(_flag) \
261*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_EHT40MINUS)
262*5113495bSYour Name 
263*5113495bSYour Name #define WLAN_IS_FLAG_EHT40(_flag) \
264*5113495bSYour Name 	((WLAN_IS_FLAG_EHT40PLUS(flag)) || (WLAN_IS_FLAG_EHT40MINUS(flag)))
265*5113495bSYour Name 
266*5113495bSYour Name #define WLAN_IS_FLAG_EHT80(_flag) \
267*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_EHT80)
268*5113495bSYour Name 
269*5113495bSYour Name #define WLAN_IS_FLAG_EHT160(_flag) \
270*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_EHT160)
271*5113495bSYour Name 
272*5113495bSYour Name #define WLAN_IS_FLAG_EHT320(_flag) \
273*5113495bSYour Name 	(((_flag) & WLAN_CHAN_BW_MASK) == WLAN_CHAN_EHT320)
274*5113495bSYour Name 
275*5113495bSYour Name #define WLAN_IS_FLAG_OFDM(_flag) \
276*5113495bSYour Name 	((_flag) & WLAN_CHAN_OFDM)
277*5113495bSYour Name 
278*5113495bSYour Name #define WLAN_IS_FLAG_TURBO(_flag) \
279*5113495bSYour Name 	((_flag) & WLAN_CHAN_TURBO)
280*5113495bSYour Name 
281*5113495bSYour Name #define WLAN_IS_CHAN_11N_HT40(_c) \
282*5113495bSYour Name 	(WLAN_IS_CHAN_HT40PLUS(_c) || WLAN_IS_CHAN_HT40MINUS(_c))
283*5113495bSYour Name 
284*5113495bSYour Name #define WLAN_IS_CHAN_11N_HT40PLUS(_c) WLAN_IS_CHAN_HT40PLUS(_c)
285*5113495bSYour Name 
286*5113495bSYour Name #define WLAN_IS_CHAN_11N_HT40MINUS(_c) WLAN_IS_CHAN_HT40MINUS(_c)
287*5113495bSYour Name 
288*5113495bSYour Name #define WLAN_IS_CHAN_A(_c) \
289*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_OFDM(_c))
290*5113495bSYour Name 
291*5113495bSYour Name #define WLAN_IS_CHAN_11NA_HT20(_c) \
292*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HT20(_c))
293*5113495bSYour Name 
294*5113495bSYour Name #define WLAN_IS_CHAN_11NA_HT40PLUS(_c) \
295*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HT40PLUS(_c))
296*5113495bSYour Name 
297*5113495bSYour Name #define WLAN_IS_CHAN_11NA_HT40MINUS(_c) \
298*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HT40MINUS(_c))
299*5113495bSYour Name 
300*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT20(_c) \
301*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_VHT20(_c))
302*5113495bSYour Name 
303*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT40(_c) \
304*5113495bSYour Name 	(WLAN_IS_CHAN_11AC_VHT40MINUS(_c) || WLAN_IS_CHAN_11AC_VHT40PLUS(_c))
305*5113495bSYour Name 
306*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT40PLUS(_c) \
307*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_VHT40PLUS(_c))
308*5113495bSYour Name 
309*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT40MINUS(_c) \
310*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_VHT40MINUS(_c))
311*5113495bSYour Name 
312*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT80(_c) \
313*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_VHT80(_c))
314*5113495bSYour Name 
315*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT160(_c) \
316*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_VHT160(_c))
317*5113495bSYour Name 
318*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT80_80(_c) \
319*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_VHT80_80(_c))
320*5113495bSYour Name 
321*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE20_5G(_c) \
322*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HE20(_c))
323*5113495bSYour Name 
324*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40_5G(_c) \
325*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE40MINUS_5G(_c) ||  \
326*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE40PLUS_5G(_c))
327*5113495bSYour Name 
328*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40PLUS_5G(_c) \
329*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HE40PLUS(_c))
330*5113495bSYour Name 
331*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40MINUS_5G(_c) \
332*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HE40MINUS(_c))
333*5113495bSYour Name 
334*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE80_5G(_c) \
335*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HE80(_c))
336*5113495bSYour Name 
337*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE160_5G(_c) \
338*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HE160(_c))
339*5113495bSYour Name 
340*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE80_80_5G(_c) \
341*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_HE80_80(_c))
342*5113495bSYour Name 
343*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT20_5G(_c) \
344*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_EHT20(_c))
345*5113495bSYour Name 
346*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40PLUS_5G(_c) \
347*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_EHT40PLUS(_c))
348*5113495bSYour Name 
349*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40MINUS_5G(_c) \
350*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_EHT40MINUS(_c))
351*5113495bSYour Name 
352*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40_5G(_c) \
353*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT40MINUS_5G(_c) ||  \
354*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT40PLUS_5G(_c))
355*5113495bSYour Name 
356*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT80_5G(_c) \
357*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_EHT80(_c))
358*5113495bSYour Name 
359*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT160_5G(_c) \
360*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_EHT160(_c))
361*5113495bSYour Name 
362*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT320_5G(_c) \
363*5113495bSYour Name 	(WLAN_IS_CHAN_5GHZ(_c) && WLAN_IS_CHAN_EHT320(_c))
364*5113495bSYour Name 
365*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE20_6G(_c) \
366*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_HE20(_c))
367*5113495bSYour Name 
368*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40_6G(_c) \
369*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE40MINUS_6G(_c) || \
370*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE40PLUS_6G(_c))
371*5113495bSYour Name 
372*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40PLUS_6G(_c) \
373*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_HE40PLUS(_c))
374*5113495bSYour Name 
375*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40MINUS_6G(_c) \
376*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_HE40MINUS(_c))
377*5113495bSYour Name 
378*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE80_6G(_c) \
379*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_HE80(_c))
380*5113495bSYour Name 
381*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE160_6G(_c) \
382*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_HE160(_c))
383*5113495bSYour Name 
384*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE80_80_6G(_c) \
385*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_HE80_80(_c))
386*5113495bSYour Name 
387*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT20_6G(_c) \
388*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_EHT20(_c))
389*5113495bSYour Name 
390*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40PLUS_6G(_c) \
391*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_EHT40PLUS(_c))
392*5113495bSYour Name 
393*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40MINUS_6G(_c) \
394*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_EHT40MINUS(_c))
395*5113495bSYour Name 
396*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40_6G(_c) \
397*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT40MINUS_6G(_c) ||  \
398*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT40PLUS_6G(_c))
399*5113495bSYour Name 
400*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT80_6G(_c) \
401*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_EHT80(_c))
402*5113495bSYour Name 
403*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT160_6G(_c) \
404*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_EHT160(_c))
405*5113495bSYour Name 
406*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT320_6G(_c) \
407*5113495bSYour Name 	(WLAN_IS_CHAN_6GHZ(_c) && WLAN_IS_CHAN_EHT320(_c))
408*5113495bSYour Name 
409*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE20(_c) \
410*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE20_5G(_c) || WLAN_IS_CHAN_11AXA_HE20_6G(_c))
411*5113495bSYour Name 
412*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40PLUS(_c) \
413*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE40PLUS_5G(_c) || \
414*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE40PLUS_6G(_c))
415*5113495bSYour Name 
416*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40MINUS(_c) \
417*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE40MINUS_5G(_c) || \
418*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE40MINUS_6G(_c))
419*5113495bSYour Name 
420*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE80(_c) \
421*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE80_5G(_c) || WLAN_IS_CHAN_11AXA_HE80_6G(_c))
422*5113495bSYour Name 
423*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE160(_c) \
424*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE160_5G(_c) || WLAN_IS_CHAN_11AXA_HE160_6G(_c))
425*5113495bSYour Name 
426*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE80_80(_c) \
427*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE80_80_5G(_c) || WLAN_IS_CHAN_11AXA_HE80_80_6G(_c))
428*5113495bSYour Name 
429*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT20(_c) \
430*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT20_5G(_c) || WLAN_IS_CHAN_11BE_EHT20_6G(_c))
431*5113495bSYour Name 
432*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40PLUS(_c) \
433*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT40PLUS_5G(_c) || \
434*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT40PLUS_6G(_c))
435*5113495bSYour Name 
436*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40MINUS(_c) \
437*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT40MINUS_5G(_c) || \
438*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT40MINUS_6G(_c))
439*5113495bSYour Name 
440*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40(_c) \
441*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT40PLUS(_c) || WLAN_IS_CHAN_11BE_EHT40MINUS(_c))
442*5113495bSYour Name 
443*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT80(_c) \
444*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT80_5G(_c) || WLAN_IS_CHAN_11BE_EHT80_6G(_c))
445*5113495bSYour Name 
446*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT160(_c) \
447*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT160_5G(_c) || WLAN_IS_CHAN_11BE_EHT160_6G(_c))
448*5113495bSYour Name 
449*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT320(_c) \
450*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT320_5G(_c) || WLAN_IS_CHAN_11BE_EHT320_6G(_c))
451*5113495bSYour Name #else
452*5113495bSYour Name 
453*5113495bSYour Name /* OFDM channel */
454*5113495bSYour Name #define WLAN_CHAN_OFDM             0x0000000000000040
455*5113495bSYour Name 
456*5113495bSYour Name /* 2 GHz spectrum channel. */
457*5113495bSYour Name #define WLAN_CHAN_2GHZ             0x0000000000000080
458*5113495bSYour Name 
459*5113495bSYour Name /* 5 GHz spectrum channel */
460*5113495bSYour Name #define WLAN_CHAN_5GHZ             0x0000000000000100
461*5113495bSYour Name 
462*5113495bSYour Name /* 6 GHz spectrum channel */
463*5113495bSYour Name #define WLAN_CHAN_6GHZ             0x0000001000000000
464*5113495bSYour Name 
465*5113495bSYour Name /* Radar found on channel */
466*5113495bSYour Name #define WLAN_CHAN_DFS_RADAR        0x0000000000001000
467*5113495bSYour Name 
468*5113495bSYour Name /* HT 20 channel */
469*5113495bSYour Name #define WLAN_CHAN_HT20             0x0000000000010000
470*5113495bSYour Name 
471*5113495bSYour Name /* HT 40 with extension channel above */
472*5113495bSYour Name #define WLAN_CHAN_HT40PLUS         0x0000000000020000
473*5113495bSYour Name 
474*5113495bSYour Name /* HT 40 with extension channel below */
475*5113495bSYour Name #define WLAN_CHAN_HT40MINUS        0x0000000000040000
476*5113495bSYour Name 
477*5113495bSYour Name /* VHT 20 channel */
478*5113495bSYour Name #define WLAN_CHAN_VHT20            0x0000000000100000
479*5113495bSYour Name 
480*5113495bSYour Name /* VHT 40 with extension channel above */
481*5113495bSYour Name #define WLAN_CHAN_VHT40PLUS        0x0000000000200000
482*5113495bSYour Name 
483*5113495bSYour Name /* VHT 40 with extension channel below */
484*5113495bSYour Name #define WLAN_CHAN_VHT40MINUS       0x0000000000400000
485*5113495bSYour Name 
486*5113495bSYour Name /* VHT 80 channel */
487*5113495bSYour Name #define WLAN_CHAN_VHT80            0x0000000000800000
488*5113495bSYour Name 
489*5113495bSYour Name /* VHT 160 channel */
490*5113495bSYour Name #define WLAN_CHAN_VHT160           0x0000000004000000
491*5113495bSYour Name 
492*5113495bSYour Name /* VHT 80_80 channel */
493*5113495bSYour Name #define WLAN_CHAN_VHT80_80         0x0000000008000000
494*5113495bSYour Name 
495*5113495bSYour Name /* HE 20 channel */
496*5113495bSYour Name #define WLAN_CHAN_HE20             0x0000000010000000
497*5113495bSYour Name 
498*5113495bSYour Name /* HE 40 with extension channel above */
499*5113495bSYour Name #define WLAN_CHAN_HE40PLUS         0x0000000020000000
500*5113495bSYour Name 
501*5113495bSYour Name /* HE 40 with extension channel below */
502*5113495bSYour Name #define WLAN_CHAN_HE40MINUS        0x0000000040000000
503*5113495bSYour Name 
504*5113495bSYour Name /* HE 80 channel */
505*5113495bSYour Name #define WLAN_CHAN_HE80             0x0000000200000000
506*5113495bSYour Name 
507*5113495bSYour Name /* HE 160 channel */
508*5113495bSYour Name #define WLAN_CHAN_HE160            0x0000000400000000
509*5113495bSYour Name 
510*5113495bSYour Name /* HE 80_80 channel */
511*5113495bSYour Name #define WLAN_CHAN_HE80_80          0x0000000800000000
512*5113495bSYour Name 
513*5113495bSYour Name /* EHT 20 channel */
514*5113495bSYour Name #define WLAN_CHAN_EHT20            0x0000001000000000
515*5113495bSYour Name 
516*5113495bSYour Name /* EHT 40 with extension channel above */
517*5113495bSYour Name #define WLAN_CHAN_EHT40PLUS        0x0000002000000000
518*5113495bSYour Name 
519*5113495bSYour Name /* EHT 40 with extension channel below */
520*5113495bSYour Name #define WLAN_CHAN_EHT40MINUS       0x0000004000000000
521*5113495bSYour Name 
522*5113495bSYour Name /* EHT 80 channel */
523*5113495bSYour Name #define WLAN_CHAN_EHT80            0x0000008000000000
524*5113495bSYour Name 
525*5113495bSYour Name /* HE 160 channel */
526*5113495bSYour Name #define WLAN_CHAN_EHT160           0x0000010000000000
527*5113495bSYour Name 
528*5113495bSYour Name /* HE 320 channel */
529*5113495bSYour Name #define WLAN_CHAN_EHT320           0x0000020000000000
530*5113495bSYour Name 
531*5113495bSYour Name /* Turbo Channel */
532*5113495bSYour Name #define WLAN_CHAN_TURBO            0x0000000000000010
533*5113495bSYour Name 
534*5113495bSYour Name #define WLAN_IS_CHAN_2GHZ(_c) \
535*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_2GHZ) != 0)
536*5113495bSYour Name 
537*5113495bSYour Name #define WLAN_IS_CHAN_5GHZ(_c) \
538*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_5GHZ) != 0)
539*5113495bSYour Name 
540*5113495bSYour Name #define WLAN_IS_CHAN_11N_HT40(_c) \
541*5113495bSYour Name 	(((_c)->dfs_ch_flags & (WLAN_CHAN_HT40PLUS | \
542*5113495bSYour Name 					WLAN_CHAN_HT40MINUS)) != 0)
543*5113495bSYour Name 
544*5113495bSYour Name #define WLAN_IS_CHAN_11N_HT40PLUS(_c) \
545*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_HT40PLUS) != 0)
546*5113495bSYour Name 
547*5113495bSYour Name #define WLAN_IS_CHAN_11N_HT40MINUS(_c) \
548*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_HT40MINUS) != 0)
549*5113495bSYour Name 
550*5113495bSYour Name #define WLAN_IS_CHAN_VHT40PLUS(_c) \
551*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_VHT40PLUS) != 0)
552*5113495bSYour Name 
553*5113495bSYour Name #define WLAN_IS_CHAN_VHT40MINUS(_c) \
554*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_VHT40MINUS) != 0)
555*5113495bSYour Name 
556*5113495bSYour Name #define WLAN_CHAN_A \
557*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_OFDM)
558*5113495bSYour Name 
559*5113495bSYour Name #define WLAN_IS_CHAN_A(_c) \
560*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_A) == WLAN_CHAN_A)
561*5113495bSYour Name 
562*5113495bSYour Name #define WLAN_CHAN_11NA_HT20 \
563*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HT20)
564*5113495bSYour Name 
565*5113495bSYour Name #define WLAN_CHAN_11NA_HT40PLUS \
566*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HT40PLUS)
567*5113495bSYour Name 
568*5113495bSYour Name #define WLAN_CHAN_11NA_HT40MINUS \
569*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HT40MINUS)
570*5113495bSYour Name 
571*5113495bSYour Name #define WLAN_IS_CHAN_11NA_HT20(_c) \
572*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11NA_HT20) == \
573*5113495bSYour Name 	 WLAN_CHAN_11NA_HT20)
574*5113495bSYour Name 
575*5113495bSYour Name #define WLAN_IS_CHAN_11NA_HT40PLUS(_c) \
576*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11NA_HT40PLUS) == \
577*5113495bSYour Name 	WLAN_CHAN_11NA_HT40PLUS)
578*5113495bSYour Name 
579*5113495bSYour Name #define WLAN_IS_CHAN_11NA_HT40MINUS(_c) \
580*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11NA_HT40MINUS) == \
581*5113495bSYour Name 	 WLAN_CHAN_11NA_HT40MINUS)
582*5113495bSYour Name 
583*5113495bSYour Name #define WLAN_CHAN_11AC_VHT20 \
584*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_VHT20)
585*5113495bSYour Name 
586*5113495bSYour Name #define WLAN_CHAN_11AC_VHT40PLUS \
587*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_VHT40PLUS)
588*5113495bSYour Name 
589*5113495bSYour Name #define WLAN_CHAN_11AC_VHT40MINUS \
590*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_VHT40MINUS)
591*5113495bSYour Name 
592*5113495bSYour Name #define WLAN_CHAN_11AC_VHT80 \
593*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_VHT80)
594*5113495bSYour Name 
595*5113495bSYour Name #define WLAN_CHAN_11AC_VHT160 \
596*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_VHT160)
597*5113495bSYour Name 
598*5113495bSYour Name #define WLAN_CHAN_11AC_VHT80_80 \
599*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_VHT80_80)
600*5113495bSYour Name 
601*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT20(_c) \
602*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11AC_VHT20) == \
603*5113495bSYour Name 	 WLAN_CHAN_11AC_VHT20)
604*5113495bSYour Name 
605*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT40(_c) \
606*5113495bSYour Name 	(((_c)->dfs_ch_flags & (WLAN_CHAN_VHT40PLUS | \
607*5113495bSYour Name 			    WLAN_CHAN_VHT40MINUS)) != 0)
608*5113495bSYour Name 
609*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT40PLUS(_c) \
610*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11AC_VHT40PLUS) == \
611*5113495bSYour Name 	WLAN_CHAN_11AC_VHT40PLUS)
612*5113495bSYour Name 
613*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT40MINUS(_c) \
614*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11AC_VHT40MINUS) == \
615*5113495bSYour Name 	WLAN_CHAN_11AC_VHT40MINUS)
616*5113495bSYour Name 
617*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT80(_c) \
618*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11AC_VHT80) == \
619*5113495bSYour Name 	 WLAN_CHAN_11AC_VHT80)
620*5113495bSYour Name 
621*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT160(_c) \
622*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11AC_VHT160) == \
623*5113495bSYour Name 	 WLAN_CHAN_11AC_VHT160)
624*5113495bSYour Name 
625*5113495bSYour Name #define WLAN_IS_CHAN_11AC_VHT80_80(_c) \
626*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_11AC_VHT80_80) == \
627*5113495bSYour Name 	WLAN_CHAN_11AC_VHT80_80)
628*5113495bSYour Name 
629*5113495bSYour Name #define WLAN_CHAN_11AXA_HE20 \
630*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HE20)
631*5113495bSYour Name 
632*5113495bSYour Name #define WLAN_CHAN_11AXA_HE20_6G \
633*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_HE20)
634*5113495bSYour Name 
635*5113495bSYour Name #define WLAN_CHAN_11AXA_HE40PLUS \
636*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HE40PLUS)
637*5113495bSYour Name 
638*5113495bSYour Name #define WLAN_CHAN_11AXA_HE40PLUS_6G \
639*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_HE40PLUS)
640*5113495bSYour Name 
641*5113495bSYour Name #define WLAN_CHAN_11AXA_HE40MINUS \
642*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HE40MINUS)
643*5113495bSYour Name 
644*5113495bSYour Name #define WLAN_CHAN_11AXA_HE40MINUS_6G \
645*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_HE40MINUS)
646*5113495bSYour Name 
647*5113495bSYour Name #define WLAN_CHAN_11AXA_HE80 \
648*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HE80)
649*5113495bSYour Name 
650*5113495bSYour Name #define WLAN_CHAN_11AXA_HE80_6G \
651*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_HE80)
652*5113495bSYour Name 
653*5113495bSYour Name #define WLAN_CHAN_11AXA_HE160 \
654*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HE160)
655*5113495bSYour Name 
656*5113495bSYour Name #define WLAN_CHAN_11AXA_HE160_6G \
657*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_HE160)
658*5113495bSYour Name 
659*5113495bSYour Name #define WLAN_CHAN_11AXA_HE80_80 \
660*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_HE80_80)
661*5113495bSYour Name 
662*5113495bSYour Name #define WLAN_CHAN_11AXA_HE80_80_6G \
663*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_HE80_80)
664*5113495bSYour Name 
665*5113495bSYour Name #define WLAN_CHAN_11BE_EHT20 \
666*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_EHT20)
667*5113495bSYour Name 
668*5113495bSYour Name #define WLAN_CHAN_11BE_EHT20_6G \
669*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_EHT20)
670*5113495bSYour Name 
671*5113495bSYour Name #define WLAN_CHAN_11BE_EHT40PLUS \
672*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_EHT40PLUS)
673*5113495bSYour Name 
674*5113495bSYour Name #define WLAN_CHAN_11BE_EHT40PLUS_6G \
675*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_EHT40PLUS)
676*5113495bSYour Name 
677*5113495bSYour Name #define WLAN_CHAN_11BE_EHT40MINUS \
678*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_EHT40MINUS)
679*5113495bSYour Name 
680*5113495bSYour Name #define WLAN_CHAN_11BE_EHT40MINUS_6G \
681*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_EHT40MINUS)
682*5113495bSYour Name 
683*5113495bSYour Name #define WLAN_CHAN_11BE_EHT80 \
684*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_EHT80)
685*5113495bSYour Name 
686*5113495bSYour Name #define WLAN_CHAN_11BE_EHT80_6G \
687*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_EHT80)
688*5113495bSYour Name 
689*5113495bSYour Name #define WLAN_CHAN_11BE_EHT160 \
690*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_EHT160)
691*5113495bSYour Name 
692*5113495bSYour Name #define WLAN_CHAN_11BE_EHT160_6G \
693*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_EHT160)
694*5113495bSYour Name 
695*5113495bSYour Name #define WLAN_CHAN_11BE_EHT320 \
696*5113495bSYour Name 	(WLAN_CHAN_5GHZ | WLAN_CHAN_EHT320)
697*5113495bSYour Name 
698*5113495bSYour Name #define WLAN_CHAN_11BE_EHT320_6G \
699*5113495bSYour Name 	(WLAN_CHAN_6GHZ | WLAN_CHAN_EHT320)
700*5113495bSYour Name 
701*5113495bSYour Name #define WLAN_CHAN_108G \
702*5113495bSYour Name 	(WLAN_CHAN_2GHZ | WLAN_CHAN_OFDM | WLAN_CHAN_TURBO)
703*5113495bSYour Name 
704*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE20(_c) \
705*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE20) == \
706*5113495bSYour Name 	 WLAN_CHAN_11AXA_HE20) || \
707*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE20_6G) == \
708*5113495bSYour Name 	 WLAN_CHAN_11AXA_HE20_6G))
709*5113495bSYour Name 
710*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40PLUS(_c) \
711*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE40PLUS) == \
712*5113495bSYour Name 	 WLAN_CHAN_11AXA_HE40PLUS) || \
713*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE40PLUS_6G) == \
714*5113495bSYour Name 	  WLAN_CHAN_11AXA_HE40PLUS_6G))
715*5113495bSYour Name 
716*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE40MINUS(_c) \
717*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE40MINUS) == \
718*5113495bSYour Name 	 WLAN_CHAN_11AXA_HE40MINUS) || \
719*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE40MINUS_6G) == \
720*5113495bSYour Name 	 WLAN_CHAN_11AXA_HE40MINUS_6G))
721*5113495bSYour Name 
722*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE80(_c) \
723*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE80) == \
724*5113495bSYour Name 	 WLAN_CHAN_11AXA_HE80) || \
725*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE80_6G) == \
726*5113495bSYour Name 	  WLAN_CHAN_11AXA_HE80_6G))
727*5113495bSYour Name 
728*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE160(_c) \
729*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE160) == \
730*5113495bSYour Name 	 WLAN_CHAN_11AXA_HE160) || \
731*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE160_6G) == \
732*5113495bSYour Name 	  WLAN_CHAN_11AXA_HE160_6G))
733*5113495bSYour Name 
734*5113495bSYour Name #define WLAN_IS_CHAN_11AXA_HE80_80(_c) \
735*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE80_80) == \
736*5113495bSYour Name 	 WLAN_CHAN_11AXA_HE80_80) || \
737*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11AXA_HE80_80_6G) == \
738*5113495bSYour Name 	  WLAN_CHAN_11AXA_HE80_80_6G))
739*5113495bSYour Name 
740*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT20(_c) \
741*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT20) == \
742*5113495bSYour Name 	 WLAN_CHAN_11BE_EHT20) || \
743*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT20_6G) == \
744*5113495bSYour Name 	 WLAN_CHAN_11BE_EHT20_6G))
745*5113495bSYour Name 
746*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40PLUS(_c) \
747*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT40PLUS) == \
748*5113495bSYour Name 	 WLAN_CHAN_11BE_EHT40PLUS) || \
749*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT40PLUS_6G) == \
750*5113495bSYour Name 	  WLAN_CHAN_11BE_EHT40PLUS_6G))
751*5113495bSYour Name 
752*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT40MINUS(_c) \
753*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT40MINUS) == \
754*5113495bSYour Name 	 WLAN_CHAN_11BE_EHT40MINUS) || \
755*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT40MINUS_6G) == \
756*5113495bSYour Name 	 WLAN_CHAN_11BE_EHT40MINUS_6G))
757*5113495bSYour Name 
758*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT80(_c) \
759*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT80) == \
760*5113495bSYour Name 	 WLAN_CHAN_11BE_EHT80) || \
761*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT80_6G) == \
762*5113495bSYour Name 	  WLAN_CHAN_11BE_EHT80_6G))
763*5113495bSYour Name 
764*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT160(_c) \
765*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT160) == \
766*5113495bSYour Name 	 WLAN_CHAN_11BE_EHT160) || \
767*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT160_6G) == \
768*5113495bSYour Name 	  WLAN_CHAN_11BE_EHT160_6G))
769*5113495bSYour Name 
770*5113495bSYour Name #define WLAN_IS_CHAN_11BE_EHT320(_c) \
771*5113495bSYour Name 	((((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT320) == \
772*5113495bSYour Name 	 WLAN_CHAN_11BE_EHT320) || \
773*5113495bSYour Name 	 (((_c)->dfs_ch_flags & WLAN_CHAN_11BE_EHT320_6G) == \
774*5113495bSYour Name 	  WLAN_CHAN_11BE_EHT320_6G))
775*5113495bSYour Name 
776*5113495bSYour Name #define WLAN_IS_CHAN_TURBO(_c) \
777*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_TURBO) != 0)
778*5113495bSYour Name 
779*5113495bSYour Name #endif /* WLAN_COMP_CHAN_MODE */
780*5113495bSYour Name 
781*5113495bSYour Name #define WLAN_CHAN_108G \
782*5113495bSYour Name 	(WLAN_CHAN_2GHZ | WLAN_CHAN_OFDM | WLAN_CHAN_TURBO)
783*5113495bSYour Name 
784*5113495bSYour Name #define WLAN_IS_CHAN_108G(_c) \
785*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_108G) == WLAN_CHAN_108G)
786*5113495bSYour Name 
787*5113495bSYour Name /* flagext */
788*5113495bSYour Name #define WLAN_CHAN_DFS_RADAR_FOUND    0x01
789*5113495bSYour Name 
790*5113495bSYour Name /* DFS required on channel */
791*5113495bSYour Name #define WLAN_CHAN_DFS              0x0002
792*5113495bSYour Name 
793*5113495bSYour Name /* DFS required on channel for 2nd band of 80+80*/
794*5113495bSYour Name #define WLAN_CHAN_DFS_CFREQ2       0x0004
795*5113495bSYour Name 
796*5113495bSYour Name /* if channel has been checked for DFS */
797*5113495bSYour Name #define WLAN_CHAN_DFS_CLEAR        0x0008
798*5113495bSYour Name 
799*5113495bSYour Name /* DFS radar history for client device(STA mode) */
800*5113495bSYour Name #define WLAN_CHAN_HISTORY_RADAR    0x0100
801*5113495bSYour Name 
802*5113495bSYour Name /* DFS CAC valid for  client device(STA mode) */
803*5113495bSYour Name #define WLAN_CHAN_CAC_VALID        0x0200
804*5113495bSYour Name 
805*5113495bSYour Name #define WLAN_IS_CHAN_DFS(_c) \
806*5113495bSYour Name 	(((_c)->dfs_ch_flagext & \
807*5113495bSYour Name 	(WLAN_CHAN_DFS | WLAN_CHAN_DFS_CLEAR)) == WLAN_CHAN_DFS)
808*5113495bSYour Name 
809*5113495bSYour Name #define WLAN_IS_CHAN_DFS_CFREQ2(_c) \
810*5113495bSYour Name 	(((_c)->dfs_ch_flagext & \
811*5113495bSYour Name 	(WLAN_CHAN_DFS_CFREQ2|WLAN_CHAN_DFS_CLEAR)) == \
812*5113495bSYour Name 	WLAN_CHAN_DFS_CFREQ2)
813*5113495bSYour Name 
814*5113495bSYour Name #define WLAN_IS_PRIMARY_OR_SECONDARY_CHAN_DFS(_c) \
815*5113495bSYour Name 	(WLAN_IS_CHAN_DFS(_c) || \
816*5113495bSYour Name 	 ((WLAN_IS_CHAN_11AC_VHT160(_c) || \
817*5113495bSYour Name 	 WLAN_IS_CHAN_11AC_VHT80_80(_c) || \
818*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE160(_c) || \
819*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE80_80(_c) || \
820*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT160(_c) || \
821*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT320(_c)) \
822*5113495bSYour Name 	&& WLAN_IS_CHAN_DFS_CFREQ2(_c)))
823*5113495bSYour Name 
824*5113495bSYour Name #ifdef CONFIG_HOST_FIND_CHAN
825*5113495bSYour Name #define WLAN_IS_CHAN_RADAR wlan_is_chan_radar
826*5113495bSYour Name #define WLAN_IS_CHAN_HISTORY_RADAR wlan_is_chan_history_radar
827*5113495bSYour Name #else
828*5113495bSYour Name #define WLAN_IS_CHAN_RADAR(_dfs, _c)    \
829*5113495bSYour Name 	(((_c)->dfs_ch_flags & WLAN_CHAN_DFS_RADAR) == \
830*5113495bSYour Name 	 WLAN_CHAN_DFS_RADAR)
831*5113495bSYour Name 
832*5113495bSYour Name #define WLAN_IS_CHAN_HISTORY_RADAR(_dfs, _c)    \
833*5113495bSYour Name 	(((_c)->dfs_ch_flagext & WLAN_CHAN_HISTORY_RADAR) == \
834*5113495bSYour Name 	WLAN_CHAN_HISTORY_RADAR)
835*5113495bSYour Name 
836*5113495bSYour Name #endif
837*5113495bSYour Name 
838*5113495bSYour Name #define WLAN_CHAN_CLR_HISTORY_RADAR(_c)    \
839*5113495bSYour Name 	((_c)->dfs_ch_flagext &= ~WLAN_CHAN_HISTORY_RADAR)
840*5113495bSYour Name 
841*5113495bSYour Name #define WLAN_CHAN_ANY      (-1)    /* token for ``any channel'' */
842*5113495bSYour Name 
843*5113495bSYour Name #define WLAN_CHAN_ANYC \
844*5113495bSYour Name 	((struct dfs_channel *) WLAN_CHAN_ANY)
845*5113495bSYour Name 
846*5113495bSYour Name #define WLAN_IS_CHAN_MODE_20(_c)      \
847*5113495bSYour Name 	(WLAN_IS_CHAN_A(_c)        ||    \
848*5113495bSYour Name 	 WLAN_IS_CHAN_11NA_HT20(_c)  ||  \
849*5113495bSYour Name 	 WLAN_IS_CHAN_11AC_VHT20(_c) ||  \
850*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE20(_c) ||  \
851*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT20(_c))
852*5113495bSYour Name 
853*5113495bSYour Name #define WLAN_IS_CHAN_MODE_40(_c)          \
854*5113495bSYour Name 	(WLAN_IS_CHAN_11AC_VHT40PLUS(_c)  || \
855*5113495bSYour Name 	 WLAN_IS_CHAN_11AC_VHT40MINUS(_c) || \
856*5113495bSYour Name 	 WLAN_IS_CHAN_11NA_HT40PLUS(_c)   || \
857*5113495bSYour Name 	 WLAN_IS_CHAN_11NA_HT40MINUS(_c)  || \
858*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE40PLUS(_c)  || \
859*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE40MINUS(_c) || \
860*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT40PLUS(_c)  || \
861*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT40MINUS(_c))
862*5113495bSYour Name 
863*5113495bSYour Name #define WLAN_IS_CHAN_MODE_80(_c)          \
864*5113495bSYour Name 	(WLAN_IS_CHAN_11AC_VHT80(_c)      || \
865*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE80(_c)      || \
866*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT80(_c))
867*5113495bSYour Name 
868*5113495bSYour Name #define WLAN_IS_CHAN_MODE_160(_c)         \
869*5113495bSYour Name 	(WLAN_IS_CHAN_11AC_VHT160(_c)     || \
870*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE160(_c)     || \
871*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT160(_c))
872*5113495bSYour Name 
873*5113495bSYour Name #define WLAN_IS_CHAN_MODE_80_80(_c)       \
874*5113495bSYour Name 	(WLAN_IS_CHAN_11AC_VHT80_80(_c)   || \
875*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE80_80(_c))
876*5113495bSYour Name 
877*5113495bSYour Name #define WLAN_IS_CHAN_MODE_165(_dfs, _c) \
878*5113495bSYour Name 	(dfs_is_restricted_80p80mhz_supported(_dfs) && \
879*5113495bSYour Name 	WLAN_IS_CHAN_MODE_80_80(_c))
880*5113495bSYour Name 
881*5113495bSYour Name #define WLAN_IS_CHAN_MODE_320(_c) WLAN_IS_CHAN_11BE_EHT320(_c)
882*5113495bSYour Name 
883*5113495bSYour Name #define WLAN_IS_CHAN_11BE(_c)             \
884*5113495bSYour Name 	(WLAN_IS_CHAN_11BE_EHT20(_c)      || \
885*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT40PLUS(_c)  || \
886*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT40MINUS(_c) || \
887*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT80(_c)      || \
888*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT160(_c)     || \
889*5113495bSYour Name 	 WLAN_IS_CHAN_11BE_EHT320(_c))
890*5113495bSYour Name 
891*5113495bSYour Name #define WLAN_IS_CHAN_11AXA(_c)            \
892*5113495bSYour Name 	(WLAN_IS_CHAN_11AXA_HE20(_c)      || \
893*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE40PLUS(_c)  || \
894*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE40MINUS(_c) || \
895*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE80(_c)      || \
896*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE160(_c)     || \
897*5113495bSYour Name 	 WLAN_IS_CHAN_11AXA_HE80_80(_c))
898*5113495bSYour Name 
899*5113495bSYour Name #define WLAN_IS_CHAN_11AC(_c)             \
900*5113495bSYour Name 	(WLAN_IS_CHAN_11AC_VHT20(_c)      || \
901*5113495bSYour Name 	 WLAN_IS_CHAN_11AC_VHT40PLUS(_c)  || \
902*5113495bSYour Name 	 WLAN_IS_CHAN_11AC_VHT40MINUS(_c) || \
903*5113495bSYour Name 	 WLAN_IS_CHAN_11AC_VHT80(_c)      || \
904*5113495bSYour Name 	 WLAN_IS_CHAN_11AC_VHT160(_c)     || \
905*5113495bSYour Name 	 WLAN_IS_CHAN_11AC_VHT80_80(_c))
906*5113495bSYour Name 
907*5113495bSYour Name #endif /* _DFS_CHANNEL_H_ */
908