Lines Matching +full:0 +full:x256

67 static SYSCTL_NODE(_hw_usb, OID_AUTO, urtw, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
70 int urtw_debug = 0;
71 SYSCTL_INT(_hw_usb_urtw, OID_AUTO, debug, CTLFLAG_RWTUN, &urtw_debug, 0,
74 URTW_DEBUG_XMIT = 0x00000001, /* basic xmit operation */
75 URTW_DEBUG_RECV = 0x00000002, /* basic recv operation */
76 URTW_DEBUG_RESET = 0x00000004, /* reset processing */
77 URTW_DEBUG_TX_PROC = 0x00000008, /* tx ISR proc */
78 URTW_DEBUG_RX_PROC = 0x00000010, /* rx ISR proc */
79 URTW_DEBUG_STATE = 0x00000020, /* 802.11 state transitions */
80 URTW_DEBUG_STAT = 0x00000040, /* statistic */
81 URTW_DEBUG_INIT = 0x00000080, /* initialization of dev */
82 URTW_DEBUG_TXSTATUS = 0x00000100, /* tx status */
83 URTW_DEBUG_ANY = 0xffffffff
88 } while (0)
92 } while (0)
96 &urtw_preamble_mode, 0, "set the preable mode (long or short)");
105 #define URTW_REV_RTL8187B 0
120 { USB_VPI(USB_VENDOR_OVISLINK, 0x8187, URTW_REV_RTL8187L) },
121 { USB_VPI(USB_VENDOR_DICKSMITH, 0x9401, URTW_REV_RTL8187L) },
122 { USB_VPI(USB_VENDOR_HP, 0xca02, URTW_REV_RTL8187L) },
123 { USB_VPI(USB_VENDOR_LOGITEC, 0x010c, URTW_REV_RTL8187L) },
124 { USB_VPI(USB_VENDOR_NETGEAR, 0x6100, URTW_REV_RTL8187L) },
125 { USB_VPI(USB_VENDOR_SPHAIRON, 0x0150, URTW_REV_RTL8187L) },
126 { USB_VPI(USB_VENDOR_QCOM, 0x6232, URTW_REV_RTL8187L) },
133 if (error != 0) \
135 } while (0)
138 if (error != 0) \
140 } while (0)
143 if (error != 0) \
145 } while (0)
148 if (error != 0) \
150 } while (0)
153 if (error != 0) \
155 } while (0)
158 if (error != 0) \
160 } while (0)
163 if (error != 0) \
165 } while (0)
168 if (error != 0) \
170 } while (0)
173 if (error != 0) \
175 } while (0)
183 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9d, 0x9c, 0x9b,
184 0x9a, 0x99, 0x98, 0x97, 0x96, 0x95, 0x94, 0x93, 0x92, 0x91, 0x90,
185 0x8f, 0x8e, 0x8d, 0x8c, 0x8b, 0x8a, 0x89, 0x88, 0x87, 0x86, 0x85,
186 0x84, 0x83, 0x82, 0x81, 0x80, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a,
187 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f,
188 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24,
189 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19,
190 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e,
191 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03,
192 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
193 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
194 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
198 0x5e, 0x5e, 0x5e, 0x5e, 0x5d, 0x5b, 0x59, 0x57, 0x55, 0x53, 0x51,
199 0x4f, 0x4d, 0x4b, 0x49, 0x47, 0x45, 0x43, 0x41, 0x3f, 0x3d, 0x3b,
200 0x39, 0x37, 0x35, 0x33, 0x31, 0x2f, 0x2d, 0x2b, 0x29, 0x27, 0x25,
201 0x23, 0x21, 0x1f, 0x1d, 0x1b, 0x19, 0x17, 0x15, 0x13, 0x11, 0x0f,
202 0x0d, 0x0b, 0x09, 0x07, 0x05, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01,
203 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x19, 0x19,
204 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x20, 0x21, 0x22, 0x23,
205 0x24, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, 0x2a, 0x2a,
206 0x2a, 0x2b, 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2d, 0x2d,
207 0x2e, 0x2e, 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x30, 0x30, 0x31, 0x31,
208 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31,
209 0x31, 0x31, 0x31, 0x31, 0x31, 0x31, 0x31
213 0x0000, /* dummy channel 0 */
214 0x085c, /* 1 */
215 0x08dc, /* 2 */
216 0x095c, /* 3 */
217 0x09dc, /* 4 */
218 0x0a5c, /* 5 */
219 0x0adc, /* 6 */
220 0x0b5c, /* 7 */
221 0x0bdc, /* 8 */
222 0x0c5c, /* 9 */
223 0x0cdc, /* 10 */
224 0x0d5c, /* 11 */
225 0x0ddc, /* 12 */
226 0x0e5c, /* 13 */
227 0x0f72, /* 14 */
231 0x23, 0x88, 0x7c, 0xa5, /* -82dbm */
232 0x23, 0x88, 0x7c, 0xb5, /* -82dbm */
233 0x23, 0x88, 0x7c, 0xc5, /* -82dbm */
234 0x33, 0x80, 0x79, 0xc5, /* -78dbm */
235 0x43, 0x78, 0x76, 0xc5, /* -74dbm */
236 0x53, 0x60, 0x73, 0xc5, /* -70dbm */
237 0x63, 0x58, 0x70, 0xc5, /* -66dbm */
241 { 0x00, 0x0067 }, { 0x01, 0x0fe0 }, { 0x02, 0x044d }, { 0x03, 0x0441 },
242 { 0x04, 0x0486 }, { 0x05, 0x0bc0 }, { 0x06, 0x0ae6 }, { 0x07, 0x082a },
243 { 0x08, 0x001f }, { 0x09, 0x0334 }, { 0x0a, 0x0fd4 }, { 0x0b, 0x0391 },
244 { 0x0c, 0x0050 }, { 0x0d, 0x06db }, { 0x0e, 0x0029 }, { 0x0f, 0x0914 },
248 { 0x00, 0x01 }, { 0x01, 0x02 }, { 0x02, 0x42 }, { 0x03, 0x00 },
249 { 0x04, 0x00 }, { 0x05, 0x00 }, { 0x06, 0x40 }, { 0x07, 0x00 },
250 { 0x08, 0x40 }, { 0x09, 0xfe }, { 0x0a, 0x09 }, { 0x0b, 0x80 },
251 { 0x0c, 0x01 }, { 0x0e, 0xd3 }, { 0x0f, 0x38 }, { 0x10, 0x84 },
252 { 0x11, 0x06 }, { 0x12, 0x20 }, { 0x13, 0x20 }, { 0x14, 0x00 },
253 { 0x15, 0x40 }, { 0x16, 0x00 }, { 0x17, 0x40 }, { 0x18, 0xef },
254 { 0x19, 0x19 }, { 0x1a, 0x20 }, { 0x1b, 0x76 }, { 0x1c, 0x04 },
255 { 0x1e, 0x95 }, { 0x1f, 0x75 }, { 0x20, 0x1f }, { 0x21, 0x27 },
256 { 0x22, 0x16 }, { 0x24, 0x46 }, { 0x25, 0x20 }, { 0x26, 0x90 },
257 { 0x27, 0x88 }
261 { 0x00, 0x98 }, { 0x03, 0x20 }, { 0x04, 0x7e }, { 0x05, 0x12 },
262 { 0x06, 0xfc }, { 0x07, 0x78 }, { 0x08, 0x2e }, { 0x10, 0x9b },
263 { 0x11, 0x88 }, { 0x12, 0x47 }, { 0x13, 0xd0 }, { 0x19, 0x00 },
264 { 0x1a, 0xa0 }, { 0x1b, 0x08 }, { 0x40, 0x86 }, { 0x41, 0x8d },
265 { 0x42, 0x15 }, { 0x43, 0x18 }, { 0x44, 0x1f }, { 0x45, 0x1e },
266 { 0x46, 0x1a }, { 0x47, 0x15 }, { 0x48, 0x10 }, { 0x49, 0x0a },
267 { 0x4a, 0x05 }, { 0x4b, 0x02 }, { 0x4c, 0x05 }
271 0x0400, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0408, 0x0409,
272 0x040a, 0x040b, 0x0502, 0x0503, 0x0504, 0x0505, 0x0540, 0x0541,
273 0x0542, 0x0543, 0x0544, 0x0545, 0x0580, 0x0581, 0x0582, 0x0583,
274 0x0584, 0x0585, 0x0588, 0x0589, 0x058a, 0x058b, 0x0643, 0x0644,
275 0x0645, 0x0680, 0x0681, 0x0682, 0x0683, 0x0684, 0x0685, 0x0688,
276 0x0689, 0x068a, 0x068b, 0x068c, 0x0742, 0x0743, 0x0744, 0x0745,
277 0x0780, 0x0781, 0x0782, 0x0783, 0x0784, 0x0785, 0x0788, 0x0789,
278 0x078a, 0x078b, 0x078c, 0x078d, 0x0790, 0x0791, 0x0792, 0x0793,
279 0x0794, 0x0795, 0x0798, 0x0799, 0x079a, 0x079b, 0x079c, 0x079d,
280 0x07a0, 0x07a1, 0x07a2, 0x07a3, 0x07a4, 0x07a5, 0x07a8, 0x07a9,
281 0x07aa, 0x07ab, 0x07ac, 0x07ad, 0x07b0, 0x07b1, 0x07b2, 0x07b3,
282 0x07b4, 0x07b5, 0x07b8, 0x07b9, 0x07ba, 0x07bb, 0x07bb
286 0x8d, 0x8d, 0x8d, 0x8d, 0x9d, 0xad, 0xbd,
290 0x02, 0x06, 0x0e, 0x1e, 0x3e, 0x7e
294 0x18, 0x17, 0x15, 0x11, 0x0c, 0x08, 0x04, 0x02,
295 0x1b, 0x1a, 0x17, 0x13, 0x0e, 0x09, 0x04, 0x02,
296 0x1f, 0x1e, 0x1a, 0x15, 0x10, 0x0a, 0x05, 0x02,
297 0x22, 0x21, 0x1d, 0x18, 0x11, 0x0b, 0x06, 0x02,
298 0x26, 0x25, 0x21, 0x1b, 0x14, 0x0d, 0x06, 0x03,
299 0x2b, 0x2a, 0x25, 0x1e, 0x16, 0x0e, 0x07, 0x03
303 0x18, 0x17, 0x15, 0x0c, 0x00, 0x00, 0x00, 0x00,
304 0x1b, 0x1a, 0x17, 0x0e, 0x00, 0x00, 0x00, 0x00,
305 0x1f, 0x1e, 0x1a, 0x0f, 0x00, 0x00, 0x00, 0x00,
306 0x22, 0x21, 0x1d, 0x11, 0x00, 0x00, 0x00, 0x00,
307 0x26, 0x25, 0x21, 0x13, 0x00, 0x00, 0x00, 0x00,
308 0x2b, 0x2a, 0x25, 0x15, 0x00, 0x00, 0x00, 0x00
312 0x80, 0x90, 0xa2, 0xb5, 0xcb, 0xe4
316 0x23, 0x15, 0xa5, /* -82-1dbm */
317 0x23, 0x15, 0xb5, /* -82-2dbm */
318 0x23, 0x15, 0xc5, /* -82-3dbm */
319 0x33, 0x15, 0xc5, /* -78dbm */
320 0x43, 0x15, 0xc5, /* -74dbm */
321 0x53, 0x15, 0xc5, /* -70dbm */
322 0x63, 0x15, 0xc5, /* -66dbm */
326 { 0x00, 0x02bf }, { 0x01, 0x0ee0 }, { 0x02, 0x044d }, { 0x03, 0x0441 },
327 { 0x04, 0x08c3 }, { 0x05, 0x0c72 }, { 0x06, 0x00e6 }, { 0x07, 0x082a },
328 { 0x08, 0x003f }, { 0x09, 0x0335 }, { 0x0a, 0x09d4 }, { 0x0b, 0x07bb },
329 { 0x0c, 0x0850 }, { 0x0d, 0x0cdf }, { 0x0e, 0x002b }, { 0x0f, 0x0114 }
333 { 0x00, 0x00b7 }, { 0x01, 0x0ee0 }, { 0x02, 0x044d }, { 0x03, 0x0441 },
334 { 0x04, 0x08c3 }, { 0x05, 0x0c72 }, { 0x06, 0x00e6 }, { 0x07, 0x082a },
335 { 0x08, 0x003f }, { 0x09, 0x0335 }, { 0x0a, 0x09d4 }, { 0x0b, 0x07bb },
336 { 0x0c, 0x0850 }, { 0x0d, 0x0cdf }, { 0x0e, 0x002b }, { 0x0f, 0x0114 }
340 {0x0f0, 0x32}, {0x0f1, 0x32}, {0x0f2, 0x00},
341 {0x0f3, 0x00}, {0x0f4, 0x32}, {0x0f5, 0x43},
342 {0x0f6, 0x00}, {0x0f7, 0x00}, {0x0f8, 0x46},
343 {0x0f9, 0xa4}, {0x0fa, 0x00}, {0x0fb, 0x00},
344 {0x0fc, 0x96}, {0x0fd, 0xa4}, {0x0fe, 0x00},
345 {0x0ff, 0x00}, {0x158, 0x4b}, {0x159, 0x00},
346 {0x15a, 0x4b}, {0x15b, 0x00}, {0x160, 0x4b},
347 {0x161, 0x09}, {0x162, 0x4b}, {0x163, 0x09},
348 {0x1ce, 0x0f}, {0x1cf, 0x00}, {0x1e0, 0xff},
349 {0x1e1, 0x0f}, {0x1e2, 0x00}, {0x1f0, 0x4e},
350 {0x1f1, 0x01}, {0x1f2, 0x02}, {0x1f3, 0x03},
351 {0x1f4, 0x04}, {0x1f5, 0x05}, {0x1f6, 0x06},
352 {0x1f7, 0x07}, {0x1f8, 0x08}, {0x24e, 0x00},
353 {0x20c, 0x04}, {0x221, 0x61}, {0x222, 0x68},
354 {0x223, 0x6f}, {0x224, 0x76}, {0x225, 0x7d},
355 {0x226, 0x84}, {0x227, 0x8d}, {0x24d, 0x08},
356 {0x250, 0x05}, {0x251, 0xf5}, {0x252, 0x04},
357 {0x253, 0xa0}, {0x254, 0x1f}, {0x255, 0x23},
358 {0x256, 0x45}, {0x257, 0x67}, {0x258, 0x08},
359 {0x259, 0x08}, {0x25a, 0x08}, {0x25b, 0x08},
360 {0x260, 0x08}, {0x261, 0x08}, {0x262, 0x08},
361 {0x263, 0x08}, {0x264, 0xcf}, {0x272, 0x56},
362 {0x273, 0x9a}, {0x034, 0xf0}, {0x035, 0x0f},
363 {0x05b, 0x40}, {0x084, 0x88}, {0x085, 0x24},
364 {0x088, 0x54}, {0x08b, 0xb8}, {0x08c, 0x07},
365 {0x08d, 0x00}, {0x094, 0x1b}, {0x095, 0x12},
366 {0x096, 0x00}, {0x097, 0x06}, {0x09d, 0x1a},
367 {0x09f, 0x10}, {0x0b4, 0x22}, {0x0be, 0x80},
368 {0x0db, 0x00}, {0x0ee, 0x00}, {0x091, 0x03},
369 {0x24c, 0x00}, {0x39f, 0x00}, {0x08c, 0x01},
370 {0x08d, 0x10}, {0x08e, 0x08}, {0x08f, 0x00}
374 { 0x00, 0x01 }, { 0x01, 0x02 }, { 0x02, 0x42 }, { 0x03, 0x00 },
375 { 0x04, 0x00 }, { 0x05, 0x00 }, { 0x06, 0x40 }, { 0x07, 0x00 },
376 { 0x08, 0x40 }, { 0x09, 0xfe }, { 0x0a, 0x08 }, { 0x0b, 0x80 },
377 { 0x0c, 0x01 }, { 0x0d, 0x43 }, { 0x0e, 0xd3 }, { 0x0f, 0x38 },
378 { 0x10, 0x84 }, { 0x11, 0x07 }, { 0x12, 0x20 }, { 0x13, 0x20 },
379 { 0x14, 0x00 }, { 0x15, 0x40 }, { 0x16, 0x00 }, { 0x17, 0x40 },
380 { 0x18, 0xef }, { 0x19, 0x19 }, { 0x1a, 0x20 }, { 0x1b, 0x15 },
381 { 0x1c, 0x04 }, { 0x1d, 0xc5 }, { 0x1e, 0x95 }, { 0x1f, 0x75 },
382 { 0x20, 0x1f }, { 0x21, 0x17 }, { 0x22, 0x16 }, { 0x23, 0x80 },
383 { 0x24, 0x46 }, { 0x25, 0x00 }, { 0x26, 0x90 }, { 0x27, 0x88 }
387 { 0x00, 0x10 }, { 0x01, 0x0d }, { 0x02, 0x01 }, { 0x03, 0x00 },
388 { 0x04, 0x14 }, { 0x05, 0xfb }, { 0x06, 0xfb }, { 0x07, 0x60 },
389 { 0x08, 0x00 }, { 0x09, 0x60 }, { 0x0a, 0x00 }, { 0x0b, 0x00 },
390 { 0x0c, 0x00 }, { 0x0d, 0x5c }, { 0x0e, 0x00 }, { 0x0f, 0x00 },
391 { 0x10, 0x40 }, { 0x11, 0x00 }, { 0x12, 0x40 }, { 0x13, 0x00 },
392 { 0x14, 0x00 }, { 0x15, 0x00 }, { 0x16, 0xa8 }, { 0x17, 0x26 },
393 { 0x18, 0x32 }, { 0x19, 0x33 }, { 0x1a, 0x07 }, { 0x1b, 0xa5 },
394 { 0x1c, 0x6f }, { 0x1d, 0x55 }, { 0x1e, 0xc8 }, { 0x1f, 0xb3 },
395 { 0x20, 0x0a }, { 0x21, 0xe1 }, { 0x22, 0x2C }, { 0x23, 0x8a },
396 { 0x24, 0x86 }, { 0x25, 0x83 }, { 0x26, 0x34 }, { 0x27, 0x0f },
397 { 0x28, 0x4f }, { 0x29, 0x24 }, { 0x2a, 0x6f }, { 0x2b, 0xc2 },
398 { 0x2c, 0x6b }, { 0x2d, 0x40 }, { 0x2e, 0x80 }, { 0x2f, 0x00 },
399 { 0x30, 0xc0 }, { 0x31, 0xc1 }, { 0x32, 0x58 }, { 0x33, 0xf1 },
400 { 0x34, 0x00 }, { 0x35, 0xe4 }, { 0x36, 0x90 }, { 0x37, 0x3e },
401 { 0x38, 0x6d }, { 0x39, 0x3c }, { 0x3a, 0xfb }, { 0x3b, 0x07 }
405 { 0x00, 0x98 }, { 0x03, 0x20 }, { 0x04, 0x7e }, { 0x05, 0x12 },
406 { 0x06, 0xfc }, { 0x07, 0x78 }, { 0x08, 0x2e }, { 0x09, 0x11 },
407 { 0x0a, 0x17 }, { 0x0b, 0x11 }, { 0x10, 0x9b }, { 0x11, 0x88 },
408 { 0x12, 0x47 }, { 0x13, 0xd0 }, { 0x19, 0x00 }, { 0x1a, 0xa0 },
409 { 0x1b, 0x08 }, { 0x1d, 0x00 }, { 0x40, 0x86 }, { 0x41, 0x9d },
410 { 0x42, 0x15 }, { 0x43, 0x18 }, { 0x44, 0x36 }, { 0x45, 0x35 },
411 { 0x46, 0x2e }, { 0x47, 0x25 }, { 0x48, 0x1c }, { 0x49, 0x12 },
412 { 0x4a, 0x09 }, { 0x4b, 0x04 }, { 0x4c, 0x05 }
416 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0008, 0x0009,
417 0x000a, 0x000b, 0x0102, 0x0103, 0x0104, 0x0105, 0x0140, 0x0141,
418 0x0142, 0x0143, 0x0144, 0x0145, 0x0180, 0x0181, 0x0182, 0x0183,
419 0x0184, 0x0185, 0x0188, 0x0189, 0x018a, 0x018b, 0x0243, 0x0244,
420 0x0245, 0x0280, 0x0281, 0x0282, 0x0283, 0x0284, 0x0285, 0x0288,
421 0x0289, 0x028a, 0x028b, 0x028c, 0x0342, 0x0343, 0x0344, 0x0345,
422 0x0380, 0x0381, 0x0382, 0x0383, 0x0384, 0x0385, 0x0388, 0x0389,
423 0x038a, 0x038b, 0x038c, 0x038d, 0x0390, 0x0391, 0x0392, 0x0393,
424 0x0394, 0x0395, 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d,
425 0x03a0, 0x03a1, 0x03a2, 0x03a3, 0x03a4, 0x03a5, 0x03a8, 0x03a9,
426 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03b0, 0x03b1, 0x03b2, 0x03b3,
427 0x03b4, 0x03b5, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bb
431 0x0400, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0408, 0x0409,
432 0x040a, 0x040b, 0x0502, 0x0503, 0x0504, 0x0505, 0x0540, 0x0541,
433 0x0542, 0x0543, 0x0544, 0x0545, 0x0580, 0x0581, 0x0582, 0x0583,
434 0x0584, 0x0585, 0x0588, 0x0589, 0x058a, 0x058b, 0x0643, 0x0644,
435 0x0645, 0x0680, 0x0681, 0x0682, 0x0683, 0x0684, 0x0685, 0x0688,
436 0x0689, 0x068a, 0x068b, 0x068c, 0x0742, 0x0743, 0x0744, 0x0745,
437 0x0780, 0x0781, 0x0782, 0x0783, 0x0784, 0x0785, 0x0788, 0x0789,
438 0x078a, 0x078b, 0x078c, 0x078d, 0x0790, 0x0791, 0x0792, 0x0793,
439 0x0794, 0x0795, 0x0798, 0x0799, 0x079a, 0x079b, 0x079c, 0x079d,
440 0x07a0, 0x07a1, 0x07a2, 0x07a3, 0x07a4, 0x07a5, 0x07a8, 0x07a9,
441 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03b0, 0x03b1, 0x03b2, 0x03b3,
442 0x03b4, 0x03b5, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bb
446 0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
447 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
448 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
449 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
450 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
451 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,
455 0x36, 0x35, 0x2e, 0x25, 0x1c, 0x12, 0x09, 0x04
459 0x36, 0x35, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00
463 0x36, 0x35, 0x2e, 0x25, 0x1c, 0x12, 0x09, 0x04,
464 0x30, 0x2f, 0x29, 0x21, 0x19, 0x10, 0x08, 0x03,
465 0x2b, 0x2a, 0x25, 0x1e, 0x16, 0x0e, 0x07, 0x03,
466 0x26, 0x25, 0x21, 0x1b, 0x14, 0x0d, 0x06, 0x03
470 0x36, 0x35, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00,
471 0x30, 0x2f, 0x29, 0x15, 0x00, 0x00, 0x00, 0x00,
472 0x30, 0x2f, 0x29, 0x15, 0x00, 0x00, 0x00, 0x00,
473 0x30, 0x2f, 0x29, 0x15, 0x00, 0x00, 0x00, 0x00
477 { 2, 0 }, { 4, 1 }, { 11, 2 }, { 12, 4 }, { 18, 5 },
482 #if 0
484 { 0xf0, 0x32, 0 }, { 0xf1, 0x32, 0 }, { 0xf2, 0x00, 0 },
485 { 0xf3, 0x00, 0 }, { 0xf4, 0x32, 0 }, { 0xf5, 0x43, 0 },
486 { 0xf6, 0x00, 0 }, { 0xf7, 0x00, 0 }, { 0xf8, 0x46, 0 },
487 { 0xf9, 0xa4, 0 }, { 0xfa, 0x00, 0 }, { 0xfb, 0x00, 0 },
488 { 0xfc, 0x96, 0 }, { 0xfd, 0xa4, 0 }, { 0xfe, 0x00, 0 },
489 { 0xff, 0x00, 0 }, { 0x58, 0x4b, 1 }, { 0x59, 0x00, 1 },
490 { 0x5a, 0x4b, 1 }, { 0x5b, 0x00, 1 }, { 0x60, 0x4b, 1 },
491 { 0x61, 0x09, 1 }, { 0x62, 0x4b, 1 }, { 0x63, 0x09, 1 },
492 { 0xce, 0x0f, 1 }, { 0xcf, 0x00, 1 }, { 0xe0, 0xff, 1 },
493 { 0xe1, 0x0f, 1 }, { 0xe2, 0x00, 1 }, { 0xf0, 0x4e, 1 },
494 { 0xf1, 0x01, 1 }, { 0xf2, 0x02, 1 }, { 0xf3, 0x03, 1 },
495 { 0xf4, 0x04, 1 }, { 0xf5, 0x05, 1 }, { 0xf6, 0x06, 1 },
496 { 0xf7, 0x07, 1 }, { 0xf8, 0x08, 1 }, { 0x4e, 0x00, 2 },
497 { 0x0c, 0x04, 2 }, { 0x21, 0x61, 2 }, { 0x22, 0x68, 2 },
498 { 0x23, 0x6f, 2 }, { 0x24, 0x76, 2 }, { 0x25, 0x7d, 2 },
499 { 0x26, 0x84, 2 }, { 0x27, 0x8d, 2 }, { 0x4d, 0x08, 2 },
500 { 0x50, 0x05, 2 }, { 0x51, 0xf5, 2 }, { 0x52, 0x04, 2 },
501 { 0x53, 0xa0, 2 }, { 0x54, 0x1f, 2 }, { 0x55, 0x23, 2 },
502 { 0x56, 0x45, 2 }, { 0x57, 0x67, 2 }, { 0x58, 0x08, 2 },
503 { 0x59, 0x08, 2 }, { 0x5a, 0x08, 2 }, { 0x5b, 0x08, 2 },
504 { 0x60, 0x08, 2 }, { 0x61, 0x08, 2 }, { 0x62, 0x08, 2 },
505 { 0x63, 0x08, 2 }, { 0x64, 0xcf, 2 }, { 0x72, 0x56, 2 },
506 { 0x73, 0x9a, 2 }, { 0x34, 0xf0, 0 }, { 0x35, 0x0f, 0 },
507 { 0x5b, 0x40, 0 }, { 0x84, 0x88, 0 }, { 0x85, 0x24, 0 },
508 { 0x88, 0x54, 0 }, { 0x8b, 0xb8, 0 }, { 0x8c, 0x07, 0 },
509 { 0x8d, 0x00, 0 }, { 0x94, 0x1b, 0 }, { 0x95, 0x12, 0 },
510 { 0x96, 0x00, 0 }, { 0x97, 0x06, 0 }, { 0x9d, 0x1a, 0 },
511 { 0x9f, 0x10, 0 }, { 0xb4, 0x22, 0 }, { 0xbe, 0x80, 0 },
512 { 0xdb, 0x00, 0 }, { 0xee, 0x00, 0 }, { 0x91, 0x03, 0 },
513 { 0x4c, 0x00, 2 }, { 0x9f, 0x00, 3 }, { 0x8c, 0x01, 0 },
514 { 0x8d, 0x10, 0 }, { 0x8e, 0x08, 0 }, { 0x8f, 0x00, 0 }
525 .endpoint = 0x83,
537 .endpoint = 0x89,
599 .endpoint = 0xc,
615 .endpoint = 0x81,
627 .endpoint = 0x2,
639 .endpoint = 0x3,
811 usb_callout_init_mtx(&sc->sc_led_ch, &sc->sc_mtx, 0); in urtw_attach()
812 TASK_INIT(&sc->sc_led_task, 0, urtw_ledtask, sc); in urtw_attach()
813 TASK_INIT(&sc->sc_updateslot_task, 0, urtw_updateslottask, sc); in urtw_attach()
814 callout_init(&sc->sc_watchdog_ch, 0); in urtw_attach()
837 URTW_8187B_BULK_TX_BE], 0); in urtw_attach()
841 URTW_8187L_BULK_TX_LOW], 0); in urtw_attach()
851 if (error != 0) in urtw_attach()
854 if (error != 0) in urtw_attach()
857 if (error != 0) in urtw_attach()
860 if (error != 0) in urtw_attach()
916 return (0); in urtw_attach()
960 for (x = 0; x != n_xfers; x++) in urtw_detach()
975 return (0); in urtw_detach()
981 urtw_free_data_list(sc, sc->sc_tx, URTW_TX_DATA_LIST_COUNT, 0); in urtw_free_tx_data_list()
996 for (i = 0; i < ndata; i++) { in urtw_free_data_list()
1031 flags | IEEE80211_CLONE_NOBEACONS, bssid) != 0) { in urtw_vap_create()
1070 if (error != 0) in urtw_init()
1074 sc->sc_txtimer = 0; in urtw_init()
1078 if (ret != 0) in urtw_init()
1081 if (ret != 0) in urtw_init()
1087 if (error != 0) in urtw_init()
1090 if (error != 0) in urtw_init()
1120 urtw_write8_m(sc, 0x61, 0x10); in urtw_adapter_start_b()
1121 urtw_read8_m(sc, 0x62, &data8); in urtw_adapter_start_b()
1122 urtw_write8_m(sc, 0x62, data8 & ~(1 << 5)); in urtw_adapter_start_b()
1123 urtw_write8_m(sc, 0x62, data8 | (1 << 5)); in urtw_adapter_start_b()
1138 if (error != 0) in urtw_adapter_start_b()
1147 error = urtw_write8e(sc, 0x41, 0xf4); in urtw_adapter_start_b()
1150 error = urtw_write8e(sc, 0x40, 0x00); in urtw_adapter_start_b()
1153 error = urtw_write8e(sc, 0x42, 0x00); in urtw_adapter_start_b()
1156 error = urtw_write8e(sc, 0x42, 0x01); in urtw_adapter_start_b()
1159 error = urtw_write8e(sc, 0x40, 0x0f); in urtw_adapter_start_b()
1162 error = urtw_write8e(sc, 0x42, 0x00); in urtw_adapter_start_b()
1165 error = urtw_write8e(sc, 0x42, 0x01); in urtw_adapter_start_b()
1169 urtw_read8_m(sc, 0xdb, &data8); in urtw_adapter_start_b()
1170 urtw_write8_m(sc, 0xdb, data8 | (1 << 2)); in urtw_adapter_start_b()
1171 urtw_write16_m(sc, 0x372, 0x59fa); in urtw_adapter_start_b()
1172 urtw_write16_m(sc, 0x374, 0x59d2); in urtw_adapter_start_b()
1173 urtw_write16_m(sc, 0x376, 0x59d2); in urtw_adapter_start_b()
1174 urtw_write16_m(sc, 0x378, 0x19fa); in urtw_adapter_start_b()
1175 urtw_write16_m(sc, 0x37a, 0x19fa); in urtw_adapter_start_b()
1176 urtw_write16_m(sc, 0x37c, 0x00d0); in urtw_adapter_start_b()
1177 urtw_write8_m(sc, 0x61, 0); in urtw_adapter_start_b()
1179 urtw_write8_m(sc, 0x180, 0x0f); in urtw_adapter_start_b()
1180 urtw_write8_m(sc, 0x183, 0x03); in urtw_adapter_start_b()
1181 urtw_write8_m(sc, 0xda, 0x10); in urtw_adapter_start_b()
1182 urtw_write8_m(sc, 0x24d, 0x08); in urtw_adapter_start_b()
1183 urtw_write32_m(sc, URTW_HSSI_PARA, 0x0600321b); in urtw_adapter_start_b()
1185 urtw_write16_m(sc, 0x1ec, 0x800); /* RX MAX SIZE */ in urtw_adapter_start_b()
1195 urtw_write32_m(sc, URTW_MAC0, ((const uint32_t *)macaddr)[0]); in urtw_set_macaddr()
1196 urtw_write16_m(sc, URTW_MAC4, ((const uint32_t *)macaddr)[1] & 0xffff); in urtw_set_macaddr()
1214 urtw_write8_m(sc, URTW_ADDR_MAGIC1, 0); in urtw_adapter_start()
1215 urtw_write8_m(sc, URTW_GPIO, 0); in urtw_adapter_start()
1220 if (error != 0) in urtw_adapter_start()
1240 urtw_write32_m(sc, URTW_INT_TIMEOUT, 0); in urtw_adapter_start()
1241 urtw_write8_m(sc, URTW_WPA_CONFIG, 0); in urtw_adapter_start()
1242 urtw_write8_m(sc, URTW_RATE_FALLBACK, URTW_RATE_FALLBACK_ENABLE | 0x1); in urtw_adapter_start()
1244 if (error != 0) in urtw_adapter_start()
1248 if (error != 0) in urtw_adapter_start()
1255 urtw_write16_m(sc, URTW_ADDR_MAGIC2, 0x10); in urtw_adapter_start()
1256 urtw_write8_m(sc, URTW_TALLY_SEL, 0x80); in urtw_adapter_start()
1257 urtw_write8_m(sc, URTW_ADDR_MAGIC3, 0x60); in urtw_adapter_start()
1259 urtw_write16_m(sc, URTW_PSR, 0); in urtw_adapter_start()
1263 if (error != 0) in urtw_adapter_start()
1299 data8 = (data8 & 0x2) | URTW_CMD_RST; in urtw_8187b_cmd_reset()
1302 for (i = 0; i < 20; i++) { in urtw_8187b_cmd_reset()
1327 req, data, 0, NULL, 250 /* ms */); in urtw_do_request()
1328 if (err == 0) in urtw_do_request()
1357 if (error != 0) in urtw_stop()
1390 for (i = 0; i < max; i++) in urtw_abort_xfers()
1398 int startall = 0; in urtw_parent()
1406 if (ic->ic_nrunning > 0) { in urtw_parent()
1408 if (ic->ic_promisc > 0 || ic->ic_allmulti > 0) in urtw_parent()
1428 if ((sc->sc_flags & URTW_RUNNING) == 0) { in urtw_transmit()
1440 return (0); in urtw_transmit()
1452 if ((sc->sc_flags & URTW_RUNNING) == 0) in urtw_start()
1465 if (urtw_tx_start(sc, ni, m, bf, URTW_PRIORITY_NORMAL) != 0) { in urtw_start()
1484 for (i = 0; i < ndata; i++) { in urtw_alloc_data_list()
1504 return (0); in urtw_alloc_data_list()
1518 if (error != 0) in urtw_alloc_rx_data_list()
1524 for (i = 0; i < URTW_RX_DATA_LIST_COUNT; i++) in urtw_alloc_rx_data_list()
1527 return (0); in urtw_alloc_rx_data_list()
1538 if (error != 0) in urtw_alloc_tx_data_list()
1545 for (i = 0; i < URTW_TX_DATA_LIST_COUNT; i++) in urtw_alloc_tx_data_list()
1549 return (0); in urtw_alloc_tx_data_list()
1573 if (urtw_tx_start(sc, ni, m, bf, URTW_PRIORITY_LOW) != 0) { in urtw_raw_xmit()
1581 return (0); in urtw_raw_xmit()
1604 memset(bands, 0, sizeof(bands)); in urtw_getradiocaps()
1607 ieee80211_add_channels_default_2ghz(chans, maxchans, nchans, bands, 0); in urtw_getradiocaps()
1640 if (error != 0) in urtw_set_channel()
1655 if (error != 0) in urtw_set_channel()
1693 int dur = 0, rtsdur = 0, rtsenable = 0, ctsenable = 0, rate, type, in urtw_tx_start()
1694 pkttime = 0, txdur = 0, isshort = 0, xferlen, ismcast; in urtw_tx_start()
1702 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; in urtw_tx_start()
1728 tap->wt_flags = 0; in urtw_tx_start()
1733 (m0->m_flags & M_EAPOL) != 0) { in urtw_tx_start()
1749 IEEE80211_CRC_LEN, rate, 0, 0); in urtw_tx_start()
1751 acktime = urtw_compute_txtime(14, 2,0, 0); in urtw_tx_start()
1754 ctsenable = 0; in urtw_tx_start()
1755 rtstime = urtw_compute_txtime(URTW_ACKCTS_LEN, 2, 0, 0); in urtw_tx_start()
1756 ctstime = urtw_compute_txtime(14, 2, 0, 0); in urtw_tx_start()
1758 IEEE80211_CRC_LEN, rate, 0, isshort); in urtw_tx_start()
1763 rtsenable = ctsenable = rtsdur = 0; in urtw_tx_start()
1765 IEEE80211_CRC_LEN, rate, 0, isshort); in urtw_tx_start()
1771 IEEE80211_CRC_LEN, rate, 0, isshort) + in urtw_tx_start()
1781 if ((0 == xferlen % 64) || (0 == xferlen % 512)) in urtw_tx_start()
1784 memset(data->buf, 0, URTW_TX_MAXSIZE); in urtw_tx_start()
1785 flags = m0->m_pkthdr.len & 0xfff; in urtw_tx_start()
1790 (sc->sc_currate != 0)) in urtw_tx_start()
1795 flags |= (sc->sc_currate & 0xf) << URTW_TX_FLAG_TXRATE_SHIFT; in urtw_tx_start()
1814 m_copydata(m0, 0, m0->m_pkthdr.len, (uint8_t *)(tx + 1)); in urtw_tx_start()
1828 m_copydata(m0, 0, m0->m_pkthdr.len, (uint8_t *)(tx + 1)); in urtw_tx_start()
1856 if (error != 0) in urtw_tx_start()
1859 return (0); in urtw_tx_start()
1869 usb_error_t error = 0; in urtw_newstate()
1891 urtw_write32_m(sc, URTW_BSSID, ((uint32_t *)ni->ni_bssid)[0]); in urtw_newstate()
1898 urtw_write16_m(sc, URTW_BEACON_INTERVAL, 0x64); in urtw_newstate()
1901 if (error != 0) in urtw_newstate()
1921 if (sc->sc_txtimer > 0) { in urtw_watchdog()
1922 if (--sc->sc_txtimer == 0) { in urtw_watchdog()
1956 for (i = 0; i <= basic_rate; i++) in urtw_set_rate()
1969 for (i = 0; i < nitems(urtw_ratetable); i++) { in urtw_rtl2rate()
1974 return (0); in urtw_rtl2rate()
2003 "unsupported operation mode 0x%x\n", in urtw_update_msr()
2026 USETW(req.wValue, (val & 0xff) | 0xff00); in urtw_read8_c()
2027 USETW(req.wIndex, (val >> 8) & 0x3); in urtw_read8_c()
2044 USETW(req.wValue, (val & 0xff) | 0xff00); in urtw_read16_c()
2045 USETW(req.wIndex, (val >> 8) & 0x3); in urtw_read16_c()
2062 USETW(req.wValue, (val & 0xff) | 0xff00); in urtw_read32_c()
2063 USETW(req.wIndex, (val >> 8) & 0x3); in urtw_read32_c()
2079 USETW(req.wValue, (val & 0xff) | 0xff00); in urtw_write8_c()
2080 USETW(req.wIndex, (val >> 8) & 0x3); in urtw_write8_c()
2095 USETW(req.wValue, (val & 0xff) | 0xff00); in urtw_write16_c()
2096 USETW(req.wIndex, (val >> 8) & 0x3); in urtw_write16_c()
2111 USETW(req.wValue, (val & 0xff) | 0xff00); in urtw_write32_c()
2112 USETW(req.wIndex, (val >> 8) & 0x3); in urtw_write32_c()
2126 if (error != 0) in urtw_get_macaddr()
2128 ic->ic_macaddr[0] = data & 0xff; in urtw_get_macaddr()
2129 ic->ic_macaddr[1] = (data & 0xff00) >> 8; in urtw_get_macaddr()
2131 if (error != 0) in urtw_get_macaddr()
2133 ic->ic_macaddr[2] = data & 0xff; in urtw_get_macaddr()
2134 ic->ic_macaddr[3] = (data & 0xff00) >> 8; in urtw_get_macaddr()
2136 if (error != 0) in urtw_get_macaddr()
2138 ic->ic_macaddr[4] = data & 0xff; in urtw_get_macaddr()
2139 ic->ic_macaddr[5] = (data & 0xff00) >> 8; in urtw_get_macaddr()
2149 int16_t addrstr[8], data16, readcmd[] = { 1, 1, 0 }; in urtw_eprom_read32()
2153 *data = 0; in urtw_eprom_read32()
2160 if (error != 0) in urtw_eprom_read32()
2163 if (error != 0) in urtw_eprom_read32()
2166 if (error != 0) in urtw_eprom_read32()
2170 addrstr[0] = addr & (1 << 7); in urtw_eprom_read32()
2177 addrstr[7] = addr & (1 << 0); in urtw_eprom_read32()
2180 addrstr[0] = addr & (1 << 5); in urtw_eprom_read32()
2185 addrstr[5] = addr & (1 << 0); in urtw_eprom_read32()
2188 if (error != 0) in urtw_eprom_read32()
2191 error = urtw_eprom_writebit(sc, 0); in urtw_eprom_read32()
2192 if (error != 0) in urtw_eprom_read32()
2195 for (i = 0; i < 16; i++) { in urtw_eprom_read32()
2197 if (error != 0) in urtw_eprom_read32()
2200 if (error != 0) in urtw_eprom_read32()
2207 if (error != 0) in urtw_eprom_read32()
2210 if (error != 0) in urtw_eprom_read32()
2261 *data = (data8 & URTW_EPROM_READBIT) ? 1 : 0; in urtw_eprom_readbit()
2275 if (bit != 0) in urtw_eprom_writebit()
2287 int i = 0; in urtw_eprom_sendbits()
2288 usb_error_t error = 0; in urtw_eprom_sendbits()
2290 for (i = 0; i < buflen; i++) { in urtw_eprom_sendbits()
2292 if (error != 0) in urtw_eprom_sendbits()
2295 if (error != 0) in urtw_eprom_sendbits()
2310 if (error != 0) in urtw_get_txpwr()
2312 sc->sc_txpwr_cck_base = data & 0xf; in urtw_get_txpwr()
2313 sc->sc_txpwr_ofdm_base = (data >> 4) & 0xf; in urtw_get_txpwr()
2315 for (i = 1, j = 0; i < 6; i += 2, j++) { in urtw_get_txpwr()
2317 if (error != 0) in urtw_get_txpwr()
2319 sc->sc_txpwr_cck[i] = data & 0xf; in urtw_get_txpwr()
2320 sc->sc_txpwr_cck[i + 1] = (data & 0xf00) >> 8; in urtw_get_txpwr()
2321 sc->sc_txpwr_ofdm[i] = (data & 0xf0) >> 4; in urtw_get_txpwr()
2322 sc->sc_txpwr_ofdm[i + 1] = (data & 0xf000) >> 12; in urtw_get_txpwr()
2324 for (i = 1, j = 0; i < 4; i += 2, j++) { in urtw_get_txpwr()
2326 if (error != 0) in urtw_get_txpwr()
2328 sc->sc_txpwr_cck[i + 6] = data & 0xf; in urtw_get_txpwr()
2329 sc->sc_txpwr_cck[i + 6 + 1] = (data & 0xf00) >> 8; in urtw_get_txpwr()
2330 sc->sc_txpwr_ofdm[i + 6] = (data & 0xf0) >> 4; in urtw_get_txpwr()
2331 sc->sc_txpwr_ofdm[i + 6 + 1] = (data & 0xf000) >> 12; in urtw_get_txpwr()
2335 if (error != 0) in urtw_get_txpwr()
2337 sc->sc_txpwr_cck[1 + 6 + 4] = data & 0xf; in urtw_get_txpwr()
2338 sc->sc_txpwr_ofdm[1 + 6 + 4] = (data & 0xf0) >> 4; in urtw_get_txpwr()
2339 error = urtw_eprom_read32(sc, 0x0a, &data); in urtw_get_txpwr()
2340 if (error != 0) in urtw_get_txpwr()
2342 sc->sc_txpwr_cck[2 + 6 + 4] = data & 0xf; in urtw_get_txpwr()
2343 sc->sc_txpwr_ofdm[2 + 6 + 4] = (data & 0xf0) >> 4; in urtw_get_txpwr()
2344 error = urtw_eprom_read32(sc, 0x1c, &data); in urtw_get_txpwr()
2345 if (error != 0) in urtw_get_txpwr()
2347 sc->sc_txpwr_cck[3 + 6 + 4] = data & 0xf; in urtw_get_txpwr()
2348 sc->sc_txpwr_cck[3 + 6 + 4 + 1] = (data & 0xf00) >> 8; in urtw_get_txpwr()
2349 sc->sc_txpwr_ofdm[3 + 6 + 4] = (data & 0xf0) >> 4; in urtw_get_txpwr()
2350 sc->sc_txpwr_ofdm[3 + 6 + 4 + 1] = (data & 0xf000) >> 12; in urtw_get_txpwr()
2352 for (i = 1, j = 0; i < 4; i += 2, j++) { in urtw_get_txpwr()
2355 if (error != 0) in urtw_get_txpwr()
2357 sc->sc_txpwr_cck[i + 6 + 4] = data & 0xf; in urtw_get_txpwr()
2358 sc->sc_txpwr_cck[i + 6 + 4 + 1] = (data & 0xf00) >> 8; in urtw_get_txpwr()
2359 sc->sc_txpwr_ofdm[i + 6 + 4] = (data & 0xf0) >> 4; in urtw_get_txpwr()
2360 sc->sc_txpwr_ofdm[i + 6 + 4 + 1] = (data & 0xf000) >> 12; in urtw_get_txpwr()
2376 urtw_read8_m(sc, 0xe1, &data8); in urtw_get_rfchip()
2378 case 0: in urtw_get_rfchip()
2408 if (error != 0) in urtw_get_rfchip()
2410 switch (data & 0xff) { in urtw_get_rfchip()
2413 if (error != 0) in urtw_get_rfchip()
2415 if (ret == 0) { in urtw_get_rfchip()
2437 "unsupported RF chip %d\n", data & 0xff); in urtw_get_rfchip()
2444 ((data & 0xff) == URTW_EPROM_RFCHIPID_RTL8225U) ? "rtl8225u" : in urtw_get_rfchip()
2446 (sc->sc_flags & URTW_RTL8187B) ? ((data8 == 0) ? "b" : in urtw_get_rfchip()
2461 if (error != 0) in urtw_led_init()
2502 urtw_write32_m(sc, URTW_RF_TIMING, 0x000a8008); in urtw_8225_rf_init()
2504 urtw_write16_m(sc, URTW_BRSR, 0xffff); in urtw_8225_rf_init()
2505 urtw_write32_m(sc, URTW_RF_PARA, 0x100044); in urtw_8225_rf_init()
2510 urtw_write8_m(sc, URTW_CONFIG3, 0x44); in urtw_8225_rf_init()
2520 for (i = 0; i < nitems(urtw_8225_rf_part1); i++) { in urtw_8225_rf_init()
2535 for (i = 0; i < 95; i++) { in urtw_8225_rf_init()
2545 for (i = 0; i < 128; i++) { in urtw_8225_rf_init()
2546 urtw_8187_write_phy_ofdm(sc, 0xb, urtw_8225_agc[i]); in urtw_8225_rf_init()
2548 urtw_8187_write_phy_ofdm(sc, 0xa, (uint8_t)i + 0x80); in urtw_8225_rf_init()
2552 for (i = 0; i < nitems(urtw_8225_rf_part2); i++) { in urtw_8225_rf_init()
2562 for (i = 0; i < nitems(urtw_8225_rf_part3); i++) { in urtw_8225_rf_init()
2568 urtw_write8_m(sc, URTW_TESTR, 0x0d); in urtw_8225_rf_init()
2574 urtw_8187_write_phy_cck(sc, 0x10, 0x9b); in urtw_8225_rf_init()
2576 urtw_8187_write_phy_ofdm(sc, 0x26, 0x90); in urtw_8225_rf_init()
2579 /* TX ant A, 0x0 for B */ in urtw_8225_rf_init()
2580 error = urtw_8185_tx_antenna(sc, 0x3); in urtw_8225_rf_init()
2583 urtw_write32_m(sc, URTW_HSSI_PARA, 0x3dc00002); in urtw_8225_rf_init()
2593 usb_error_t error = 0; in urtw_8185_rf_pins_enable()
2595 urtw_write16_m(sc, URTW_RF_PINS_ENABLE, 0x1ff7); in urtw_8185_rf_pins_enable()
2615 data = data & 0xff; in urtw_8187_write_phy_ofdm_c()
2623 data = data & 0xff; in urtw_8187_write_phy_cck_c()
2624 return urtw_8187_write_phy(sc, addr, data | 0x10000); in urtw_8187_write_phy_cck_c()
2633 phyw = ((data << 8) | (addr | 0x80)); in urtw_8187_write_phy()
2634 urtw_write8_m(sc, URTW_PHY_MAGIC4, ((phyw & 0xff000000) >> 24)); in urtw_8187_write_phy()
2635 urtw_write8_m(sc, URTW_PHY_MAGIC3, ((phyw & 0x00ff0000) >> 16)); in urtw_8187_write_phy()
2636 urtw_write8_m(sc, URTW_PHY_MAGIC2, ((phyw & 0x0000ff00) >> 8)); in urtw_8187_write_phy()
2637 urtw_write8_m(sc, URTW_PHY_MAGIC1, ((phyw & 0x000000ff))); in urtw_8187_write_phy()
2648 urtw_8187_write_phy_ofdm(sc, 0x0d, urtw_8225_gain[gain * 4]); in urtw_8225_setgain()
2649 urtw_8187_write_phy_ofdm(sc, 0x1b, urtw_8225_gain[gain * 4 + 2]); in urtw_8225_setgain()
2650 urtw_8187_write_phy_ofdm(sc, 0x1d, urtw_8225_gain[gain * 4 + 3]); in urtw_8225_setgain()
2651 urtw_8187_write_phy_ofdm(sc, 0x23, urtw_8225_gain[gain * 4 + 1]); in urtw_8225_setgain()
2662 urtw_write8_m(sc, URTW_RF_PINS_SELECT + 1, 0); in urtw_8225_usb_init()
2663 urtw_write8_m(sc, URTW_GPIO, 0); in urtw_8225_usb_init()
2664 error = urtw_read8e(sc, 0x53, &data); in urtw_8225_usb_init()
2667 error = urtw_write8e(sc, 0x53, data | (1 << 7)); in urtw_8225_usb_init()
2671 urtw_write8_m(sc, URTW_GPIO, 0x20); in urtw_8225_usb_init()
2672 urtw_write8_m(sc, URTW_GP_ENABLE, 0); in urtw_8225_usb_init()
2674 urtw_write16_m(sc, URTW_RF_PINS_OUTPUT, 0x80); in urtw_8225_usb_init()
2675 urtw_write16_m(sc, URTW_RF_PINS_SELECT, 0x80); in urtw_8225_usb_init()
2676 urtw_write16_m(sc, URTW_RF_PINS_ENABLE, 0x80); in urtw_8225_usb_init()
2703 error = urtw_8225_write_s16(sc, addr, 0x8225, &data); in urtw_8225_write_c()
2704 if (error != 0) in urtw_8225_write_c()
2723 usb_error_t error = 0; in urtw_8225_write_s16()
2732 buf[0] = (data16 & 0x00ff); in urtw_8225_write_s16()
2733 buf[1] = (data16 & 0xff00) >> 8; in urtw_8225_write_s16()
2759 if (sens < 0 || sens > 6) in urtw_8225_rf_set_sens()
2774 urtw_8187_write_phy_cck(sc, 0x41, urtw_8225_threshold[sens]); in urtw_8225_rf_set_sens()
2786 uint8_t cck_pwrlvl = sc->sc_txpwr_cck[chan] & 0xff; in urtw_8225_set_txpwrlvl()
2787 uint8_t ofdm_pwrlvl = sc->sc_txpwr_ofdm[chan] & 0xff; in urtw_8225_set_txpwrlvl()
2803 for (i = 0; i < 8; i++) { in urtw_8225_set_txpwrlvl()
2804 urtw_8187_write_phy_cck(sc, 0x44 + i, in urtw_8225_set_txpwrlvl()
2820 urtw_8187_write_phy_ofdm(sc, 2, 0x42); in urtw_8225_set_txpwrlvl()
2821 urtw_8187_write_phy_ofdm(sc, 6, 0); in urtw_8225_set_txpwrlvl()
2822 urtw_8187_write_phy_ofdm(sc, 8, 0); in urtw_8225_set_txpwrlvl()
2826 urtw_8187_write_phy_ofdm(sc, 0x5, urtw_8225_txpwr_ofdm[idx]); in urtw_8225_set_txpwrlvl()
2827 urtw_8187_write_phy_ofdm(sc, 0x7, urtw_8225_txpwr_ofdm[idx]); in urtw_8225_set_txpwrlvl()
2839 urtw_8225_write(sc, 0x4, 0x1f); in urtw_8225_rf_stop()
2883 urtw_write32_m(sc, URTW_RF_TIMING, 0x000a8008); in urtw_8225v2_rf_init()
2885 urtw_write16_m(sc, URTW_BRSR, 0xffff); in urtw_8225v2_rf_init()
2886 urtw_write32_m(sc, URTW_RF_PARA, 0x100044); in urtw_8225v2_rf_init()
2891 urtw_write8_m(sc, URTW_CONFIG3, 0x44); in urtw_8225v2_rf_init()
2902 for (i = 0; i < nitems(urtw_8225v2_rf_part1); i++) { in urtw_8225v2_rf_init()
2911 for (i = 0; i < 95; i++) { in urtw_8225v2_rf_init()
2931 if (error != 0) in urtw_8225v2_rf_init()
2934 device_printf(sc->sc_dev, "expect 0xe6!! (0x%x)\n", data32); in urtw_8225v2_rf_init()
2943 if (error != 0) in urtw_8225v2_rf_init()
2952 for (i = 0; i < 128; i++) { in urtw_8225v2_rf_init()
2953 urtw_8187_write_phy_ofdm(sc, 0xb, urtw_8225_agc[i]); in urtw_8225v2_rf_init()
2954 urtw_8187_write_phy_ofdm(sc, 0xa, (uint8_t)i + 0x80); in urtw_8225v2_rf_init()
2957 for (i = 0; i < nitems(urtw_8225v2_rf_part2); i++) { in urtw_8225v2_rf_init()
2966 for (i = 0; i < nitems(urtw_8225v2_rf_part3); i++) { in urtw_8225v2_rf_init()
2971 urtw_write8_m(sc, URTW_TESTR, 0x0d); in urtw_8225v2_rf_init()
2977 urtw_8187_write_phy_cck(sc, 0x10, 0x9b); in urtw_8225v2_rf_init()
2978 urtw_8187_write_phy_ofdm(sc, 0x26, 0x90); in urtw_8225v2_rf_init()
2980 /* TX ant A, 0x0 for B */ in urtw_8225v2_rf_init()
2981 error = urtw_8185_tx_antenna(sc, 0x3); in urtw_8225v2_rf_init()
2984 urtw_write32_m(sc, URTW_HSSI_PARA, 0x3dc00002); in urtw_8225v2_rf_init()
3013 uint32_t d2w = ((uint32_t)(addr & 0x1f)) << 27; in urtw_8225_read()
3014 uint32_t mask = 0x80000000, value = 0; in urtw_8225_read()
3028 for (i = 0; i < (wlen / 2); i++, mask = mask >> 1) { in urtw_8225_read()
3029 bit = ((d2w & mask) != 0) ? 1 : 0; in urtw_8225_read()
3042 bit = ((d2w & mask) != 0) ? 1 : 0; in urtw_8225_read()
3060 mask = 0x800; in urtw_8225_read()
3061 for (i = 0; i < rlen; i++, mask = mask >> 1) { in urtw_8225_read()
3076 value |= ((tmp & URTW_BB_HOST_BANG_CLK) ? mask : 0); in urtw_8225_read()
3102 uint8_t cck_pwrlvl = sc->sc_txpwr_cck[chan] & 0xff; in urtw_8225v2_set_txpwrlvl()
3103 uint8_t ofdm_pwrlvl = sc->sc_txpwr_ofdm[chan] & 0xff; in urtw_8225v2_set_txpwrlvl()
3113 for (i = 0; i < 8; i++) in urtw_8225v2_set_txpwrlvl()
3114 urtw_8187_write_phy_cck(sc, 0x44 + i, cck_pwrtable[i]); in urtw_8225v2_set_txpwrlvl()
3130 urtw_8187_write_phy_ofdm(sc, 2, 0x42); in urtw_8225v2_set_txpwrlvl()
3131 urtw_8187_write_phy_ofdm(sc, 5, 0x0); in urtw_8225v2_set_txpwrlvl()
3132 urtw_8187_write_phy_ofdm(sc, 6, 0x40); in urtw_8225v2_set_txpwrlvl()
3133 urtw_8187_write_phy_ofdm(sc, 7, 0x0); in urtw_8225v2_set_txpwrlvl()
3134 urtw_8187_write_phy_ofdm(sc, 8, 0x40); in urtw_8225v2_set_txpwrlvl()
3151 urtw_8187_write_phy_ofdm(sc, 0x0d, gainp[gain * 3]); in urtw_8225v2_setgain()
3153 urtw_8187_write_phy_ofdm(sc, 0x1b, gainp[gain * 3 + 1]); in urtw_8225v2_setgain()
3155 urtw_8187_write_phy_ofdm(sc, 0x1d, gainp[gain * 3 + 2]); in urtw_8225v2_setgain()
3157 urtw_8187_write_phy_ofdm(sc, 0x21, 0x17); in urtw_8225v2_setgain()
3180 if (error != 0) in urtw_8225_isv2()
3183 *ret = 0; in urtw_8225_isv2()
3186 if (error != 0) in urtw_8225_isv2()
3189 *ret = 0; in urtw_8225_isv2()
3215 urtw_write16_m(sc, URTW_BRSR_8187B, 0xfff); in urtw_8225v2b_rf_init()
3228 #define URTW_ARFR 0x1e0 in urtw_8225v2b_rf_init()
3229 urtw_write16_m(sc, URTW_ARFR, 0xfff); in urtw_8225v2b_rf_init()
3235 urtw_write8_m(sc, URTW_MSR, data8 & 0xf3); in urtw_8225v2b_rf_init()
3242 #define URTW_FEMR_FOR_8187B 0x1d4 in urtw_8225v2b_rf_init()
3243 urtw_write16_m(sc, URTW_FEMR_FOR_8187B, 0xffff); in urtw_8225v2b_rf_init()
3247 data8 = (data8 & 0x3f) | 0x80; in urtw_8225v2b_rf_init()
3260 urtw_write8_m(sc, URTW_WPA_CONFIG, 0); in urtw_8225v2b_rf_init()
3265 for (i = 0; i < nitems(urtw_8225v2b_rf_part1); i++) in urtw_8225v2b_rf_init()
3268 urtw_write16_m(sc, URTW_TID_AC_MAP, 0xfa50); in urtw_8225v2b_rf_init()
3269 urtw_write16_m(sc, URTW_INT_MIG, 0x0000); in urtw_8225v2b_rf_init()
3270 urtw_write32_m(sc, 0x1f0, 0); in urtw_8225v2b_rf_init()
3271 urtw_write32_m(sc, 0x1f4, 0); in urtw_8225v2b_rf_init()
3272 urtw_write8_m(sc, 0x1f8, 0); in urtw_8225v2b_rf_init()
3273 urtw_write32_m(sc, URTW_RF_TIMING, 0x4001); in urtw_8225v2b_rf_init()
3275 #define URTW_RFSW_CTRL 0x272 in urtw_8225v2b_rf_init()
3276 urtw_write16_m(sc, URTW_RFSW_CTRL, 0x569a); in urtw_8225v2b_rf_init()
3293 urtw_write16_m(sc, URTW_RF_PINS_OUTPUT, 0x0480); in urtw_8225v2b_rf_init()
3294 urtw_write16_m(sc, URTW_RF_PINS_SELECT, 0x2488); in urtw_8225v2b_rf_init()
3295 urtw_write16_m(sc, URTW_RF_PINS_ENABLE, 0x1fff); in urtw_8225v2b_rf_init()
3298 for (i = 0; i < nitems(urtw_8225v2b_rf_part0); i++) { in urtw_8225v2b_rf_init()
3303 urtw_8225_write(sc, 0x00, 0x01b7); in urtw_8225v2b_rf_init()
3305 for (i = 0; i < 95; i++) { in urtw_8225v2b_rf_init()
3313 urtw_8225_write(sc, URTW_8225_ADDR_3_MAGIC, 0x080); in urtw_8225v2b_rf_init()
3315 urtw_8225_write(sc, URTW_8225_ADDR_5_MAGIC, 0x004); in urtw_8225v2b_rf_init()
3317 urtw_8225_write(sc, URTW_8225_ADDR_0_MAGIC, 0x0b7); in urtw_8225v2b_rf_init()
3320 urtw_8225_write(sc, URTW_8225_ADDR_2_MAGIC, 0xc4d); in urtw_8225v2b_rf_init()
3322 urtw_8225_write(sc, URTW_8225_ADDR_2_MAGIC, 0x44d); in urtw_8225v2b_rf_init()
3324 urtw_8225_write(sc, URTW_8225_ADDR_0_MAGIC, 0x2bf); in urtw_8225v2b_rf_init()
3327 urtw_write8_m(sc, URTW_TX_GAIN_CCK, 0x03); in urtw_8225v2b_rf_init()
3328 urtw_write8_m(sc, URTW_TX_GAIN_OFDM, 0x07); in urtw_8225v2b_rf_init()
3329 urtw_write8_m(sc, URTW_TX_ANTENNA, 0x03); in urtw_8225v2b_rf_init()
3331 urtw_8187_write_phy_ofdm(sc, 0x80, 0x12); in urtw_8225v2b_rf_init()
3332 for (i = 0; i < 128; i++) { in urtw_8225v2b_rf_init()
3335 data = (urtw_8225z2_agc[i] << 8) | 0x0000008f; in urtw_8225v2b_rf_init()
3336 addr = ((i + 0x80) << 8) | 0x0000008e; in urtw_8225v2b_rf_init()
3338 urtw_8187_write_phy_ofdm(sc, data & 0x7f, (data >> 8) & 0xff); in urtw_8225v2b_rf_init()
3339 urtw_8187_write_phy_ofdm(sc, addr & 0x7f, (addr >> 8) & 0xff); in urtw_8225v2b_rf_init()
3340 urtw_8187_write_phy_ofdm(sc, 0x0e, 0x00); in urtw_8225v2b_rf_init()
3342 urtw_8187_write_phy_ofdm(sc, 0x80, 0x10); in urtw_8225v2b_rf_init()
3344 for (i = 0; i < nitems(urtw_8225v2b_rf_part2); i++) in urtw_8225v2b_rf_init()
3347 urtw_write32_m(sc, URTW_8187B_AC_VO, (7 << 12) | (3 << 8) | 0x1c); in urtw_8225v2b_rf_init()
3348 urtw_write32_m(sc, URTW_8187B_AC_VI, (7 << 12) | (3 << 8) | 0x1c); in urtw_8225v2b_rf_init()
3349 urtw_write32_m(sc, URTW_8187B_AC_BE, (7 << 12) | (3 << 8) | 0x1c); in urtw_8225v2b_rf_init()
3350 urtw_write32_m(sc, URTW_8187B_AC_BK, (7 << 12) | (3 << 8) | 0x1c); in urtw_8225v2b_rf_init()
3352 urtw_8187_write_phy_ofdm(sc, 0x97, 0x46); in urtw_8225v2b_rf_init()
3353 urtw_8187_write_phy_ofdm(sc, 0xa4, 0xb6); in urtw_8225v2b_rf_init()
3354 urtw_8187_write_phy_ofdm(sc, 0x85, 0xfc); in urtw_8225v2b_rf_init()
3355 urtw_8187_write_phy_cck(sc, 0xc1, 0x88); in urtw_8225v2b_rf_init()
3382 uint8_t cck_pwrlvl = sc->sc_txpwr_cck[chan] & 0xff; in urtw_8225v2b_set_txpwrlvl()
3383 uint8_t ofdm_pwrlvl = sc->sc_txpwr_ofdm[chan] & 0xff; in urtw_8225v2b_set_txpwrlvl()
3389 (cck_pwrlvl + ((sc->sc_flags & URTW_RTL8187B_REV_B) ? 0 : 7)); in urtw_8225v2b_set_txpwrlvl()
3396 cck_pwrtable += (cck_pwrlvl <= 6) ? 0 : in urtw_8225v2b_set_txpwrlvl()
3399 cck_pwrtable += (cck_pwrlvl <= 5) ? 0 : in urtw_8225v2b_set_txpwrlvl()
3402 for (i = 0; i < 8; i++) in urtw_8225v2b_set_txpwrlvl()
3403 urtw_8187_write_phy_cck(sc, 0x44 + i, cck_pwrtable[i]); in urtw_8225v2b_set_txpwrlvl()
3421 urtw_8187_write_phy_ofdm(sc, 0x87, 0x60); in urtw_8225v2b_set_txpwrlvl()
3422 urtw_8187_write_phy_ofdm(sc, 0x89, 0x60); in urtw_8225v2b_set_txpwrlvl()
3424 urtw_8187_write_phy_ofdm(sc, 0x87, 0x5c); in urtw_8225v2b_set_txpwrlvl()
3425 urtw_8187_write_phy_ofdm(sc, 0x89, 0x5c); in urtw_8225v2b_set_txpwrlvl()
3429 urtw_8187_write_phy_ofdm(sc, 0x87, 0x5c); in urtw_8225v2b_set_txpwrlvl()
3430 urtw_8187_write_phy_ofdm(sc, 0x89, 0x5c); in urtw_8225v2b_set_txpwrlvl()
3432 urtw_8187_write_phy_ofdm(sc, 0x87, 0x54); in urtw_8225v2b_set_txpwrlvl()
3433 urtw_8187_write_phy_ofdm(sc, 0x89, 0x54); in urtw_8225v2b_set_txpwrlvl()
3435 urtw_8187_write_phy_ofdm(sc, 0x87, 0x50); in urtw_8225v2b_set_txpwrlvl()
3436 urtw_8187_write_phy_ofdm(sc, 0x89, 0x50); in urtw_8225v2b_set_txpwrlvl()
3452 USETW(req.wValue, val | 0xfe00); in urtw_read8e()
3453 USETW(req.wIndex, 0); in urtw_read8e()
3467 USETW(req.wValue, val | 0xfe00); in urtw_write8e()
3468 USETW(req.wIndex, 0); in urtw_write8e()
3525 urtw_write16_m(sc, URTW_INTR_MASK, 0xffff); in urtw_intr_enable()
3535 urtw_write16_m(sc, URTW_INTR_MASK, 0); in urtw_intr_disable()
3558 error = urtw_write8e(sc, 0x18, 0x10); in urtw_reset()
3559 if (error != 0) in urtw_reset()
3561 error = urtw_write8e(sc, 0x18, 0x11); in urtw_reset()
3562 if (error != 0) in urtw_reset()
3564 error = urtw_write8e(sc, 0x18, 0x00); in urtw_reset()
3565 if (error != 0) in urtw_reset()
3570 data = (data & 0x2) | URTW_CMD_RST; in urtw_reset()
3598 usb_error_t error = 0; in urtw_led_ctl()
3633 return (0); in urtw_led_mode0()
3643 "unsupported LED mode 0x%x", mode); in urtw_led_mode0()
3649 if (sc->sc_gpio_ledinprogress != 0) in urtw_led_mode0()
3654 if (sc->sc_gpio_ledinprogress != 0) in urtw_led_mode0()
3657 sc->sc_gpio_blinkstate = (sc->sc_gpio_ledon != 0) ? in urtw_led_mode0()
3668 "unknown LED status 0x%x", sc->sc_gpio_ledstate); in urtw_led_mode0()
3671 return (0); in urtw_led_mode0()
3700 urtw_write8_m(sc, URTW_GPIO, 0x01); in urtw_led_on()
3701 urtw_write8_m(sc, URTW_GP_ENABLE, 0x00); in urtw_led_on()
3705 "unsupported LED PIN type 0x%x", in urtw_led_on()
3712 "unsupported LED type 0x%x", type); in urtw_led_on()
3736 "unsupported LED PIN type 0x%x", in urtw_led_off()
3743 "unsupported LED type 0x%x", type); in urtw_led_off()
3748 sc->sc_gpio_ledon = 0; in urtw_led_off()
3770 "could not process a LED strategy 0x%x", in urtw_ledtask()
3783 uint8_t ing = 0; in urtw_led_blink()
3790 if (sc->sc_gpio_blinktime == 0) in urtw_led_blink()
3800 sc->sc_gpio_ledon == 0) in urtw_led_blink()
3806 sc->sc_gpio_blinktime = 0; in urtw_led_blink()
3807 sc->sc_gpio_ledinprogress = 0; in urtw_led_blink()
3808 return (0); in urtw_led_blink()
3820 "unknown LED status 0x%x", in urtw_led_blink()
3824 return (0); in urtw_led_blink()
3837 if (error != 0) in urtw_rx_enable()
3840 if ((sc->sc_flags & URTW_RTL8187B) == 0) { in urtw_rx_enable()
3863 (7 << 0) | /* long retry limit */ in urtw_tx_enable()
3936 ic->ic_promisc > 0 || ic->ic_allmulti > 0) { in urtw_rx_setconf()
3958 uint8_t noise = 0, rate; in urtw_rxeof()
3971 flen = le32toh(rx->flag) & 0xfff; in urtw_rxeof()
3975 rate = (le32toh(rx->flag) >> URTW_RX_FLAG_RXRATE_SHIFT) & 0xf; in urtw_rxeof()
3990 flen = le32toh(rx->flag) & 0xfff; in urtw_rxeof()
3994 rate = (le32toh(rx->flag) >> URTW_RX_FLAG_RXRATE_SHIFT) & 0xf; in urtw_rxeof()
4021 tap->wr_flags = 0; in urtw_rxeof()
4027 sc->sc_currate = (rate > 0) ? rate : sc->sc_currate; in urtw_rxeof()
4070 usbd_xfer_set_frame_data(xfer, 0, data->buf, in urtw_bulk_rx_callback()
4115 #define URTW_STATUS_TYPE_BEACON_INTR 0
4131 type = (val >> 30) & 0x3; in urtw_txstatus_eof()
4133 pktretry = val & 0xff; in urtw_txstatus_eof()
4137 pktretry, (val >> 16) & 0xff); in urtw_txstatus_eof()
4146 void *dma_buf = usbd_xfer_get_frame_buffer(xfer, 0); in urtw_bulk_tx_status_callback()
4157 usbd_xfer_set_frame_len(xfer, 0, sizeof(uint64_t)); in urtw_bulk_tx_status_callback()
4179 ieee80211_tx_complete(data->ni, data->m, 0); in urtw_txeof()
4183 sc->sc_txtimer = 0; in urtw_txeof()
4214 usbd_xfer_set_frame_data(xfer, 0, data->buf, data->buflen); in urtw_bulk_tx_callback()
4271 rate == 44) ? (1) : (0); in urtw_isbmode()
4307 if ((framelen * 8 % (rate / 2)) != 0) in urtw_compute_txtime()
4312 + (((16 + 8 * framelen + 6) % n_dbps) ? 1 : 0); in urtw_compute_txtime()
4338 if ((sc->sc_flags & URTW_RUNNING) == 0) { in urtw_updateslottask()
4343 urtw_write8_m(sc, URTW_SIFS, 0x22); in urtw_updateslottask()
4348 urtw_write8_m(sc, URTW_8187B_EIFS, 0x5b); in urtw_updateslottask()
4349 urtw_write8_m(sc, URTW_CARRIER_SCOUNT, 0x5b); in urtw_updateslottask()
4351 urtw_write8_m(sc, URTW_SIFS, 0x22); in urtw_updateslottask()
4358 urtw_write8_m(sc, URTW_DIFS, 0x14); in urtw_updateslottask()
4359 urtw_write8_m(sc, URTW_EIFS, 0x5b - 0x14); in urtw_updateslottask()
4360 urtw_write8_m(sc, URTW_CW_VAL, 0x73); in urtw_updateslottask()
4362 urtw_write8_m(sc, URTW_DIFS, 0x24); in urtw_updateslottask()
4363 urtw_write8_m(sc, URTW_EIFS, 0x5b - 0x24); in urtw_updateslottask()
4364 urtw_write8_m(sc, URTW_CW_VAL, 0xa5); in urtw_updateslottask()
4375 SYSCTL_ADD_UINT(c, h, OID_AUTO, n, CTLFLAG_RD, p, 0, d) in urtw_sysctl_node()
4392 URTW_SYSCTL_STAT_ADD32(ctx, child, "1m", &stats->txrates[0], in urtw_sysctl_node()