1 /* 2 * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved. 3 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. 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: This file contains centralized definitions of converged configuration. 22 */ 23 24 #ifndef __CFG_MLME_DFS_H 25 #define __CFG_MLME_DFS_H 26 27 /* 28 * <ini> 29 * gsap_tx_leakage_threshold - sap tx leakage threshold 30 * @Min: 100 31 * @Max: 1000 32 * @Default: 310 33 * 34 * customer can set this value from 100 to 1000 which means 35 * sap tx leakage threshold is -10db to -100db 36 * 37 * Related: none 38 * 39 * Usage: External 40 * 41 * </ini> 42 */ 43 #define CFG_SAP_TX_LEAKAGE_THRESHOLD CFG_INI_UINT( \ 44 "gsap_tx_leakage_threshold", \ 45 100, \ 46 1000, \ 47 310, \ 48 CFG_VALUE_OR_DEFAULT, \ 49 "sap tx leakage threshold") 50 51 /* 52 * <ini> 53 * gDFSradarMappingPriMultiplier - dfs pri multiplier 54 * @Min: 1 55 * @Max: 10 56 * @Default: 2 57 * 58 * customer can set this value from 1 to 10 which means 59 * host could handle missing pulses while there is high 60 * channel loading, for example: 30% ETSI and 50% Japan W53 61 * 62 * Related: none 63 * 64 * Usage: External 65 * 66 * </ini> 67 */ 68 #define CFG_DFS_RADAR_PRI_MULTIPLIER CFG_INI_UINT( \ 69 "gDFSradarMappingPriMultiplier", \ 70 1, \ 71 10, \ 72 2, \ 73 CFG_VALUE_OR_DEFAULT, \ 74 "dfs pri multiplier") 75 76 /* 77 * <ini> 78 * gDfsBeaconTxEnhanced - beacon tx enhanced 79 * @Min: 0 80 * @Max: 1 81 * @Default: 0 82 * 83 * This ini is used to enhance dfs beacon tx 84 * 85 * Related: none 86 * 87 * Usage: External 88 * 89 * </ini> 90 */ 91 #define CFG_DFS_BEACON_TX_ENHANCED CFG_INI_BOOL( \ 92 "gDfsBeaconTxEnhanced", \ 93 0, \ 94 "beacon tx enhanced") 95 96 /* 97 * <ini> 98 * gPreferNonDfsChanOnRadar - During random channel selection prefer non dfs 99 * @Min: 0 100 * @Max: 1 101 * @Default: 0 102 * 103 * During random channel selection prefer non dfs. 104 * 105 * Related: none 106 * 107 * Usage: External 108 * 109 * </ini> 110 */ 111 #define CFG_ENABLE_NON_DFS_CHAN_ON_RADAR CFG_INI_BOOL( \ 112 "gPreferNonDfsChanOnRadar", \ 113 0, \ 114 "channel selection prefer non dfs") 115 116 /* 117 * <ini> 118 * dfsPhyerrFilterOffload - Enable dfs phyerror filtering offload in FW 119 * @Min: 0 120 * @Max: 1 121 * @Default: 0 122 * 123 * This ini is used to to enable dfs phyerror filtering offload to firmware 124 * Enabling it will cause basic phy error to be discarding in firmware. 125 * Related: NA. 126 * 127 * Supported Feature: DFS 128 * 129 * Usage: External 130 * 131 * </ini> 132 */ 133 #define CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD CFG_INI_BOOL( \ 134 "dfsPhyerrFilterOffload", \ 135 0, \ 136 "dfs phyerror filtering offload") 137 138 /* 139 * <ini> 140 * gIgnoreCAC - Used to ignore CAC 141 * @Min: 0 142 * @Max: 1 143 * @Default: 0 144 * 145 * This ini is used to set default CAC 146 * 147 * Related: None 148 * 149 * Supported Feature: DFS 150 * 151 * Usage: External 152 * 153 * </ini> 154 */ 155 #define CFG_IGNORE_CAC CFG_INI_BOOL( \ 156 "gIgnoreCAC", \ 157 0, \ 158 "ignore CAC on DFS channel") 159 160 /* 161 * <ini> 162 * gDisableDFSChSwitch - Disable channel switch if radar is found 163 * @Min: 0 164 * @Max: 1 165 * @Default: 0 166 * 167 * This ini is used to disable channel switch if radar is found 168 * on that channel. 169 * Related: NA. 170 * 171 * Supported Feature: DFS 172 * 173 * Usage: Internal 174 * 175 * </ini> 176 */ 177 #define CFG_DISABLE_DFS_CH_SWITCH CFG_INI_BOOL( \ 178 "gDisableDFSChSwitch", \ 179 0, \ 180 "Disable channel switch on radar") 181 182 /* 183 * <ini> 184 * gEnableDFSMasterCap - Enable DFS master capability 185 * @Min: 0 186 * @Max: 1 187 * @Default: 0 188 * 189 * This ini is used to enable/disable the DFS master capability. 190 * Disabling it will cause driver to not advertise the spectrum 191 * management capability 192 * Related: NA. 193 * 194 * Supported Feature: DFS 195 * 196 * Usage: External 197 * 198 * </ini> 199 */ 200 #define CFG_ENABLE_DFS_MASTER_CAPABILITY CFG_INI_BOOL( \ 201 "gEnableDFSMasterCap", \ 202 0, \ 203 "DFS master mode capability") 204 205 /* 206 * <ini> 207 * gDisableDfsJapanW53 - Block W53 channels in random channel selection 208 * @Min: 0 209 * @Max: 1 210 * @Default: 0 211 * 212 * This ini is used to block W53 Japan channel in random channel selection 213 * 214 * Related: none 215 * 216 * Supported Feature: DFS 217 * 218 * Usage: External 219 * 220 * </ini> 221 */ 222 #define CFG_DISABLE_DFS_JAPAN_W53 CFG_INI_BOOL( \ 223 "gDisableDfsJapanW53", \ 224 0, \ 225 "Block W53 channels in random selection") 226 227 #define CFG_DFS_ALL \ 228 CFG(CFG_IGNORE_CAC) \ 229 CFG(CFG_DISABLE_DFS_CH_SWITCH) \ 230 CFG(CFG_DFS_BEACON_TX_ENHANCED) \ 231 CFG(CFG_SAP_TX_LEAKAGE_THRESHOLD) \ 232 CFG(CFG_DFS_RADAR_PRI_MULTIPLIER) \ 233 CFG(CFG_ENABLE_NON_DFS_CHAN_ON_RADAR) \ 234 CFG(CFG_ENABLE_DFS_MASTER_CAPABILITY) \ 235 CFG(CFG_DISABLE_DFS_JAPAN_W53) \ 236 CFG(CFG_ENABLE_DFS_PHYERR_FILTEROFFLOAD) 237 238 #endif /* __CFG_MLME_DFS_H */ 239