1*5113495bSYour Name /* 2*5113495bSYour Name * Copyright (c) 2012-2021 The Linux Foundation. All rights reserved. 3*5113495bSYour Name * 4*5113495bSYour Name * Permission to use, copy, modify, and/or distribute this software for 5*5113495bSYour Name * any purpose with or without fee is hereby granted, provided that the 6*5113495bSYour Name * above copyright notice and this permission notice appear in all 7*5113495bSYour Name * copies. 8*5113495bSYour Name * 9*5113495bSYour Name * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10*5113495bSYour Name * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11*5113495bSYour Name * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12*5113495bSYour Name * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13*5113495bSYour Name * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14*5113495bSYour Name * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15*5113495bSYour Name * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16*5113495bSYour Name * PERFORMANCE OF THIS SOFTWARE. 17*5113495bSYour Name */ 18*5113495bSYour Name 19*5113495bSYour Name /** 20*5113495bSYour Name * DOC: This file contains configuration definitions for MLME OBSS HT40. 21*5113495bSYour Name */ 22*5113495bSYour Name #ifndef CFG_MLME_OBSS_HT40_H__ 23*5113495bSYour Name #define CFG_MLME_OBSS_HT40_H__ 24*5113495bSYour Name 25*5113495bSYour Name /* 26*5113495bSYour Name * <ini> 27*5113495bSYour Name * obss_active_dwelltime - Set obss active dwelltime 28*5113495bSYour Name * @Min: 10 29*5113495bSYour Name * @Max: 1000 30*5113495bSYour Name * @Default: 10 31*5113495bSYour Name * 32*5113495bSYour Name * This ini is used to set dwell time in secs for active 33*5113495bSYour Name * obss scan 34*5113495bSYour Name * 35*5113495bSYour Name * Related: None 36*5113495bSYour Name * 37*5113495bSYour Name * Supported Feature: Scan 38*5113495bSYour Name * 39*5113495bSYour Name * Usage: External 40*5113495bSYour Name * 41*5113495bSYour Name * </ini> 42*5113495bSYour Name */ 43*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME CFG_INI_UINT( \ 44*5113495bSYour Name "obss_active_dwelltime", \ 45*5113495bSYour Name 10, \ 46*5113495bSYour Name 1000, \ 47*5113495bSYour Name 10, \ 48*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 49*5113495bSYour Name "Set obss active dwelltime") 50*5113495bSYour Name 51*5113495bSYour Name /* 52*5113495bSYour Name * <ini> 53*5113495bSYour Name * obss_passive_dwelltime - Set obss passive dwelltime 54*5113495bSYour Name * @Min: 5 55*5113495bSYour Name * @Max: 1000 56*5113495bSYour Name * @Default: 20 57*5113495bSYour Name * 58*5113495bSYour Name * This ini is used to set dwell time in secs for passive 59*5113495bSYour Name * obss scan 60*5113495bSYour Name * 61*5113495bSYour Name * Related: None 62*5113495bSYour Name * 63*5113495bSYour Name * Supported Feature: Scan 64*5113495bSYour Name * 65*5113495bSYour Name * Usage: External 66*5113495bSYour Name * 67*5113495bSYour Name * </ini> 68*5113495bSYour Name */ 69*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME CFG_INI_UINT( \ 70*5113495bSYour Name "obss_passive_dwelltime", \ 71*5113495bSYour Name 5, \ 72*5113495bSYour Name 1000, \ 73*5113495bSYour Name 20, \ 74*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 75*5113495bSYour Name "Set obss passive dwelltime") 76*5113495bSYour Name 77*5113495bSYour Name /* 78*5113495bSYour Name * <ini> 79*5113495bSYour Name * obss_width_trigger_interval - Set obss trigger interval 80*5113495bSYour Name * @Min: 10 81*5113495bSYour Name * @Max: 900 82*5113495bSYour Name * @Default: 200 83*5113495bSYour Name * 84*5113495bSYour Name * This ini is used during an OBSS scan operation, 85*5113495bSYour Name * where each channel in the set is scanned at least 86*5113495bSYour Name * once per configured trigger interval time. Unit is TUs. 87*5113495bSYour Name * 88*5113495bSYour Name * Related: None 89*5113495bSYour Name * 90*5113495bSYour Name * Supported Feature: Scan 91*5113495bSYour Name * 92*5113495bSYour Name * Usage: External 93*5113495bSYour Name * 94*5113495bSYour Name * </ini> 95*5113495bSYour Name */ 96*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL CFG_INI_UINT( \ 97*5113495bSYour Name "obss_width_trigger_interval", \ 98*5113495bSYour Name 10, \ 99*5113495bSYour Name 900, \ 100*5113495bSYour Name 200, \ 101*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 102*5113495bSYour Name "Set obss trigger interval") 103*5113495bSYour Name 104*5113495bSYour Name /* 105*5113495bSYour Name * obss_passive_total_per_channel - Set obss scan passive total per channel 106*5113495bSYour Name * @Min: 200 107*5113495bSYour Name * @Max: 10000 108*5113495bSYour Name * @Default: 200 109*5113495bSYour Name * 110*5113495bSYour Name * FW can perform multiple scans with in a OBSS scan interval. This cfg is for 111*5113495bSYour Name * the total per channel dwell time of passive scans. Unit is TUs. 112*5113495bSYour Name * 113*5113495bSYour Name * Related: None 114*5113495bSYour Name * 115*5113495bSYour Name * Supported Feature: Scan 116*5113495bSYour Name * 117*5113495bSYour Name * Usage: Internal 118*5113495bSYour Name * 119*5113495bSYour Name */ 120*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL CFG_UINT( \ 121*5113495bSYour Name "obss_passive_total_per_channel", \ 122*5113495bSYour Name 200, \ 123*5113495bSYour Name 10000, \ 124*5113495bSYour Name 200, \ 125*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 126*5113495bSYour Name "obss passive total per channel") 127*5113495bSYour Name 128*5113495bSYour Name /* 129*5113495bSYour Name * obss_active_total_per_channel - Set obss scan active total per channel 130*5113495bSYour Name * @Min: 20 131*5113495bSYour Name * @Max: 10000 132*5113495bSYour Name * @Default: 20 133*5113495bSYour Name * 134*5113495bSYour Name * FW can perform multiple scans with in a OBSS scan interval. This cfg is for 135*5113495bSYour Name * the total per channel dwell time of active scans. Unit is TUs. 136*5113495bSYour Name * 137*5113495bSYour Name * Related: None 138*5113495bSYour Name * 139*5113495bSYour Name * Supported Feature: Scan 140*5113495bSYour Name * 141*5113495bSYour Name * Usage: Internal 142*5113495bSYour Name * 143*5113495bSYour Name */ 144*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL CFG_UINT( \ 145*5113495bSYour Name "obss_active_total_per_channel", \ 146*5113495bSYour Name 20, \ 147*5113495bSYour Name 10000, \ 148*5113495bSYour Name 20, \ 149*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 150*5113495bSYour Name "obss active total per channel") 151*5113495bSYour Name 152*5113495bSYour Name /* 153*5113495bSYour Name * obss_scan_activity_thre - Set obss scan activity threshold 154*5113495bSYour Name * @Min: 0 155*5113495bSYour Name * @Max: 100 156*5113495bSYour Name * @Default: 25 157*5113495bSYour Name * 158*5113495bSYour Name * This cfg sets obss scan activity threshold. 159*5113495bSYour Name * 160*5113495bSYour Name * Related: None 161*5113495bSYour Name * 162*5113495bSYour Name * Supported Feature: Scan 163*5113495bSYour Name * 164*5113495bSYour Name * Usage: Internal 165*5113495bSYour Name * 166*5113495bSYour Name */ 167*5113495bSYour Name #define CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD CFG_UINT( \ 168*5113495bSYour Name "obss_scan_activity_thre", \ 169*5113495bSYour Name 0, \ 170*5113495bSYour Name 100, \ 171*5113495bSYour Name 25, \ 172*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 173*5113495bSYour Name "obss ht40 scan activity threshold") 174*5113495bSYour Name 175*5113495bSYour Name /* 176*5113495bSYour Name * obss_width_transition_delay - Set obss width transition delay 177*5113495bSYour Name * @Min: 5 178*5113495bSYour Name * @Max: 100 179*5113495bSYour Name * @Default: 5 180*5113495bSYour Name * 181*5113495bSYour Name * This cfg sets obss width transition delay, it is used to check exemption 182*5113495bSYour Name * from scan. The unit is TUs. 183*5113495bSYour Name * 184*5113495bSYour Name * Related: None 185*5113495bSYour Name * 186*5113495bSYour Name * Supported Feature: Scan 187*5113495bSYour Name * 188*5113495bSYour Name * Usage: Internal 189*5113495bSYour Name * 190*5113495bSYour Name */ 191*5113495bSYour Name #define CFG_OBSS_HT40_WIDTH_CH_TRANSITION_DELAY CFG_UINT( \ 192*5113495bSYour Name "obss_width_transition_delay", \ 193*5113495bSYour Name 5, \ 194*5113495bSYour Name 100, \ 195*5113495bSYour Name 5, \ 196*5113495bSYour Name CFG_VALUE_OR_DEFAULT, \ 197*5113495bSYour Name "obss ht40 width transition delay") 198*5113495bSYour Name 199*5113495bSYour Name /* 200*5113495bSYour Name * <ini> 201*5113495bSYour Name * override_ht20_40_24g - Use channel bonding in 2.4GHz from supplicant 202*5113495bSYour Name * @Min: 0 203*5113495bSYour Name * @Max: 1 204*5113495bSYour Name * @Default: 0 205*5113495bSYour Name * 206*5113495bSYour Name * This ini used to set whether use channel Bonding in 2.4GHz from supplicant 207*5113495bSYour Name * if gChannelBondingMode24GHz is set 208*5113495bSYour Name * 209*5113495bSYour Name * Related: gChannelBondingMode24GHz 210*5113495bSYour Name * 211*5113495bSYour Name * Supported Feature: STA 212*5113495bSYour Name * 213*5113495bSYour Name * Usage: Internal/External 214*5113495bSYour Name * 215*5113495bSYour Name * </ini> 216*5113495bSYour Name */ 217*5113495bSYour Name #define CFG_OBSS_HT40_OVERRIDE_HT40_20_24GHZ CFG_INI_BOOL( \ 218*5113495bSYour Name "override_ht20_40_24g", \ 219*5113495bSYour Name 0, \ 220*5113495bSYour Name "Use channel bonding in 24 GHz") 221*5113495bSYour Name 222*5113495bSYour Name /* 223*5113495bSYour Name * <cfg> 224*5113495bSYour Name * obss_detection_offload - Enable OBSS detection offload 225*5113495bSYour Name * @Min: 0 226*5113495bSYour Name * @Max: 1 227*5113495bSYour Name * @Default: 0 228*5113495bSYour Name */ 229*5113495bSYour Name #define CFG_OBSS_DETECTION_OFFLOAD CFG_BOOL( \ 230*5113495bSYour Name "obss_detection_offload", \ 231*5113495bSYour Name 0, \ 232*5113495bSYour Name "Enable OBSS detection offload") 233*5113495bSYour Name 234*5113495bSYour Name /* 235*5113495bSYour Name * <cfg> 236*5113495bSYour Name * obss_color_collision_offload - Enable obss color collision offload 237*5113495bSYour Name * @Min: 0 238*5113495bSYour Name * @Max: 1 239*5113495bSYour Name * @Default: 0 240*5113495bSYour Name */ 241*5113495bSYour Name #define CFG_OBSS_COLOR_COLLISION_OFFLOAD CFG_BOOL( \ 242*5113495bSYour Name "obss_color_collision_offload", \ 243*5113495bSYour Name 0, \ 244*5113495bSYour Name "Enable obss color collision offload") 245*5113495bSYour Name 246*5113495bSYour Name /* 247*5113495bSYour Name * <ini> 248*5113495bSYour Name * bss_color_collision_det_sta - Enables BSS color collision detection in STA 249*5113495bSYour Name * @Min: 0 250*5113495bSYour Name * @Max: 1 251*5113495bSYour Name * @Default: 1 252*5113495bSYour Name * 253*5113495bSYour Name * This ini used to enable or disable the BSS color collision detection in 254*5113495bSYour Name * STA mode if obss_color_collision_offload is enabled. 255*5113495bSYour Name * 256*5113495bSYour Name * Supported Feature: STA 257*5113495bSYour Name * 258*5113495bSYour Name * Usage: Internal/External 259*5113495bSYour Name * 260*5113495bSYour Name * </ini> 261*5113495bSYour Name */ 262*5113495bSYour Name #define CFG_BSS_CLR_COLLISION_DETCN_STA CFG_INI_BOOL( \ 263*5113495bSYour Name "bss_color_collision_det_sta", \ 264*5113495bSYour Name 1, \ 265*5113495bSYour Name "BSS color collision detection in STA") 266*5113495bSYour Name 267*5113495bSYour Name #define CFG_OBSS_HT40_ALL \ 268*5113495bSYour Name CFG(CFG_OBSS_HT40_SCAN_ACTIVE_DWELL_TIME) \ 269*5113495bSYour Name CFG(CFG_OBSS_HT40_SCAN_PASSIVE_DWELL_TIME) \ 270*5113495bSYour Name CFG(CFG_OBSS_HT40_SCAN_WIDTH_TRIGGER_INTERVAL) \ 271*5113495bSYour Name CFG(CFG_OBSS_HT40_SCAN_PASSIVE_TOTAL_PER_CHANNEL) \ 272*5113495bSYour Name CFG(CFG_OBSS_HT40_SCAN_ACTIVE_TOTAL_PER_CHANNEL) \ 273*5113495bSYour Name CFG(CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD) \ 274*5113495bSYour Name CFG(CFG_OBSS_HT40_WIDTH_CH_TRANSITION_DELAY) \ 275*5113495bSYour Name CFG(CFG_OBSS_HT40_OVERRIDE_HT40_20_24GHZ) \ 276*5113495bSYour Name CFG(CFG_OBSS_DETECTION_OFFLOAD) \ 277*5113495bSYour Name CFG(CFG_BSS_CLR_COLLISION_DETCN_STA) \ 278*5113495bSYour Name CFG(CFG_OBSS_COLOR_COLLISION_OFFLOAD) 279*5113495bSYour Name 280*5113495bSYour Name #endif /* CFG_MLME_OBSS_HT40_H__ */ 281