diff options
author | Juuso Oikarinen <juuso.oikarinen@nokia.com> | 2010-03-18 06:26:30 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-23 16:50:19 -0400 |
commit | 1b00f546fc4271d94c1bccb1955ce64d9ace1000 (patch) | |
tree | f004609cc4913ae97f32c2e16fd7aad5d0aced95 /drivers/net/wireless/wl12xx/wl1271_conf.h | |
parent | 885c9907440947a4f50d4c7a93b1a45266b00b84 (diff) |
wl1271: Add proper WLAN-BT co-ex configuration, and enable co-ex.
Add configuration values for the varous WLAN-BT co-ex configuration parameters,
and finally enable WLAN-BT co-ex. Based on preliminary measurements, it
appears the co-ex feature is not increasing WLAN power consumption, if BT
is not activated.
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_conf.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_conf.h | 330 |
1 files changed, 269 insertions, 61 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_conf.h b/drivers/net/wireless/wl12xx/wl1271_conf.h index 6f9e75cc5640..7fcfe06b1412 100644 --- a/drivers/net/wireless/wl12xx/wl1271_conf.h +++ b/drivers/net/wireless/wl12xx/wl1271_conf.h | |||
@@ -65,110 +65,318 @@ enum { | |||
65 | CONF_HW_RATE_INDEX_MAX = CONF_HW_RATE_INDEX_54MBPS, | 65 | CONF_HW_RATE_INDEX_MAX = CONF_HW_RATE_INDEX_54MBPS, |
66 | }; | 66 | }; |
67 | 67 | ||
68 | struct conf_sg_settings { | 68 | enum { |
69 | CONF_SG_DISABLE = 0, | ||
70 | CONF_SG_PROTECTIVE, | ||
71 | CONF_SG_OPPORTUNISTIC | ||
72 | }; | ||
73 | |||
74 | enum { | ||
69 | /* | 75 | /* |
70 | * Defines the PER threshold in PPM of the BT voice of which reaching | 76 | * PER threshold in PPM of the BT voice |
71 | * this value will trigger raising the priority of the BT voice by | ||
72 | * the BT IP until next NFS sample interval time as defined in | ||
73 | * nfs_sample_interval. | ||
74 | * | 77 | * |
75 | * Unit: PER value in PPM (parts per million) | 78 | * Range: 0 - 10000000 |
76 | * #Error_packets / #Total_packets | 79 | */ |
80 | CONF_SG_BT_PER_THRESHOLD = 0, | ||
77 | 81 | ||
78 | * Range: u32 | 82 | /* |
83 | * Number of consequent RX_ACTIVE activities to override BT voice | ||
84 | * frames to ensure WLAN connection | ||
85 | * | ||
86 | * Range: 0 - 100 | ||
87 | */ | ||
88 | CONF_SG_HV3_MAX_OVERRIDE, | ||
89 | |||
90 | /* | ||
91 | * Defines the PER threshold of the BT voice | ||
92 | * | ||
93 | * Range: 0 - 65000 | ||
94 | */ | ||
95 | CONF_SG_BT_NFS_SAMPLE_INTERVAL, | ||
96 | |||
97 | /* | ||
98 | * Defines the load ratio of BT | ||
99 | * | ||
100 | * Range: 0 - 100 (%) | ||
101 | */ | ||
102 | CONF_SG_BT_LOAD_RATIO, | ||
103 | |||
104 | /* | ||
105 | * Defines whether the SG will force WLAN host to enter/exit PSM | ||
106 | * | ||
107 | * Range: 1 - SG can force, 0 - host handles PSM | ||
108 | */ | ||
109 | CONF_SG_AUTO_PS_MODE, | ||
110 | |||
111 | /* | ||
112 | * Compensation percentage of probe requests when scan initiated | ||
113 | * during BT voice/ACL link. | ||
114 | * | ||
115 | * Range: 0 - 255 (%) | ||
116 | */ | ||
117 | CONF_SG_AUTO_SCAN_PROBE_REQ, | ||
118 | |||
119 | /* | ||
120 | * Compensation percentage of probe requests when active scan initiated | ||
121 | * during BT voice | ||
122 | * | ||
123 | * Range: 0 - 255 (%) | ||
124 | */ | ||
125 | CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3, | ||
126 | |||
127 | /* | ||
128 | * Defines antenna configuration (single/dual antenna) | ||
129 | * | ||
130 | * Range: 0 - single antenna, 1 - dual antenna | ||
131 | */ | ||
132 | CONF_SG_ANTENNA_CONFIGURATION, | ||
133 | |||
134 | /* | ||
135 | * The threshold (percent) of max consequtive beacon misses before | ||
136 | * increasing priority of beacon reception. | ||
137 | * | ||
138 | * Range: 0 - 100 (%) | ||
139 | */ | ||
140 | CONF_SG_BEACON_MISS_PERCENT, | ||
141 | |||
142 | /* | ||
143 | * The rate threshold below which receiving a data frame from the AP | ||
144 | * will increase the priority of the data frame above BT traffic. | ||
145 | * | ||
146 | * Range: 0,2, 5(=5.5), 6, 9, 11, 12, 18, 24, 36, 48, 54 | ||
147 | */ | ||
148 | CONF_SG_RATE_ADAPT_THRESH, | ||
149 | |||
150 | /* | ||
151 | * Not used currently. | ||
152 | * | ||
153 | * Range: 0 | ||
154 | */ | ||
155 | CONF_SG_RATE_ADAPT_SNR, | ||
156 | |||
157 | /* | ||
158 | * Configure the min and max time BT gains the antenna | ||
159 | * in WLAN PSM / BT master basic rate | ||
160 | * | ||
161 | * Range: 0 - 255 (ms) | ||
162 | */ | ||
163 | CONF_SG_WLAN_PS_BT_ACL_MASTER_MIN_BR, | ||
164 | CONF_SG_WLAN_PS_BT_ACL_MASTER_MAX_BR, | ||
165 | |||
166 | /* | ||
167 | * The time after it expires no new WLAN trigger frame is trasmitted | ||
168 | * in WLAN PSM / BT master basic rate | ||
169 | * | ||
170 | * Range: 0 - 255 (ms) | ||
171 | */ | ||
172 | CONF_SG_WLAN_PS_MAX_BT_ACL_MASTER_BR, | ||
173 | |||
174 | /* | ||
175 | * Configure the min and max time BT gains the antenna | ||
176 | * in WLAN PSM / BT slave basic rate | ||
177 | * | ||
178 | * Range: 0 - 255 (ms) | ||
79 | */ | 179 | */ |
80 | u32 per_threshold; | 180 | CONF_SG_WLAN_PS_BT_ACL_SLAVE_MIN_BR, |
181 | CONF_SG_WLAN_PS_BT_ACL_SLAVE_MAX_BR, | ||
81 | 182 | ||
82 | /* | 183 | /* |
83 | * This value is an absolute time in micro-seconds to limit the | 184 | * The time after it expires no new WLAN trigger frame is trasmitted |
84 | * maximum scan duration compensation while in SG | 185 | * in WLAN PSM / BT slave basic rate |
186 | * | ||
187 | * Range: 0 - 255 (ms) | ||
85 | */ | 188 | */ |
86 | u32 max_scan_compensation_time; | 189 | CONF_SG_WLAN_PS_MAX_BT_ACL_SLAVE_BR, |
87 | 190 | ||
88 | /* Defines the PER threshold of the BT voice of which reaching this | 191 | /* |
89 | * value will trigger raising the priority of the BT voice until next | 192 | * Configure the min and max time BT gains the antenna |
90 | * NFS sample interval time as defined in sample_interval. | 193 | * in WLAN PSM / BT master EDR |
91 | * | 194 | * |
92 | * Unit: msec | 195 | * Range: 0 - 255 (ms) |
93 | * Range: 1-65000 | ||
94 | */ | 196 | */ |
95 | u16 nfs_sample_interval; | 197 | CONF_SG_WLAN_PS_BT_ACL_MASTER_MIN_EDR, |
198 | CONF_SG_WLAN_PS_BT_ACL_MASTER_MAX_EDR, | ||
96 | 199 | ||
97 | /* | 200 | /* |
98 | * Defines the load ratio for the BT. | 201 | * The time after it expires no new WLAN trigger frame is trasmitted |
99 | * The WLAN ratio is: 100 - load_ratio | 202 | * in WLAN PSM / BT master EDR |
100 | * | 203 | * |
101 | * Unit: Percent | 204 | * Range: 0 - 255 (ms) |
102 | * Range: 0-100 | ||
103 | */ | 205 | */ |
104 | u8 load_ratio; | 206 | CONF_SG_WLAN_PS_MAX_BT_ACL_MASTER_EDR, |
105 | 207 | ||
106 | /* | 208 | /* |
107 | * true - Co-ex is allowed to enter/exit P.S automatically and | 209 | * Configure the min and max time BT gains the antenna |
108 | * transparently to the host | 210 | * in WLAN PSM / BT slave EDR |
109 | * | 211 | * |
110 | * false - Co-ex is disallowed to enter/exit P.S and will trigger an | 212 | * Range: 0 - 255 (ms) |
111 | * event to the host to notify for the need to enter/exit P.S | 213 | */ |
112 | * due to BT change state | 214 | CONF_SG_WLAN_PS_BT_ACL_SLAVE_MIN_EDR, |
215 | CONF_SG_WLAN_PS_BT_ACL_SLAVE_MAX_EDR, | ||
216 | |||
217 | /* | ||
218 | * The time after it expires no new WLAN trigger frame is trasmitted | ||
219 | * in WLAN PSM / BT slave EDR | ||
113 | * | 220 | * |
221 | * Range: 0 - 255 (ms) | ||
114 | */ | 222 | */ |
115 | u8 auto_ps_mode; | 223 | CONF_SG_WLAN_PS_MAX_BT_ACL_SLAVE_EDR, |
116 | 224 | ||
117 | /* | 225 | /* |
118 | * This parameter defines the compensation percentage of num of probe | 226 | * RX guard time before the beginning of a new BT voice frame during |
119 | * requests in case scan is initiated during BT voice/BT ACL | 227 | * which no new WLAN trigger frame is transmitted. |
120 | * guaranteed link. | ||
121 | * | 228 | * |
122 | * Unit: Percent | 229 | * Range: 0 - 100000 (us) |
123 | * Range: 0-255 (0 - No compensation) | ||
124 | */ | 230 | */ |
125 | u8 probe_req_compensation; | 231 | CONF_SG_RXT, |
126 | 232 | ||
127 | /* | 233 | /* |
128 | * This parameter defines the compensation percentage of scan window | 234 | * TX guard time before the beginning of a new BT voice frame during |
129 | * size in case scan is initiated during BT voice/BT ACL Guaranteed | 235 | * which no new WLAN frame is transmitted. |
130 | * link. | ||
131 | * | 236 | * |
132 | * Unit: Percent | 237 | * Range: 0 - 100000 (us) |
133 | * Range: 0-255 (0 - No compensation) | ||
134 | */ | 238 | */ |
135 | u8 scan_window_compensation; | 239 | |
240 | CONF_SG_TXT, | ||
136 | 241 | ||
137 | /* | 242 | /* |
138 | * Defines the antenna configuration. | 243 | * Enable adaptive RXT/TXT algorithm. If disabled, the host values |
244 | * will be utilized. | ||
139 | * | 245 | * |
140 | * Range: 0 - Single Antenna; 1 - Dual Antenna | 246 | * Range: 0 - disable, 1 - enable |
141 | */ | 247 | */ |
142 | u8 antenna_config; | 248 | CONF_SG_ADAPTIVE_RXT_TXT, |
143 | 249 | ||
144 | /* | 250 | /* |
145 | * The percent out of the Max consecutive beacon miss roaming trigger | 251 | * The used WLAN legacy service period during active BT ACL link |
146 | * which is the threshold for raising the priority of beacon | ||
147 | * reception. | ||
148 | * | 252 | * |
149 | * Range: 1-100 | 253 | * Range: 0 - 255 (ms) |
150 | * N = MaxConsecutiveBeaconMiss | ||
151 | * P = coexMaxConsecutiveBeaconMissPrecent | ||
152 | * Threshold = MIN( N-1, round(N * P / 100)) | ||
153 | */ | 254 | */ |
154 | u8 beacon_miss_threshold; | 255 | CONF_SG_PS_POLL_TIMEOUT, |
155 | 256 | ||
156 | /* | 257 | /* |
157 | * The RX rate threshold below which rate adaptation is assumed to be | 258 | * The used WLAN UPSD service period during active BT ACL link |
158 | * occurring at the AP which will raise priority for ACTIVE_RX and RX | ||
159 | * SP. | ||
160 | * | 259 | * |
161 | * Range: HW_BIT_RATE_* | 260 | * Range: 0 - 255 (ms) |
162 | */ | 261 | */ |
163 | u32 rate_adaptation_threshold; | 262 | CONF_SG_UPSD_TIMEOUT, |
164 | 263 | ||
165 | /* | 264 | /* |
166 | * The SNR above which the RX rate threshold indicating AP rate | 265 | * Configure the min and max time BT gains the antenna |
167 | * adaptation is valid | 266 | * in WLAN Active / BT master EDR |
168 | * | 267 | * |
169 | * Range: -128 - 127 | 268 | * Range: 0 - 255 (ms) |
170 | */ | 269 | */ |
171 | s8 rate_adaptation_snr; | 270 | CONF_SG_WLAN_ACTIVE_BT_ACL_MASTER_MIN_EDR, |
271 | CONF_SG_WLAN_ACTIVE_BT_ACL_MASTER_MAX_EDR, | ||
272 | |||
273 | /* | ||
274 | * The maximum time WLAN can gain the antenna for | ||
275 | * in WLAN Active / BT master EDR | ||
276 | * | ||
277 | * Range: 0 - 255 (ms) | ||
278 | */ | ||
279 | CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_MASTER_EDR, | ||
280 | |||
281 | /* | ||
282 | * Configure the min and max time BT gains the antenna | ||
283 | * in WLAN Active / BT slave EDR | ||
284 | * | ||
285 | * Range: 0 - 255 (ms) | ||
286 | */ | ||
287 | CONF_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MIN_EDR, | ||
288 | CONF_SG_WLAN_ACTIVE_BT_ACL_SLAVE_MAX_EDR, | ||
289 | |||
290 | /* | ||
291 | * The maximum time WLAN can gain the antenna for | ||
292 | * in WLAN Active / BT slave EDR | ||
293 | * | ||
294 | * Range: 0 - 255 (ms) | ||
295 | */ | ||
296 | CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_SLAVE_EDR, | ||
297 | |||
298 | /* | ||
299 | * Configure the min and max time BT gains the antenna | ||
300 | * in WLAN Active / BT basic rate | ||
301 | * | ||
302 | * Range: 0 - 255 (ms) | ||
303 | */ | ||
304 | CONF_SG_WLAN_ACTIVE_BT_ACL_MIN_BR, | ||
305 | CONF_SG_WLAN_ACTIVE_BT_ACL_MAX_BR, | ||
306 | |||
307 | /* | ||
308 | * The maximum time WLAN can gain the antenna for | ||
309 | * in WLAN Active / BT basic rate | ||
310 | * | ||
311 | * Range: 0 - 255 (ms) | ||
312 | */ | ||
313 | CONF_SG_WLAN_ACTIVE_MAX_BT_ACL_BR, | ||
314 | |||
315 | /* | ||
316 | * Compensation percentage of WLAN passive scan window if initiated | ||
317 | * during BT voice | ||
318 | * | ||
319 | * Range: 0 - 1000 (%) | ||
320 | */ | ||
321 | CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3, | ||
322 | |||
323 | /* | ||
324 | * Compensation percentage of WLAN passive scan window if initiated | ||
325 | * during BT A2DP | ||
326 | * | ||
327 | * Range: 0 - 1000 (%) | ||
328 | */ | ||
329 | CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP, | ||
330 | |||
331 | /* | ||
332 | * Fixed time ensured for BT traffic to gain the antenna during WLAN | ||
333 | * passive scan. | ||
334 | * | ||
335 | * Range: 0 - 1000 ms | ||
336 | */ | ||
337 | CONF_SG_PASSIVE_SCAN_A2DP_BT_TIME, | ||
338 | |||
339 | /* | ||
340 | * Fixed time ensured for WLAN traffic to gain the antenna during WLAN | ||
341 | * passive scan. | ||
342 | * | ||
343 | * Range: 0 - 1000 ms | ||
344 | */ | ||
345 | CONF_SG_PASSIVE_SCAN_A2DP_WLAN_TIME, | ||
346 | |||
347 | /* | ||
348 | * Number of consequent BT voice frames not interrupted by WLAN | ||
349 | * | ||
350 | * Range: 0 - 100 | ||
351 | */ | ||
352 | CONF_SG_HV3_MAX_SERVED, | ||
353 | |||
354 | /* | ||
355 | * Protection time of the DHCP procedure. | ||
356 | * | ||
357 | * Range: 0 - 100000 (ms) | ||
358 | */ | ||
359 | CONF_SG_DHCP_TIME, | ||
360 | |||
361 | /* | ||
362 | * Compensation percentage of WLAN active scan window if initiated | ||
363 | * during BT A2DP | ||
364 | * | ||
365 | * Range: 0 - 1000 (%) | ||
366 | */ | ||
367 | CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP, | ||
368 | CONF_SG_TEMP_PARAM_1, | ||
369 | CONF_SG_TEMP_PARAM_2, | ||
370 | CONF_SG_TEMP_PARAM_3, | ||
371 | CONF_SG_TEMP_PARAM_4, | ||
372 | CONF_SG_TEMP_PARAM_5, | ||
373 | CONF_SG_PARAMS_MAX, | ||
374 | CONF_SG_PARAMS_ALL = 0xff | ||
375 | }; | ||
376 | |||
377 | struct conf_sg_settings { | ||
378 | __le32 params[CONF_SG_PARAMS_MAX]; | ||
379 | u8 state; | ||
172 | }; | 380 | }; |
173 | 381 | ||
174 | enum conf_rx_queue_type { | 382 | enum conf_rx_queue_type { |