aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ti
diff options
context:
space:
mode:
authorGuy Mishol <guym@ti.com>2015-12-02 03:28:22 -0500
committerKalle Valo <kvalo@codeaurora.org>2015-12-11 06:10:59 -0500
commit133b7326e96031e69fcfb42d6f3040b563ce6464 (patch)
tree57b80e15d80800ddb1cdaebee9a518f41d0f95d3 /drivers/net/wireless/ti
parent264a4aca531bca789d45b9d68158a423e9d54eaf (diff)
wlcore: split wl12xx/wl18xx sg parameters
Align to new wl18xx sg parameters. This requires to split both wl12xx/wl18xx enumerators. Signed-off-by: Guy Mishol <guym@ti.com> Acked-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ti')
-rw-r--r--drivers/net/wireless/ti/wl12xx/conf.h233
-rw-r--r--drivers/net/wireless/ti/wl12xx/main.c116
-rw-r--r--drivers/net/wireless/ti/wl18xx/conf.h90
-rw-r--r--drivers/net/wireless/ti/wl18xx/main.c138
-rw-r--r--drivers/net/wireless/ti/wlcore/acx.c4
-rw-r--r--drivers/net/wireless/ti/wlcore/acx.h2
-rw-r--r--drivers/net/wireless/ti/wlcore/conf.h237
7 files changed, 463 insertions, 357 deletions
diff --git a/drivers/net/wireless/ti/wl12xx/conf.h b/drivers/net/wireless/ti/wl12xx/conf.h
index 75e29897a0f5..a606ba9ef041 100644
--- a/drivers/net/wireless/ti/wl12xx/conf.h
+++ b/drivers/net/wireless/ti/wl12xx/conf.h
@@ -47,4 +47,237 @@ struct wl12xx_priv_conf {
47 struct conf_memory_settings mem_wl127x; 47 struct conf_memory_settings mem_wl127x;
48}; 48};
49 49
50enum wl12xx_sg_params {
51 /*
52 * Configure the min and max time BT gains the antenna
53 * in WLAN / BT master basic rate
54 *
55 * Range: 0 - 255 (ms)
56 */
57 WL12XX_CONF_SG_ACL_BT_MASTER_MIN_BR = 0,
58 WL12XX_CONF_SG_ACL_BT_MASTER_MAX_BR,
59
60 /*
61 * Configure the min and max time BT gains the antenna
62 * in WLAN / BT slave basic rate
63 *
64 * Range: 0 - 255 (ms)
65 */
66 WL12XX_CONF_SG_ACL_BT_SLAVE_MIN_BR,
67 WL12XX_CONF_SG_ACL_BT_SLAVE_MAX_BR,
68
69 /*
70 * Configure the min and max time BT gains the antenna
71 * in WLAN / BT master EDR
72 *
73 * Range: 0 - 255 (ms)
74 */
75 WL12XX_CONF_SG_ACL_BT_MASTER_MIN_EDR,
76 WL12XX_CONF_SG_ACL_BT_MASTER_MAX_EDR,
77
78 /*
79 * Configure the min and max time BT gains the antenna
80 * in WLAN / BT slave EDR
81 *
82 * Range: 0 - 255 (ms)
83 */
84 WL12XX_CONF_SG_ACL_BT_SLAVE_MIN_EDR,
85 WL12XX_CONF_SG_ACL_BT_SLAVE_MAX_EDR,
86
87 /*
88 * The maximum time WLAN can gain the antenna
89 * in WLAN PSM / BT master/slave BR
90 *
91 * Range: 0 - 255 (ms)
92 */
93 WL12XX_CONF_SG_ACL_WLAN_PS_MASTER_BR,
94 WL12XX_CONF_SG_ACL_WLAN_PS_SLAVE_BR,
95
96 /*
97 * The maximum time WLAN can gain the antenna
98 * in WLAN PSM / BT master/slave EDR
99 *
100 * Range: 0 - 255 (ms)
101 */
102 WL12XX_CONF_SG_ACL_WLAN_PS_MASTER_EDR,
103 WL12XX_CONF_SG_ACL_WLAN_PS_SLAVE_EDR,
104
105 /* TODO: explain these values */
106 WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR,
107 WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR,
108 WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR,
109 WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR,
110 WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR,
111 WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR,
112 WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR,
113 WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR,
114
115 WL12XX_CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR,
116 WL12XX_CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR,
117 WL12XX_CONF_SG_ACL_PASSIVE_SCAN_BT_BR,
118 WL12XX_CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR,
119 WL12XX_CONF_SG_ACL_PASSIVE_SCAN_BT_EDR,
120 WL12XX_CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR,
121
122 /*
123 * Compensation percentage of probe requests when scan initiated
124 * during BT voice/ACL link.
125 *
126 * Range: 0 - 255 (%)
127 */
128 WL12XX_CONF_SG_AUTO_SCAN_PROBE_REQ,
129
130 /*
131 * Compensation percentage of probe requests when active scan initiated
132 * during BT voice
133 *
134 * Range: 0 - 255 (%)
135 */
136 WL12XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3,
137
138 /*
139 * Compensation percentage of WLAN active scan window if initiated
140 * during BT A2DP
141 *
142 * Range: 0 - 1000 (%)
143 */
144 WL12XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP,
145
146 /*
147 * Compensation percentage of WLAN passive scan window if initiated
148 * during BT A2DP BR
149 *
150 * Range: 0 - 1000 (%)
151 */
152 WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_A2DP_BR,
153
154 /*
155 * Compensation percentage of WLAN passive scan window if initiated
156 * during BT A2DP EDR
157 *
158 * Range: 0 - 1000 (%)
159 */
160 WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_A2DP_EDR,
161
162 /*
163 * Compensation percentage of WLAN passive scan window if initiated
164 * during BT voice
165 *
166 * Range: 0 - 1000 (%)
167 */
168 WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_HV3,
169
170 /* TODO: explain these values */
171 WL12XX_CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN,
172 WL12XX_CONF_SG_BCN_HV3_COLL_THR_IN_PASSIVE_SCAN,
173 WL12XX_CONF_SG_TX_RX_PROTECT_BW_IN_PASSIVE_SCAN,
174
175 /*
176 * Defines whether the SG will force WLAN host to enter/exit PSM
177 *
178 * Range: 1 - SG can force, 0 - host handles PSM
179 */
180 WL12XX_CONF_SG_STA_FORCE_PS_IN_BT_SCO,
181
182 /*
183 * Defines antenna configuration (single/dual antenna)
184 *
185 * Range: 0 - single antenna, 1 - dual antenna
186 */
187 WL12XX_CONF_SG_ANTENNA_CONFIGURATION,
188
189 /*
190 * The threshold (percent) of max consecutive beacon misses before
191 * increasing priority of beacon reception.
192 *
193 * Range: 0 - 100 (%)
194 */
195 WL12XX_CONF_SG_BEACON_MISS_PERCENT,
196
197 /*
198 * Protection time of the DHCP procedure.
199 *
200 * Range: 0 - 100000 (ms)
201 */
202 WL12XX_CONF_SG_DHCP_TIME,
203
204 /*
205 * RX guard time before the beginning of a new BT voice frame during
206 * which no new WLAN trigger frame is transmitted.
207 *
208 * Range: 0 - 100000 (us)
209 */
210 WL12XX_CONF_SG_RXT,
211
212 /*
213 * TX guard time before the beginning of a new BT voice frame during
214 * which no new WLAN frame is transmitted.
215 *
216 * Range: 0 - 100000 (us)
217 */
218 WL12XX_CONF_SG_TXT,
219
220 /*
221 * Enable adaptive RXT/TXT algorithm. If disabled, the host values
222 * will be utilized.
223 *
224 * Range: 0 - disable, 1 - enable
225 */
226 WL12XX_CONF_SG_ADAPTIVE_RXT_TXT,
227
228 /* TODO: explain this value */
229 WL12XX_CONF_SG_GENERAL_USAGE_BIT_MAP,
230
231 /*
232 * Number of consecutive BT voice frames not interrupted by WLAN
233 *
234 * Range: 0 - 100
235 */
236 WL12XX_CONF_SG_HV3_MAX_SERVED,
237
238 /*
239 * The used WLAN legacy service period during active BT ACL link
240 *
241 * Range: 0 - 255 (ms)
242 */
243 WL12XX_CONF_SG_PS_POLL_TIMEOUT,
244
245 /*
246 * The used WLAN UPSD service period during active BT ACL link
247 *
248 * Range: 0 - 255 (ms)
249 */
250 WL12XX_CONF_SG_UPSD_TIMEOUT,
251
252 WL12XX_CONF_SG_CONSECUTIVE_CTS_THRESHOLD,
253 WL12XX_CONF_SG_STA_RX_WINDOW_AFTER_DTIM,
254 WL12XX_CONF_SG_STA_CONNECTION_PROTECTION_TIME,
255
256 /* AP params */
257 WL12XX_CONF_AP_BEACON_MISS_TX,
258 WL12XX_CONF_AP_RX_WINDOW_AFTER_BEACON,
259 WL12XX_CONF_AP_BEACON_WINDOW_INTERVAL,
260 WL12XX_CONF_AP_CONNECTION_PROTECTION_TIME,
261 WL12XX_CONF_AP_BT_ACL_VAL_BT_SERVE_TIME,
262 WL12XX_CONF_AP_BT_ACL_VAL_WL_SERVE_TIME,
263
264 /* CTS Diluting params */
265 WL12XX_CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH,
266 WL12XX_CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER,
267
268 WL12XX_CONF_SG_TEMP_PARAM_1,
269 WL12XX_CONF_SG_TEMP_PARAM_2,
270 WL12XX_CONF_SG_TEMP_PARAM_3,
271 WL12XX_CONF_SG_TEMP_PARAM_4,
272 WL12XX_CONF_SG_TEMP_PARAM_5,
273 WL12XX_CONF_SG_TEMP_PARAM_6,
274 WL12XX_CONF_SG_TEMP_PARAM_7,
275 WL12XX_CONF_SG_TEMP_PARAM_8,
276 WL12XX_CONF_SG_TEMP_PARAM_9,
277 WL12XX_CONF_SG_TEMP_PARAM_10,
278
279 WL12XX_CONF_SG_PARAMS_MAX,
280 WL12XX_CONF_SG_PARAMS_ALL = 0xff
281};
282
50#endif /* __WL12XX_CONF_H__ */ 283#endif /* __WL12XX_CONF_H__ */
diff --git a/drivers/net/wireless/ti/wl12xx/main.c b/drivers/net/wireless/ti/wl12xx/main.c
index af0fe2e17151..a0d6cccc56f3 100644
--- a/drivers/net/wireless/ti/wl12xx/main.c
+++ b/drivers/net/wireless/ti/wl12xx/main.c
@@ -39,6 +39,7 @@
39#include "scan.h" 39#include "scan.h"
40#include "event.h" 40#include "event.h"
41#include "debugfs.h" 41#include "debugfs.h"
42#include "conf.h"
42 43
43static char *fref_param; 44static char *fref_param;
44static char *tcxo_param; 45static char *tcxo_param;
@@ -46,69 +47,69 @@ static char *tcxo_param;
46static struct wlcore_conf wl12xx_conf = { 47static struct wlcore_conf wl12xx_conf = {
47 .sg = { 48 .sg = {
48 .params = { 49 .params = {
49 [CONF_SG_ACL_BT_MASTER_MIN_BR] = 10, 50 [WL12XX_CONF_SG_ACL_BT_MASTER_MIN_BR] = 10,
50 [CONF_SG_ACL_BT_MASTER_MAX_BR] = 180, 51 [WL12XX_CONF_SG_ACL_BT_MASTER_MAX_BR] = 180,
51 [CONF_SG_ACL_BT_SLAVE_MIN_BR] = 10, 52 [WL12XX_CONF_SG_ACL_BT_SLAVE_MIN_BR] = 10,
52 [CONF_SG_ACL_BT_SLAVE_MAX_BR] = 180, 53 [WL12XX_CONF_SG_ACL_BT_SLAVE_MAX_BR] = 180,
53 [CONF_SG_ACL_BT_MASTER_MIN_EDR] = 10, 54 [WL12XX_CONF_SG_ACL_BT_MASTER_MIN_EDR] = 10,
54 [CONF_SG_ACL_BT_MASTER_MAX_EDR] = 80, 55 [WL12XX_CONF_SG_ACL_BT_MASTER_MAX_EDR] = 80,
55 [CONF_SG_ACL_BT_SLAVE_MIN_EDR] = 10, 56 [WL12XX_CONF_SG_ACL_BT_SLAVE_MIN_EDR] = 10,
56 [CONF_SG_ACL_BT_SLAVE_MAX_EDR] = 80, 57 [WL12XX_CONF_SG_ACL_BT_SLAVE_MAX_EDR] = 80,
57 [CONF_SG_ACL_WLAN_PS_MASTER_BR] = 8, 58 [WL12XX_CONF_SG_ACL_WLAN_PS_MASTER_BR] = 8,
58 [CONF_SG_ACL_WLAN_PS_SLAVE_BR] = 8, 59 [WL12XX_CONF_SG_ACL_WLAN_PS_SLAVE_BR] = 8,
59 [CONF_SG_ACL_WLAN_PS_MASTER_EDR] = 20, 60 [WL12XX_CONF_SG_ACL_WLAN_PS_MASTER_EDR] = 20,
60 [CONF_SG_ACL_WLAN_PS_SLAVE_EDR] = 20, 61 [WL12XX_CONF_SG_ACL_WLAN_PS_SLAVE_EDR] = 20,
61 [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR] = 20, 62 [WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR] = 20,
62 [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR] = 35, 63 [WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR] = 35,
63 [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR] = 16, 64 [WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR] = 16,
64 [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR] = 35, 65 [WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR] = 35,
65 [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR] = 32, 66 [WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR] = 32,
66 [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR] = 50, 67 [WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR] = 50,
67 [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR] = 28, 68 [WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR] = 28,
68 [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR] = 50, 69 [WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR] = 50,
69 [CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR] = 10, 70 [WL12XX_CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR] = 10,
70 [CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR] = 20, 71 [WL12XX_CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR] = 20,
71 [CONF_SG_ACL_PASSIVE_SCAN_BT_BR] = 75, 72 [WL12XX_CONF_SG_ACL_PASSIVE_SCAN_BT_BR] = 75,
72 [CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR] = 15, 73 [WL12XX_CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR] = 15,
73 [CONF_SG_ACL_PASSIVE_SCAN_BT_EDR] = 27, 74 [WL12XX_CONF_SG_ACL_PASSIVE_SCAN_BT_EDR] = 27,
74 [CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR] = 17, 75 [WL12XX_CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR] = 17,
75 /* active scan params */ 76 /* active scan params */
76 [CONF_SG_AUTO_SCAN_PROBE_REQ] = 170, 77 [WL12XX_CONF_SG_AUTO_SCAN_PROBE_REQ] = 170,
77 [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3] = 50, 78 [WL12XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3] = 50,
78 [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP] = 100, 79 [WL12XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP] = 100,
79 /* passive scan params */ 80 /* passive scan params */
80 [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_BR] = 800, 81 [WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_A2DP_BR] = 800,
81 [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_EDR] = 200, 82 [WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_A2DP_EDR] = 200,
82 [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3] = 200, 83 [WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_HV3] = 200,
83 /* passive scan in dual antenna params */ 84 /* passive scan in dual antenna params */
84 [CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN] = 0, 85 [WL12XX_CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN] = 0,
85 [CONF_SG_BCN_HV3_COLLISION_THRESH_IN_PASSIVE_SCAN] = 0, 86 [WL12XX_CONF_SG_BCN_HV3_COLL_THR_IN_PASSIVE_SCAN] = 0,
86 [CONF_SG_TX_RX_PROTECTION_BWIDTH_IN_PASSIVE_SCAN] = 0, 87 [WL12XX_CONF_SG_TX_RX_PROTECT_BW_IN_PASSIVE_SCAN] = 0,
87 /* general params */ 88 /* general params */
88 [CONF_SG_STA_FORCE_PS_IN_BT_SCO] = 1, 89 [WL12XX_CONF_SG_STA_FORCE_PS_IN_BT_SCO] = 1,
89 [CONF_SG_ANTENNA_CONFIGURATION] = 0, 90 [WL12XX_CONF_SG_ANTENNA_CONFIGURATION] = 0,
90 [CONF_SG_BEACON_MISS_PERCENT] = 60, 91 [WL12XX_CONF_SG_BEACON_MISS_PERCENT] = 60,
91 [CONF_SG_DHCP_TIME] = 5000, 92 [WL12XX_CONF_SG_DHCP_TIME] = 5000,
92 [CONF_SG_RXT] = 1200, 93 [WL12XX_CONF_SG_RXT] = 1200,
93 [CONF_SG_TXT] = 1000, 94 [WL12XX_CONF_SG_TXT] = 1000,
94 [CONF_SG_ADAPTIVE_RXT_TXT] = 1, 95 [WL12XX_CONF_SG_ADAPTIVE_RXT_TXT] = 1,
95 [CONF_SG_GENERAL_USAGE_BIT_MAP] = 3, 96 [WL12XX_CONF_SG_GENERAL_USAGE_BIT_MAP] = 3,
96 [CONF_SG_HV3_MAX_SERVED] = 6, 97 [WL12XX_CONF_SG_HV3_MAX_SERVED] = 6,
97 [CONF_SG_PS_POLL_TIMEOUT] = 10, 98 [WL12XX_CONF_SG_PS_POLL_TIMEOUT] = 10,
98 [CONF_SG_UPSD_TIMEOUT] = 10, 99 [WL12XX_CONF_SG_UPSD_TIMEOUT] = 10,
99 [CONF_SG_CONSECUTIVE_CTS_THRESHOLD] = 2, 100 [WL12XX_CONF_SG_CONSECUTIVE_CTS_THRESHOLD] = 2,
100 [CONF_SG_STA_RX_WINDOW_AFTER_DTIM] = 5, 101 [WL12XX_CONF_SG_STA_RX_WINDOW_AFTER_DTIM] = 5,
101 [CONF_SG_STA_CONNECTION_PROTECTION_TIME] = 30, 102 [WL12XX_CONF_SG_STA_CONNECTION_PROTECTION_TIME] = 30,
102 /* AP params */ 103 /* AP params */
103 [CONF_AP_BEACON_MISS_TX] = 3, 104 [WL12XX_CONF_AP_BEACON_MISS_TX] = 3,
104 [CONF_AP_RX_WINDOW_AFTER_BEACON] = 10, 105 [WL12XX_CONF_AP_RX_WINDOW_AFTER_BEACON] = 10,
105 [CONF_AP_BEACON_WINDOW_INTERVAL] = 2, 106 [WL12XX_CONF_AP_BEACON_WINDOW_INTERVAL] = 2,
106 [CONF_AP_CONNECTION_PROTECTION_TIME] = 0, 107 [WL12XX_CONF_AP_CONNECTION_PROTECTION_TIME] = 0,
107 [CONF_AP_BT_ACL_VAL_BT_SERVE_TIME] = 25, 108 [WL12XX_CONF_AP_BT_ACL_VAL_BT_SERVE_TIME] = 25,
108 [CONF_AP_BT_ACL_VAL_WL_SERVE_TIME] = 25, 109 [WL12XX_CONF_AP_BT_ACL_VAL_WL_SERVE_TIME] = 25,
109 /* CTS Diluting params */ 110 /* CTS Diluting params */
110 [CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH] = 0, 111 [WL12XX_CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH] = 0,
111 [CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER] = 0, 112 [WL12XX_CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER] = 0,
112 }, 113 },
113 .state = CONF_SG_PROTECTIVE, 114 .state = CONF_SG_PROTECTIVE,
114 }, 115 },
@@ -1809,6 +1810,7 @@ static int wl12xx_setup(struct wl1271 *wl)
1809 1810
1810 BUILD_BUG_ON(WL12XX_MAX_LINKS > WLCORE_MAX_LINKS); 1811 BUILD_BUG_ON(WL12XX_MAX_LINKS > WLCORE_MAX_LINKS);
1811 BUILD_BUG_ON(WL12XX_MAX_AP_STATIONS > WL12XX_MAX_LINKS); 1812 BUILD_BUG_ON(WL12XX_MAX_AP_STATIONS > WL12XX_MAX_LINKS);
1813 BUILD_BUG_ON(WL12XX_CONF_SG_PARAMS_MAX > WLCORE_CONF_SG_PARAMS_MAX);
1812 1814
1813 wl->rtable = wl12xx_rtable; 1815 wl->rtable = wl12xx_rtable;
1814 wl->num_tx_desc = WL12XX_NUM_TX_DESCRIPTORS; 1816 wl->num_tx_desc = WL12XX_NUM_TX_DESCRIPTORS;
diff --git a/drivers/net/wireless/ti/wl18xx/conf.h b/drivers/net/wireless/ti/wl18xx/conf.h
index 71f1ec448ba5..7aa880f14ccb 100644
--- a/drivers/net/wireless/ti/wl18xx/conf.h
+++ b/drivers/net/wireless/ti/wl18xx/conf.h
@@ -139,4 +139,94 @@ struct wl18xx_priv_conf {
139 struct conf_ap_sleep_settings ap_sleep; 139 struct conf_ap_sleep_settings ap_sleep;
140} __packed; 140} __packed;
141 141
142enum wl18xx_sg_params {
143 WL18XX_CONF_SG_PARAM_0 = 0,
144
145 /* Configuration Parameters */
146 WL18XX_CONF_SG_ANTENNA_CONFIGURATION,
147 WL18XX_CONF_SG_ZIGBEE_COEX,
148 WL18XX_CONF_SG_TIME_SYNC,
149
150 WL18XX_CONF_SG_PARAM_4,
151 WL18XX_CONF_SG_PARAM_5,
152 WL18XX_CONF_SG_PARAM_6,
153 WL18XX_CONF_SG_PARAM_7,
154 WL18XX_CONF_SG_PARAM_8,
155 WL18XX_CONF_SG_PARAM_9,
156 WL18XX_CONF_SG_PARAM_10,
157 WL18XX_CONF_SG_PARAM_11,
158 WL18XX_CONF_SG_PARAM_12,
159 WL18XX_CONF_SG_PARAM_13,
160 WL18XX_CONF_SG_PARAM_14,
161 WL18XX_CONF_SG_PARAM_15,
162 WL18XX_CONF_SG_PARAM_16,
163 WL18XX_CONF_SG_PARAM_17,
164 WL18XX_CONF_SG_PARAM_18,
165 WL18XX_CONF_SG_PARAM_19,
166 WL18XX_CONF_SG_PARAM_20,
167 WL18XX_CONF_SG_PARAM_21,
168 WL18XX_CONF_SG_PARAM_22,
169 WL18XX_CONF_SG_PARAM_23,
170 WL18XX_CONF_SG_PARAM_24,
171 WL18XX_CONF_SG_PARAM_25,
172
173 /* Active Scan Parameters */
174 WL18XX_CONF_SG_AUTO_SCAN_PROBE_REQ,
175 WL18XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3,
176
177 WL18XX_CONF_SG_PARAM_28,
178
179 /* Passive Scan Parameters */
180 WL18XX_CONF_SG_PARAM_29,
181 WL18XX_CONF_SG_PARAM_30,
182 WL18XX_CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3,
183
184 /* Passive Scan in Dual Antenna Parameters */
185 WL18XX_CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN,
186 WL18XX_CONF_SG_BEACON_HV3_COLL_TH_IN_PASSIVE_SCAN,
187 WL18XX_CONF_SG_TX_RX_PROTECT_BW_IN_PASSIVE_SCAN,
188
189 /* General Parameters */
190 WL18XX_CONF_SG_STA_FORCE_PS_IN_BT_SCO,
191 WL18XX_CONF_SG_PARAM_36,
192 WL18XX_CONF_SG_BEACON_MISS_PERCENT,
193 WL18XX_CONF_SG_PARAM_38,
194 WL18XX_CONF_SG_RXT,
195 WL18XX_CONF_SG_UNUSED,
196 WL18XX_CONF_SG_ADAPTIVE_RXT_TXT,
197 WL18XX_CONF_SG_GENERAL_USAGE_BIT_MAP,
198 WL18XX_CONF_SG_HV3_MAX_SERVED,
199 WL18XX_CONF_SG_PARAM_44,
200 WL18XX_CONF_SG_PARAM_45,
201 WL18XX_CONF_SG_CONSECUTIVE_CTS_THRESHOLD,
202 WL18XX_CONF_SG_GEMINI_PARAM_47,
203 WL18XX_CONF_SG_STA_CONNECTION_PROTECTION_TIME,
204
205 /* AP Parameters */
206 WL18XX_CONF_SG_AP_BEACON_MISS_TX,
207 WL18XX_CONF_SG_PARAM_50,
208 WL18XX_CONF_SG_AP_BEACON_WINDOW_INTERVAL,
209 WL18XX_CONF_SG_AP_CONNECTION_PROTECTION_TIME,
210 WL18XX_CONF_SG_PARAM_53,
211 WL18XX_CONF_SG_PARAM_54,
212
213 /* CTS Diluting Parameters */
214 WL18XX_CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH,
215 WL18XX_CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER,
216
217 WL18XX_CONF_SG_TEMP_PARAM_1,
218 WL18XX_CONF_SG_TEMP_PARAM_2,
219 WL18XX_CONF_SG_TEMP_PARAM_3,
220 WL18XX_CONF_SG_TEMP_PARAM_4,
221 WL18XX_CONF_SG_TEMP_PARAM_5,
222 WL18XX_CONF_SG_TEMP_PARAM_6,
223 WL18XX_CONF_SG_TEMP_PARAM_7,
224 WL18XX_CONF_SG_TEMP_PARAM_8,
225 WL18XX_CONF_SG_TEMP_PARAM_9,
226 WL18XX_CONF_SG_TEMP_PARAM_10,
227
228 WL18XX_CONF_SG_PARAMS_MAX,
229 WL18XX_CONF_SG_PARAMS_ALL = 0xff
230};
231
142#endif /* __WL18XX_CONF_H__ */ 232#endif /* __WL18XX_CONF_H__ */
diff --git a/drivers/net/wireless/ti/wl18xx/main.c b/drivers/net/wireless/ti/wl18xx/main.c
index 50cce42089a5..7869c3c99e6d 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -177,69 +177,80 @@ enum wl18xx_hw_rates {
177static struct wlcore_conf wl18xx_conf = { 177static struct wlcore_conf wl18xx_conf = {
178 .sg = { 178 .sg = {
179 .params = { 179 .params = {
180 [CONF_SG_ACL_BT_MASTER_MIN_BR] = 10, 180 [WL18XX_CONF_SG_PARAM_0] = 0,
181 [CONF_SG_ACL_BT_MASTER_MAX_BR] = 180, 181 /* Configuartion Parameters */
182 [CONF_SG_ACL_BT_SLAVE_MIN_BR] = 10, 182 [WL18XX_CONF_SG_ANTENNA_CONFIGURATION] = 0,
183 [CONF_SG_ACL_BT_SLAVE_MAX_BR] = 180, 183 [WL18XX_CONF_SG_ZIGBEE_COEX] = 0,
184 [CONF_SG_ACL_BT_MASTER_MIN_EDR] = 10, 184 [WL18XX_CONF_SG_TIME_SYNC] = 0,
185 [CONF_SG_ACL_BT_MASTER_MAX_EDR] = 80, 185 [WL18XX_CONF_SG_PARAM_4] = 0,
186 [CONF_SG_ACL_BT_SLAVE_MIN_EDR] = 10, 186 [WL18XX_CONF_SG_PARAM_5] = 0,
187 [CONF_SG_ACL_BT_SLAVE_MAX_EDR] = 80, 187 [WL18XX_CONF_SG_PARAM_6] = 0,
188 [CONF_SG_ACL_WLAN_PS_MASTER_BR] = 8, 188 [WL18XX_CONF_SG_PARAM_7] = 0,
189 [CONF_SG_ACL_WLAN_PS_SLAVE_BR] = 8, 189 [WL18XX_CONF_SG_PARAM_8] = 0,
190 [CONF_SG_ACL_WLAN_PS_MASTER_EDR] = 20, 190 [WL18XX_CONF_SG_PARAM_9] = 0,
191 [CONF_SG_ACL_WLAN_PS_SLAVE_EDR] = 20, 191 [WL18XX_CONF_SG_PARAM_10] = 0,
192 [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR] = 20, 192 [WL18XX_CONF_SG_PARAM_11] = 0,
193 [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR] = 35, 193 [WL18XX_CONF_SG_PARAM_12] = 0,
194 [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR] = 16, 194 [WL18XX_CONF_SG_PARAM_13] = 0,
195 [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR] = 35, 195 [WL18XX_CONF_SG_PARAM_14] = 0,
196 [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR] = 32, 196 [WL18XX_CONF_SG_PARAM_15] = 0,
197 [CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR] = 50, 197 [WL18XX_CONF_SG_PARAM_16] = 0,
198 [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR] = 28, 198 [WL18XX_CONF_SG_PARAM_17] = 0,
199 [CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR] = 50, 199 [WL18XX_CONF_SG_PARAM_18] = 0,
200 [CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR] = 10, 200 [WL18XX_CONF_SG_PARAM_19] = 0,
201 [CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR] = 20, 201 [WL18XX_CONF_SG_PARAM_20] = 0,
202 [CONF_SG_ACL_PASSIVE_SCAN_BT_BR] = 75, 202 [WL18XX_CONF_SG_PARAM_21] = 0,
203 [CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR] = 15, 203 [WL18XX_CONF_SG_PARAM_22] = 0,
204 [CONF_SG_ACL_PASSIVE_SCAN_BT_EDR] = 27, 204 [WL18XX_CONF_SG_PARAM_23] = 0,
205 [CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR] = 17, 205 [WL18XX_CONF_SG_PARAM_24] = 0,
206 /* active scan params */ 206 [WL18XX_CONF_SG_PARAM_25] = 0,
207 [CONF_SG_AUTO_SCAN_PROBE_REQ] = 170, 207 /* Active Scan Parameters */
208 [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3] = 50, 208 [WL18XX_CONF_SG_AUTO_SCAN_PROBE_REQ] = 170,
209 [CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP] = 100, 209 [WL18XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3] = 50,
210 /* passive scan params */ 210 [WL18XX_CONF_SG_PARAM_28] = 0,
211 [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_BR] = 800, 211 /* Passive Scan Parameters */
212 [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_EDR] = 200, 212 [WL18XX_CONF_SG_PARAM_29] = 0,
213 [CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3] = 200, 213 [WL18XX_CONF_SG_PARAM_30] = 0,
214 /* passive scan in dual antenna params */ 214 [WL18XX_CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3] = 200,
215 [CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN] = 0, 215 /* Passive Scan in Dual Antenna Parameters */
216 [CONF_SG_BCN_HV3_COLLISION_THRESH_IN_PASSIVE_SCAN] = 0, 216 [WL18XX_CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN] = 0,
217 [CONF_SG_TX_RX_PROTECTION_BWIDTH_IN_PASSIVE_SCAN] = 0, 217 [WL18XX_CONF_SG_BEACON_HV3_COLL_TH_IN_PASSIVE_SCAN] = 0,
218 /* general params */ 218 [WL18XX_CONF_SG_TX_RX_PROTECT_BW_IN_PASSIVE_SCAN] = 0,
219 [CONF_SG_STA_FORCE_PS_IN_BT_SCO] = 1, 219 /* General Parameters */
220 [CONF_SG_ANTENNA_CONFIGURATION] = 0, 220 [WL18XX_CONF_SG_STA_FORCE_PS_IN_BT_SCO] = 1,
221 [CONF_SG_BEACON_MISS_PERCENT] = 60, 221 [WL18XX_CONF_SG_PARAM_36] = 0,
222 [CONF_SG_DHCP_TIME] = 5000, 222 [WL18XX_CONF_SG_BEACON_MISS_PERCENT] = 60,
223 [CONF_SG_RXT] = 1200, 223 [WL18XX_CONF_SG_PARAM_38] = 0,
224 [CONF_SG_TXT] = 1000, 224 [WL18XX_CONF_SG_RXT] = 1200,
225 [CONF_SG_ADAPTIVE_RXT_TXT] = 1, 225 [WL18XX_CONF_SG_UNUSED] = 0,
226 [CONF_SG_GENERAL_USAGE_BIT_MAP] = 3, 226 [WL18XX_CONF_SG_ADAPTIVE_RXT_TXT] = 1,
227 [CONF_SG_HV3_MAX_SERVED] = 6, 227 [WL18XX_CONF_SG_GENERAL_USAGE_BIT_MAP] = 3,
228 [CONF_SG_PS_POLL_TIMEOUT] = 10, 228 [WL18XX_CONF_SG_HV3_MAX_SERVED] = 6,
229 [CONF_SG_UPSD_TIMEOUT] = 10, 229 [WL18XX_CONF_SG_PARAM_44] = 0,
230 [CONF_SG_CONSECUTIVE_CTS_THRESHOLD] = 2, 230 [WL18XX_CONF_SG_PARAM_45] = 0,
231 [CONF_SG_STA_RX_WINDOW_AFTER_DTIM] = 5, 231 [WL18XX_CONF_SG_CONSECUTIVE_CTS_THRESHOLD] = 2,
232 [CONF_SG_STA_CONNECTION_PROTECTION_TIME] = 30, 232 [WL18XX_CONF_SG_GEMINI_PARAM_47] = 0,
233 /* AP params */ 233 [WL18XX_CONF_SG_STA_CONNECTION_PROTECTION_TIME] = 0,
234 [CONF_AP_BEACON_MISS_TX] = 3, 234 /* AP Parameters */
235 [CONF_AP_RX_WINDOW_AFTER_BEACON] = 10, 235 [WL18XX_CONF_SG_AP_BEACON_MISS_TX] = 3,
236 [CONF_AP_BEACON_WINDOW_INTERVAL] = 2, 236 [WL18XX_CONF_SG_PARAM_50] = 0,
237 [CONF_AP_CONNECTION_PROTECTION_TIME] = 0, 237 [WL18XX_CONF_SG_AP_BEACON_WINDOW_INTERVAL] = 2,
238 [CONF_AP_BT_ACL_VAL_BT_SERVE_TIME] = 25, 238 [WL18XX_CONF_SG_AP_CONNECTION_PROTECTION_TIME] = 30,
239 [CONF_AP_BT_ACL_VAL_WL_SERVE_TIME] = 25, 239 [WL18XX_CONF_SG_PARAM_53] = 0,
240 /* CTS Diluting params */ 240 [WL18XX_CONF_SG_PARAM_54] = 0,
241 [CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH] = 0, 241 /* CTS Diluting Parameters */
242 [CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER] = 0, 242 [WL18XX_CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH] = 0,
243 [WL18XX_CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER] = 0,
244 [WL18XX_CONF_SG_TEMP_PARAM_1] = 0,
245 [WL18XX_CONF_SG_TEMP_PARAM_2] = 0,
246 [WL18XX_CONF_SG_TEMP_PARAM_3] = 0,
247 [WL18XX_CONF_SG_TEMP_PARAM_4] = 0,
248 [WL18XX_CONF_SG_TEMP_PARAM_5] = 0,
249 [WL18XX_CONF_SG_TEMP_PARAM_6] = 0,
250 [WL18XX_CONF_SG_TEMP_PARAM_7] = 0,
251 [WL18XX_CONF_SG_TEMP_PARAM_8] = 0,
252 [WL18XX_CONF_SG_TEMP_PARAM_9] = 0,
253 [WL18XX_CONF_SG_TEMP_PARAM_10] = 0,
243 }, 254 },
244 .state = CONF_SG_PROTECTIVE, 255 .state = CONF_SG_PROTECTIVE,
245 }, 256 },
@@ -1895,6 +1906,7 @@ static int wl18xx_setup(struct wl1271 *wl)
1895 1906
1896 BUILD_BUG_ON(WL18XX_MAX_LINKS > WLCORE_MAX_LINKS); 1907 BUILD_BUG_ON(WL18XX_MAX_LINKS > WLCORE_MAX_LINKS);
1897 BUILD_BUG_ON(WL18XX_MAX_AP_STATIONS > WL18XX_MAX_LINKS); 1908 BUILD_BUG_ON(WL18XX_MAX_AP_STATIONS > WL18XX_MAX_LINKS);
1909 BUILD_BUG_ON(WL18XX_CONF_SG_PARAMS_MAX > WLCORE_CONF_SG_PARAMS_MAX);
1898 1910
1899 wl->rtable = wl18xx_rtable; 1911 wl->rtable = wl18xx_rtable;
1900 wl->num_tx_desc = WL18XX_NUM_TX_DESCRIPTORS; 1912 wl->num_tx_desc = WL18XX_NUM_TX_DESCRIPTORS;
diff --git a/drivers/net/wireless/ti/wlcore/acx.c b/drivers/net/wireless/ti/wlcore/acx.c
index f28fa3b5029d..26cc23f32241 100644
--- a/drivers/net/wireless/ti/wlcore/acx.c
+++ b/drivers/net/wireless/ti/wlcore/acx.c
@@ -534,9 +534,9 @@ int wl12xx_acx_sg_cfg(struct wl1271 *wl)
534 } 534 }
535 535
536 /* BT-WLAN coext parameters */ 536 /* BT-WLAN coext parameters */
537 for (i = 0; i < CONF_SG_PARAMS_MAX; i++) 537 for (i = 0; i < WLCORE_CONF_SG_PARAMS_MAX; i++)
538 param->params[i] = cpu_to_le32(c->params[i]); 538 param->params[i] = cpu_to_le32(c->params[i]);
539 param->param_idx = CONF_SG_PARAMS_ALL; 539 param->param_idx = WLCORE_CONF_SG_PARAMS_ALL;
540 540
541 ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param)); 541 ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
542 if (ret < 0) { 542 if (ret < 0) {
diff --git a/drivers/net/wireless/ti/wlcore/acx.h b/drivers/net/wireless/ti/wlcore/acx.h
index 954d57ec98f4..0d61fae88dcb 100644
--- a/drivers/net/wireless/ti/wlcore/acx.h
+++ b/drivers/net/wireless/ti/wlcore/acx.h
@@ -300,7 +300,7 @@ struct acx_bt_wlan_coex {
300struct acx_bt_wlan_coex_param { 300struct acx_bt_wlan_coex_param {
301 struct acx_header header; 301 struct acx_header header;
302 302
303 __le32 params[CONF_SG_PARAMS_MAX]; 303 __le32 params[WLCORE_CONF_SG_PARAMS_MAX];
304 u8 param_idx; 304 u8 param_idx;
305 u8 padding[3]; 305 u8 padding[3];
306} __packed; 306} __packed;
diff --git a/drivers/net/wireless/ti/wlcore/conf.h b/drivers/net/wireless/ti/wlcore/conf.h
index 52a9d1b14020..44d898fe0afc 100644
--- a/drivers/net/wireless/ti/wlcore/conf.h
+++ b/drivers/net/wireless/ti/wlcore/conf.h
@@ -110,242 +110,11 @@ enum {
110 CONF_SG_OPPORTUNISTIC 110 CONF_SG_OPPORTUNISTIC
111}; 111};
112 112
113enum { 113#define WLCORE_CONF_SG_PARAMS_MAX 67
114 /* 114#define WLCORE_CONF_SG_PARAMS_ALL 0xff
115 * Configure the min and max time BT gains the antenna
116 * in WLAN / BT master basic rate
117 *
118 * Range: 0 - 255 (ms)
119 */
120 CONF_SG_ACL_BT_MASTER_MIN_BR = 0,
121 CONF_SG_ACL_BT_MASTER_MAX_BR,
122
123 /*
124 * Configure the min and max time BT gains the antenna
125 * in WLAN / BT slave basic rate
126 *
127 * Range: 0 - 255 (ms)
128 */
129 CONF_SG_ACL_BT_SLAVE_MIN_BR,
130 CONF_SG_ACL_BT_SLAVE_MAX_BR,
131
132 /*
133 * Configure the min and max time BT gains the antenna
134 * in WLAN / BT master EDR
135 *
136 * Range: 0 - 255 (ms)
137 */
138 CONF_SG_ACL_BT_MASTER_MIN_EDR,
139 CONF_SG_ACL_BT_MASTER_MAX_EDR,
140
141 /*
142 * Configure the min and max time BT gains the antenna
143 * in WLAN / BT slave EDR
144 *
145 * Range: 0 - 255 (ms)
146 */
147 CONF_SG_ACL_BT_SLAVE_MIN_EDR,
148 CONF_SG_ACL_BT_SLAVE_MAX_EDR,
149
150 /*
151 * The maximum time WLAN can gain the antenna
152 * in WLAN PSM / BT master/slave BR
153 *
154 * Range: 0 - 255 (ms)
155 */
156 CONF_SG_ACL_WLAN_PS_MASTER_BR,
157 CONF_SG_ACL_WLAN_PS_SLAVE_BR,
158
159 /*
160 * The maximum time WLAN can gain the antenna
161 * in WLAN PSM / BT master/slave EDR
162 *
163 * Range: 0 - 255 (ms)
164 */
165 CONF_SG_ACL_WLAN_PS_MASTER_EDR,
166 CONF_SG_ACL_WLAN_PS_SLAVE_EDR,
167
168 /* TODO: explain these values */
169 CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR,
170 CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR,
171 CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR,
172 CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR,
173 CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR,
174 CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR,
175 CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR,
176 CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR,
177
178 CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR,
179 CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR,
180 CONF_SG_ACL_PASSIVE_SCAN_BT_BR,
181 CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR,
182 CONF_SG_ACL_PASSIVE_SCAN_BT_EDR,
183 CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR,
184
185 /*
186 * Compensation percentage of probe requests when scan initiated
187 * during BT voice/ACL link.
188 *
189 * Range: 0 - 255 (%)
190 */
191 CONF_SG_AUTO_SCAN_PROBE_REQ,
192
193 /*
194 * Compensation percentage of probe requests when active scan initiated
195 * during BT voice
196 *
197 * Range: 0 - 255 (%)
198 */
199 CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3,
200
201 /*
202 * Compensation percentage of WLAN active scan window if initiated
203 * during BT A2DP
204 *
205 * Range: 0 - 1000 (%)
206 */
207 CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP,
208
209 /*
210 * Compensation percentage of WLAN passive scan window if initiated
211 * during BT A2DP BR
212 *
213 * Range: 0 - 1000 (%)
214 */
215 CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_BR,
216
217 /*
218 * Compensation percentage of WLAN passive scan window if initiated
219 * during BT A2DP EDR
220 *
221 * Range: 0 - 1000 (%)
222 */
223 CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_A2DP_EDR,
224
225 /*
226 * Compensation percentage of WLAN passive scan window if initiated
227 * during BT voice
228 *
229 * Range: 0 - 1000 (%)
230 */
231 CONF_SG_PASSIVE_SCAN_DURATION_FACTOR_HV3,
232
233 /* TODO: explain these values */
234 CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN,
235 CONF_SG_BCN_HV3_COLLISION_THRESH_IN_PASSIVE_SCAN,
236 CONF_SG_TX_RX_PROTECTION_BWIDTH_IN_PASSIVE_SCAN,
237
238 /*
239 * Defines whether the SG will force WLAN host to enter/exit PSM
240 *
241 * Range: 1 - SG can force, 0 - host handles PSM
242 */
243 CONF_SG_STA_FORCE_PS_IN_BT_SCO,
244
245 /*
246 * Defines antenna configuration (single/dual antenna)
247 *
248 * Range: 0 - single antenna, 1 - dual antenna
249 */
250 CONF_SG_ANTENNA_CONFIGURATION,
251
252 /*
253 * The threshold (percent) of max consecutive beacon misses before
254 * increasing priority of beacon reception.
255 *
256 * Range: 0 - 100 (%)
257 */
258 CONF_SG_BEACON_MISS_PERCENT,
259
260 /*
261 * Protection time of the DHCP procedure.
262 *
263 * Range: 0 - 100000 (ms)
264 */
265 CONF_SG_DHCP_TIME,
266
267 /*
268 * RX guard time before the beginning of a new BT voice frame during
269 * which no new WLAN trigger frame is transmitted.
270 *
271 * Range: 0 - 100000 (us)
272 */
273 CONF_SG_RXT,
274
275 /*
276 * TX guard time before the beginning of a new BT voice frame during
277 * which no new WLAN frame is transmitted.
278 *
279 * Range: 0 - 100000 (us)
280 */
281
282 CONF_SG_TXT,
283
284 /*
285 * Enable adaptive RXT/TXT algorithm. If disabled, the host values
286 * will be utilized.
287 *
288 * Range: 0 - disable, 1 - enable
289 */
290 CONF_SG_ADAPTIVE_RXT_TXT,
291
292 /* TODO: explain this value */
293 CONF_SG_GENERAL_USAGE_BIT_MAP,
294
295 /*
296 * Number of consecutive BT voice frames not interrupted by WLAN
297 *
298 * Range: 0 - 100
299 */
300 CONF_SG_HV3_MAX_SERVED,
301
302 /*
303 * The used WLAN legacy service period during active BT ACL link
304 *
305 * Range: 0 - 255 (ms)
306 */
307 CONF_SG_PS_POLL_TIMEOUT,
308
309 /*
310 * The used WLAN UPSD service period during active BT ACL link
311 *
312 * Range: 0 - 255 (ms)
313 */
314 CONF_SG_UPSD_TIMEOUT,
315
316 CONF_SG_CONSECUTIVE_CTS_THRESHOLD,
317 CONF_SG_STA_RX_WINDOW_AFTER_DTIM,
318 CONF_SG_STA_CONNECTION_PROTECTION_TIME,
319
320 /* AP params */
321 CONF_AP_BEACON_MISS_TX,
322 CONF_AP_RX_WINDOW_AFTER_BEACON,
323 CONF_AP_BEACON_WINDOW_INTERVAL,
324 CONF_AP_CONNECTION_PROTECTION_TIME,
325 CONF_AP_BT_ACL_VAL_BT_SERVE_TIME,
326 CONF_AP_BT_ACL_VAL_WL_SERVE_TIME,
327
328 /* CTS Diluting params */
329 CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH,
330 CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER,
331
332 CONF_SG_TEMP_PARAM_1,
333 CONF_SG_TEMP_PARAM_2,
334 CONF_SG_TEMP_PARAM_3,
335 CONF_SG_TEMP_PARAM_4,
336 CONF_SG_TEMP_PARAM_5,
337 CONF_SG_TEMP_PARAM_6,
338 CONF_SG_TEMP_PARAM_7,
339 CONF_SG_TEMP_PARAM_8,
340 CONF_SG_TEMP_PARAM_9,
341 CONF_SG_TEMP_PARAM_10,
342
343 CONF_SG_PARAMS_MAX,
344 CONF_SG_PARAMS_ALL = 0xff
345};
346 115
347struct conf_sg_settings { 116struct conf_sg_settings {
348 u32 params[CONF_SG_PARAMS_MAX]; 117 u32 params[WLCORE_CONF_SG_PARAMS_MAX];
349 u8 state; 118 u8 state;
350} __packed; 119} __packed;
351 120