arch/alpha/math-emu/sfp-util.h
14
#define umul_ppmm(wh, wl, u, v) \
arch/alpha/math-emu/sfp-util.h
17
"=&r" ((UDItype)(wl)) \
arch/sparc/math-emu/sfp-util_64.h
43
#define umul_ppmm(wh, wl, u, v) \
arch/sparc/math-emu/sfp-util_64.h
69
"=&r" (wl), \
block/sed-opal.c
1468
bool rl, bool wl)
block/sed-opal.c
1495
add_token_u8(&err, dev, wl);
drivers/gpu/drm/bridge/analogix/anx7625.c
1826
int wl, ch, rate;
drivers/gpu/drm/bridge/analogix/anx7625.c
1857
wl = AUDIO_W_LEN_16_20MAX;
drivers/gpu/drm/bridge/analogix/anx7625.c
1860
wl = AUDIO_W_LEN_18_20MAX;
drivers/gpu/drm/bridge/analogix/anx7625.c
1863
wl = AUDIO_W_LEN_20_20MAX;
drivers/gpu/drm/bridge/analogix/anx7625.c
1866
wl = AUDIO_W_LEN_24_24MAX;
drivers/gpu/drm/bridge/analogix/anx7625.c
1875
0xf0, wl);
drivers/gpu/drm/i915/display/intel_display_core.h
635
struct intel_dmc_wl wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
157
struct intel_dmc_wl *wl = &display->wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
159
WARN_ON(refcount_read(&wl->refcount));
drivers/gpu/drm/i915/display/intel_dmc_wl.c
161
queue_delayed_work(display->wq.unordered, &wl->work,
drivers/gpu/drm/i915/display/intel_dmc_wl.c
167
struct intel_dmc_wl *wl =
drivers/gpu/drm/i915/display/intel_dmc_wl.c
170
container_of(wl, struct intel_display, wl);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
173
spin_lock_irqsave(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
179
if (refcount_read(&wl->refcount))
drivers/gpu/drm/i915/display/intel_dmc_wl.c
191
wl->taken = false;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
194
spin_unlock_irqrestore(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
199
struct intel_dmc_wl *wl = &display->wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
207
if (wl->taken)
drivers/gpu/drm/i915/display/intel_dmc_wl.c
224
wl->taken = true;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
328
struct intel_dmc_wl *wl = &display->wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
335
INIT_DELAYED_WORK(&wl->work, intel_dmc_wl_work);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
336
spin_lock_init(&wl->lock);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
337
refcount_set(&wl->refcount,
drivers/gpu/drm/i915/display/intel_dmc_wl.c
344
struct intel_dmc_wl *wl = &display->wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
350
spin_lock_irqsave(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
352
wl->dc_state = dc_state;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
354
if (drm_WARN_ON(display->drm, wl->enabled))
drivers/gpu/drm/i915/display/intel_dmc_wl.c
364
wl->enabled = true;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
380
if (refcount_read(&wl->refcount))
drivers/gpu/drm/i915/display/intel_dmc_wl.c
384
spin_unlock_irqrestore(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
390
struct intel_dmc_wl *wl = &display->wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
398
spin_lock_irqsave(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
400
if (drm_WARN_ON(display->drm, !wl->enabled))
drivers/gpu/drm/i915/display/intel_dmc_wl.c
406
wl->enabled = false;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
418
wl->taken = false;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
421
spin_unlock_irqrestore(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
426
struct intel_dmc_wl *wl = &display->wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
431
flush_delayed_work(&wl->work);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
436
struct intel_dmc_wl *wl = &display->wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
442
spin_lock_irqsave(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
445
!intel_dmc_wl_check_range(display, reg, wl->dc_state))
drivers/gpu/drm/i915/display/intel_dmc_wl.c
448
if (!wl->enabled) {
drivers/gpu/drm/i915/display/intel_dmc_wl.c
449
if (!refcount_inc_not_zero(&wl->refcount))
drivers/gpu/drm/i915/display/intel_dmc_wl.c
450
refcount_set(&wl->refcount, 1);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
454
cancel_delayed_work(&wl->work);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
456
if (refcount_inc_not_zero(&wl->refcount))
drivers/gpu/drm/i915/display/intel_dmc_wl.c
459
refcount_set(&wl->refcount, 1);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
464
spin_unlock_irqrestore(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
469
struct intel_dmc_wl *wl = &display->wl;
drivers/gpu/drm/i915/display/intel_dmc_wl.c
475
spin_lock_irqsave(&wl->lock, flags);
drivers/gpu/drm/i915/display/intel_dmc_wl.c
478
!intel_dmc_wl_check_range(display, reg, wl->dc_state))
drivers/gpu/drm/i915/display/intel_dmc_wl.c
481
if (WARN_RATELIMIT(!refcount_read(&wl->refcount),
drivers/gpu/drm/i915/display/intel_dmc_wl.c
485
if (refcount_dec_and_test(&wl->refcount)) {
drivers/gpu/drm/i915/display/intel_dmc_wl.c
486
if (!wl->enabled)
drivers/gpu/drm/i915/display/intel_dmc_wl.c
495
spin_unlock_irqrestore(&wl->lock, flags);
drivers/mtd/ubi/cdev.c
834
struct ubi_wl_entry *wl;
drivers/mtd/ubi/cdev.c
872
wl = ubi->lookuptbl[peb];
drivers/mtd/ubi/cdev.c
873
if (wl)
drivers/mtd/ubi/cdev.c
874
ec = wl->ec;
drivers/mtd/ubi/debug.c
511
struct ubi_wl_entry *wl;
drivers/mtd/ubi/debug.c
526
wl = ubi->lookuptbl[*block_number];
drivers/mtd/ubi/debug.c
527
if (wl)
drivers/mtd/ubi/debug.c
528
erase_count = wl->ec;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h
123
struct hclge_waterline wl; /* Waterline for low and high */
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2100
priv->wl.low = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2101
priv->wl.high = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2110
priv->wl.low = max ? aligned_mps : HCLGE_BUF_SIZE_UNIT;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2111
priv->wl.high = roundup(priv->wl.low + aligned_mps,
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2114
priv->wl.low = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2115
priv->wl.high = max ? (aligned_mps * HCLGE_BUF_MUL_BY) :
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2119
priv->buf_size = priv->wl.high + hdev->dv_buf_size;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2140
priv->wl.low = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2141
priv->wl.high = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2170
priv->wl.low = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2172
priv->wl.high = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2215
priv->wl.low = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2216
priv->wl.high = 0;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2224
priv->wl.high = rx_priv - hdev->dv_buf_size;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2225
priv->wl.low = priv->wl.high - PRIV_WL_GAP;
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2329
cpu_to_le16(priv->wl.high >> HCLGE_BUF_UNIT_S);
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
2333
cpu_to_le16(priv->wl.low >> HCLGE_BUF_UNIT_S);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1008
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1026
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1032
key_index = wl->current_key;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1038
wl->current_key = key_index;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1045
wl->group_cipher_method = GELIC_WL_CIPHER_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1046
wl->pairwise_cipher_method =
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1049
wl->key_enabled = 0;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1051
clear_bit(key_index, &wl->key_enabled);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1055
wl->auth_method = GELIC_EURUS_AUTH_OPEN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1058
wl->auth_method = GELIC_EURUS_AUTH_SHARED;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1065
wl->key_len[key_index] = enc->length;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1066
memcpy(wl->key[key_index], extra, enc->length);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1067
set_bit(key_index, &wl->key_enabled);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1068
wl->pairwise_cipher_method = GELIC_WL_CIPHER_WEP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1069
wl->group_cipher_method = GELIC_WL_CIPHER_WEP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1071
set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1073
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1082
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1095
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1099
key_index = wl->current_key;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1101
if (wl->group_cipher_method == GELIC_WL_CIPHER_WEP) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1102
switch (wl->auth_method) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1113
if (test_bit(key_index, &wl->key_enabled)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1114
if (enc->length < wl->key_len[key_index]) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1118
enc->length = wl->key_len[key_index];
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1119
memcpy(extra, wl->key[key_index], wl->key_len[key_index]);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1129
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1138
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1145
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1147
memcpy(wl->bssid, data->ap_addr.sa_data,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1149
set_bit(GELIC_WL_STAT_BSSID_SET, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1150
set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1151
pr_debug("%s: bss=%pM\n", __func__, wl->bssid);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1154
clear_bit(GELIC_WL_STAT_BSSID_SET, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1155
eth_zero_addr(wl->bssid);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1157
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1166
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1170
mutex_lock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1171
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1172
if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1174
memcpy(data->ap_addr.sa_data, wl->active_bssid,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1179
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1180
mutex_unlock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1190
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1213
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1217
key_index = wl->current_key;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1223
wl->current_key = key_index;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1229
wl->wpa_level = GELIC_WL_WPA_LEVEL_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1230
wl->group_cipher_method = GELIC_WL_CIPHER_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1231
wl->pairwise_cipher_method = GELIC_WL_CIPHER_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1232
wl->auth_method = GELIC_EURUS_AUTH_OPEN; /* should be open */
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1237
wl->auth_method = GELIC_EURUS_AUTH_OPEN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1241
wl->auth_method = GELIC_EURUS_AUTH_SHARED;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1250
wl->key_len[key_index] = ext->key_len;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1251
memset(wl->key[key_index], 0, IW_ENCODING_TOKEN_MAX);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1252
memcpy(wl->key[key_index], ext->key, ext->key_len);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1253
set_bit(key_index, &wl->key_enabled);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1255
set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1263
memset(wl->psk, 0, sizeof(wl->psk));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1264
memcpy(wl->psk, ext->key, ext->key_len);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1265
wl->psk_len = ext->key_len;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1266
wl->psk_type = GELIC_EURUS_WPA_PSK_BIN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1268
set_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1271
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1280
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1302
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1306
key_index = wl->current_key;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1309
switch (wl->group_cipher_method) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1330
if (max_key_len < wl->key_len[key_index]) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1334
if (test_bit(key_index, &wl->key_enabled))
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1335
memcpy(ext->key, wl->key[key_index],
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1336
wl->key_len[key_index]);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1342
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1392
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1404
is = &wl->iwstat;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1406
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_GET_RSSI_CFG,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1426
static int gelic_wl_start_scan(struct gelic_wl_info *wl, int always_scan,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1435
if (mutex_lock_interruptible(&wl->scan_lock))
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1441
if (wl->scan_stat == GELIC_WL_SCAN_STAT_SCANNING) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1446
init_completion(&wl->scan_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1452
&& wl->scan_stat == GELIC_WL_SCAN_STAT_GOT_LIST) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1454
complete(&wl->scan_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
146
struct gelic_wl_info *wl;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1475
wl->scan_stat = GELIC_WL_SCAN_STAT_SCANNING;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1476
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_START_SCAN,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1479
wl->scan_stat = GELIC_WL_SCAN_STAT_INIT;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1480
complete(&wl->scan_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1487
mutex_unlock(&wl->scan_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1496
static void gelic_wl_scan_complete_event(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1509
mutex_lock(&wl->scan_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1517
if (wl->scan_stat != GELIC_WL_SCAN_STAT_SCANNING) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1522
__func__, wl->scan_stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1526
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_GET_SCAN,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1529
wl->scan_stat = GELIC_WL_SCAN_STAT_INIT;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1539
wl->scan_stat = GELIC_WL_SCAN_STAT_GOT_LIST;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
154
wl = cmd->wl;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1542
list_for_each_entry_safe(target, tmp, &wl->network_list, list) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1545
if (time_before(target->last_scanned + wl->scan_age,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1549
list_move_tail(&target->list, &wl->network_free_list);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
155
card = port_to_card(wl_port(wl));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1574
list_for_each_entry(target, &wl->network_list, list) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1589
if (list_empty(&wl->network_free_list)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1593
target = list_entry(wl->network_free_list.next,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1624
list_move_tail(&target->list, &wl->network_list);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1627
wireless_send_event(port_to_netdev(wl_port(wl)), SIOCGIWSCAN, &data,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1631
complete(&wl->scan_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1632
mutex_unlock(&wl->scan_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1654
struct gelic_wl_scan_info *gelic_wl_find_best_bss(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
166
init_completion(&wl->cmd_done_intr);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1666
list_for_each_entry(scan_info, &wl->network_list, list) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1675
if (test_bit(GELIC_WL_STAT_BSSID_SET, &wl->stat)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1677
wl->bssid)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1692
if (wl->wpa_level == GELIC_WL_WPA_LEVEL_WPA2) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1698
} else if (wl->wpa_level == GELIC_WL_WPA_LEVEL_WPA) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1704
} else if (wl->wpa_level == GELIC_WL_WPA_LEVEL_NONE &&
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1705
wl->group_cipher_method == GELIC_WL_CIPHER_WEP) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1714
if (test_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1715
if ((scan_info->essid_len == wl->essid_len) &&
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1716
!strncmp(wl->essid,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1741
static int gelic_wl_do_wep_setup(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1758
if (wl->group_cipher_method == GELIC_WL_CIPHER_WEP) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1761
if (!test_bit(i, &wl->key_enabled))
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1766
if (wl->key_len[i] == 13)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1768
else if (wl->key_len[i] != 5) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1770
__func__, i, wl->key_len[i]);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1774
memcpy(wep->key[i], wl->key[i], wl->key_len[i]);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
178
wait_for_completion(&wl->cmd_done_intr);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1796
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_SET_WEP_CFG,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1833
static int gelic_wl_do_wpa_setup(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1848
if (!test_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat))
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1852
memcpy(wpa->psk, wl->psk, wl->psk_len);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1855
if (wl->wpa_level == GELIC_WL_WPA_LEVEL_WPA2) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1856
if (wl->group_cipher_method == GELIC_WL_CIPHER_AES) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1859
if (wl->pairwise_cipher_method == GELIC_WL_CIPHER_AES &&
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1866
if (wl->group_cipher_method == GELIC_WL_CIPHER_AES) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1869
if (wl->pairwise_cipher_method == GELIC_WL_CIPHER_AES &&
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1879
wpa->psk_type = cpu_to_be16(wl->psk_type);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1897
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_SET_WPA_CFG,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1912
static int gelic_wl_associate_bss(struct gelic_wl_info *wl,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1932
switch (wl->auth_method) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1942
scan_list_dump(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1949
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_SET_COMMON_CFG,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1959
switch (wl->wpa_level) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1962
ret = gelic_wl_do_wep_setup(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1966
ret = gelic_wl_do_wpa_setup(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1974
gelic_wl_send_iwap_event(wl, NULL);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1979
init_completion(&wl->assoc_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1980
wl->assoc_stat = GELIC_WL_ASSOC_STAT_ASSOCIATING;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1981
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_ASSOC,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1985
wl->assoc_stat = GELIC_WL_ASSOC_STAT_DISCONN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1988
gelic_wl_send_iwap_event(wl, NULL);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1994
rc = wait_for_completion_timeout(&wl->assoc_done, HZ * 4);/*FIXME*/
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
1999
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_DISASSOC,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2002
wl->assoc_stat = GELIC_WL_ASSOC_STAT_DISCONN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2003
gelic_wl_send_iwap_event(wl, NULL);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2006
wl->assoc_stat = GELIC_WL_ASSOC_STAT_ASSOCIATED;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2008
memcpy(wl->active_bssid, &bss->hwinfo->bssid[2], ETH_ALEN);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2011
gelic_wl_send_iwap_event(wl, wl->active_bssid);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2023
static void gelic_wl_connected_event(struct gelic_wl_info *wl,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2028
switch (wl->wpa_level) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
204
static struct gelic_eurus_cmd *gelic_eurus_sync_cmd(struct gelic_wl_info *wl,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2040
complete(&wl->assoc_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2041
netif_carrier_on(port_to_netdev(wl_port(wl)));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2050
static void gelic_wl_disconnect_event(struct gelic_wl_info *wl,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2063
if (!mutex_trylock(&wl->assoc_stat_lock)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2071
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_DISASSOC, NULL, 0);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2075
if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2076
gelic_wl_send_iwap_event(wl, NULL);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2078
wl->assoc_stat = GELIC_WL_ASSOC_STAT_DISCONN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2079
netif_carrier_off(port_to_netdev(wl_port(wl)));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2082
mutex_unlock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2120
struct gelic_wl_info *wl;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2126
wl = container_of(work, struct gelic_wl_info, event_work.work);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2127
port = wl_port(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2143
gelic_wl_scan_complete_event(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2147
gelic_wl_disconnect_event(wl, event);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2151
gelic_wl_connected_event(wl, event);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2163
struct gelic_wl_info *wl;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2171
wl = container_of(work, struct gelic_wl_info, assoc_work.work);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2173
mutex_lock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2175
if (wl->assoc_stat != GELIC_WL_ASSOC_STAT_DISCONN)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2178
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2179
if (test_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2181
wl->essid);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2182
essid = wl->essid;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2183
essid_len = wl->essid_len;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2188
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2190
ret = gelic_wl_start_scan(wl, 0, essid, essid_len);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2193
schedule_delayed_work(&wl->assoc_work, HZ/10); /*FIXME*/
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
220
cmd->wl = wl;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2206
wait_for_completion(&wl->scan_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2209
mutex_lock(&wl->scan_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2210
if (wl->scan_stat != GELIC_WL_SCAN_STAT_GOT_LIST) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2211
gelic_wl_send_iwap_event(wl, NULL);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2217
best_bss = gelic_wl_find_best_bss(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2219
gelic_wl_send_iwap_event(wl, NULL);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2225
ret = gelic_wl_associate_bss(wl, best_bss);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2229
mutex_unlock(&wl->scan_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
223
queue_work(wl->eurus_cmd_queue, &cmd->work);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2231
mutex_unlock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2240
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2244
complete(&wl->cmd_done_intr);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2249
queue_delayed_work(wl->event_queue, &wl->event_work, 0);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2287
struct gelic_wl_info *wl;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2304
wl = port_wl(port);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2305
pr_debug("%s: wl=%p port=%p\n", __func__, wl, port);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2308
wl->networks = kzalloc_objs(struct gelic_wl_scan_info,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2311
if (!wl->networks)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2314
wl->eurus_cmd_queue = create_singlethread_workqueue("gelic_cmd");
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2315
if (!wl->eurus_cmd_queue)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2318
wl->event_queue = create_singlethread_workqueue("gelic_event");
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2319
if (!wl->event_queue)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2322
INIT_LIST_HEAD(&wl->network_free_list);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2323
INIT_LIST_HEAD(&wl->network_list);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2325
list_add_tail(&wl->networks[i].list,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2326
&wl->network_free_list);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2327
init_completion(&wl->cmd_done_intr);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2329
INIT_DELAYED_WORK(&wl->event_work, gelic_wl_event_worker);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
233
struct gelic_wl_info *wl = port_wl(netdev_port(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2330
INIT_DELAYED_WORK(&wl->assoc_work, gelic_wl_assoc_worker);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2331
mutex_init(&wl->scan_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2332
mutex_init(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2334
init_completion(&wl->scan_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2336
complete(&wl->scan_done);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2338
spin_lock_init(&wl->lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2340
wl->scan_age = 5*HZ; /* FIXME */
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2350
destroy_workqueue(wl->eurus_cmd_queue);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2352
kfree(wl->networks);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2360
static void gelic_wl_free(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2368
destroy_workqueue(wl->eurus_cmd_queue);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2369
destroy_workqueue(wl->event_queue);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
237
mutex_lock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2371
scan_info = wl->networks;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2374
kfree(wl->networks);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2376
free_netdev(port_to_netdev(wl_port(wl)));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
238
if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2383
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2391
if (wl->group_cipher_method == GELIC_WL_CIPHER_NONE) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2393
&wl->stat))
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2402
if (wl->group_cipher_method == GELIC_WL_CIPHER_WEP) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2405
if (test_bit(i, &wl->key_enabled))
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2413
if ((wl->group_cipher_method == GELIC_WL_CIPHER_TKIP) ||
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2414
(wl->group_cipher_method == GELIC_WL_CIPHER_AES)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2416
&wl->stat))
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
242
mutex_unlock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2426
ret = schedule_delayed_work(&wl->assoc_work, 0);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2454
static int gelic_wl_reset_state(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2460
list_for_each_entry_safe(target, tmp, &wl->network_list, list) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2461
list_move_tail(&target->list, &wl->network_free_list);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2463
wl->scan_stat = GELIC_WL_SCAN_STAT_INIT;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2466
wl->auth_method = GELIC_EURUS_AUTH_OPEN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2467
wl->group_cipher_method = GELIC_WL_CIPHER_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2468
wl->pairwise_cipher_method = GELIC_WL_CIPHER_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2469
wl->wpa_level = GELIC_WL_WPA_LEVEL_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
247
static void gelic_wl_send_iwap_event(struct gelic_wl_info *wl, u8 *bssid)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2471
wl->key_enabled = 0;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2472
wl->current_key = 0;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2474
wl->psk_type = GELIC_EURUS_WPA_PSK_PASSPHRASE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2475
wl->psk_len = 0;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2477
wl->essid_len = 0;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2478
memset(wl->essid, 0, sizeof(wl->essid));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2479
memset(wl->bssid, 0, sizeof(wl->bssid));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2480
memset(wl->active_bssid, 0, sizeof(wl->active_bssid));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2482
wl->assoc_stat = GELIC_WL_ASSOC_STAT_DISCONN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2484
memset(&wl->iwstat, 0, sizeof(wl->iwstat));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2486
wl->stat = 0;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2496
struct gelic_wl_info *wl = port_wl(port);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2503
if (wl->scan_stat == GELIC_WL_SCAN_STAT_SCANNING)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2504
wait_for_completion_timeout(&wl->scan_done, HZ);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2506
cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_DISASSOC, NULL, 0);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2508
gelic_wl_send_iwap_event(wl, NULL);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2514
struct gelic_wl_info *wl = port_wl(port);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2523
cancel_delayed_work(&wl->assoc_work);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2525
if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2529
gelic_wl_reset_state(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
255
wireless_send_event(port_to_netdev(wl_port(wl)), SIOCGIWAP,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2561
struct gelic_wl_info *wl;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2562
wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2563
BUG_ON(!wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2618
struct gelic_wl_info *wl;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2629
wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2632
if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2635
complete(&wl->cmd_done_intr);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2638
cancel_delayed_work(&wl->assoc_work);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2639
cancel_delayed_work(&wl->event_work);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2640
flush_workqueue(wl->eurus_cmd_queue);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2641
flush_workqueue(wl->event_queue);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
2650
gelic_wl_free(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
272
static void gelic_wl_get_ch_info(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
274
struct gelic_card *card = port_to_card(wl_port(wl));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
278
if (!test_and_set_bit(GELIC_WL_STAT_CH_INFO, &wl->stat)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
287
wl->ch_info = 0x07ff;/* 11 ch */
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
290
wl->ch_info = ch_info_raw >> 48;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
301
struct gelic_wl_info *wl = port_wl(netdev_port(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
312
gelic_wl_get_ch_info(wl);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
316
if (wl->ch_info & (1 << i)) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
369
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
38
static int gelic_wl_start_scan(struct gelic_wl_info *wl, int always_scan,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
381
return gelic_wl_start_scan(wl, 1, essid, essid_len);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
698
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
706
if (mutex_lock_interruptible(&wl->scan_lock))
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
709
switch (wl->scan_stat) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
723
list_for_each_entry(scan_info, &wl->network_list, list) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
724
if (wl->scan_age == 0 ||
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
725
time_after(scan_info->last_scanned + wl->scan_age,
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
742
mutex_unlock(&wl->scan_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
748
static void scan_list_dump(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
754
list_for_each_entry(scan_info, &wl->network_list, list) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
774
struct gelic_wl_info *wl = port_wl(netdev_port(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
779
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
784
wl->wpa_level = GELIC_WL_WPA_LEVEL_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
785
wl->group_cipher_method = GELIC_WL_CIPHER_WEP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
786
wl->pairwise_cipher_method = GELIC_WL_CIPHER_WEP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
790
wl->wpa_level = GELIC_WL_WPA_LEVEL_WPA;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
791
wl->group_cipher_method = GELIC_WL_CIPHER_TKIP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
792
wl->pairwise_cipher_method = GELIC_WL_CIPHER_TKIP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
793
wl->auth_method = GELIC_EURUS_AUTH_OPEN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
808
wl->wpa_level = GELIC_WL_WPA_LEVEL_WPA2;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
809
wl->group_cipher_method = GELIC_WL_CIPHER_AES;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
810
wl->pairwise_cipher_method =
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
812
wl->auth_method = GELIC_EURUS_AUTH_OPEN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
822
wl->pairwise_cipher_method = GELIC_WL_CIPHER_WEP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
826
wl->pairwise_cipher_method = GELIC_WL_CIPHER_TKIP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
830
wl->pairwise_cipher_method = GELIC_WL_CIPHER_AES;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
834
wl->pairwise_cipher_method = GELIC_WL_CIPHER_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
841
wl->group_cipher_method = GELIC_WL_CIPHER_WEP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
845
wl->group_cipher_method = GELIC_WL_CIPHER_TKIP;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
849
wl->group_cipher_method = GELIC_WL_CIPHER_AES;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
853
wl->group_cipher_method = GELIC_WL_CIPHER_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
859
wl->auth_method = GELIC_EURUS_AUTH_SHARED;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
862
wl->auth_method = GELIC_EURUS_AUTH_OPEN;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
870
wl->wpa_level = GELIC_WL_WPA_LEVEL_WPA;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
873
wl->wpa_level = GELIC_WL_WPA_LEVEL_NONE;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
887
set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
889
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
899
struct gelic_wl_info *wl = port_wl(netdev_port(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
904
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
907
switch (wl->wpa_level) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
920
if (wl->auth_method == GELIC_EURUS_AUTH_SHARED)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
922
else if (wl->auth_method == GELIC_EURUS_AUTH_OPEN)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
927
switch (wl->wpa_level) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
941
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
951
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
959
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
961
wl->essid_len = data->essid.length;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
962
memcpy(wl->essid, extra, wl->essid_len);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
964
set_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
967
clear_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
969
set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
970
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
982
struct gelic_wl_info *wl = port_wl(netdev_priv(netdev));
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
986
mutex_lock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
987
spin_lock_irqsave(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
988
if (test_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat) ||
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
989
wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED) {
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
990
memcpy(extra, wl->essid, wl->essid_len);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
991
data->essid.length = wl->essid_len;
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
996
mutex_unlock(&wl->assoc_stat_lock);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.c
997
spin_unlock_irqrestore(&wl->lock, irqflag);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.h
284
static inline struct gelic_port *wl_port(struct gelic_wl_info *wl)
drivers/net/ethernet/toshiba/ps3_gelic_wireless.h
286
return container_of((void *)wl, struct gelic_port, priv);
drivers/net/ethernet/toshiba/ps3_gelic_wireless.h
295
struct gelic_wl_info *wl;
drivers/net/wireless/broadcom/b43/b43.h
1000
return wl->hw->conf.chandef.chan->band;
drivers/net/wireless/broadcom/b43/b43.h
1088
ieee80211_wake_queue(dev->wl->hw, queue_prio);
drivers/net/wireless/broadcom/b43/b43.h
1090
ieee80211_wake_queue(dev->wl->hw, 0);
drivers/net/wireless/broadcom/b43/b43.h
1096
ieee80211_stop_queue(dev->wl->hw, queue_prio);
drivers/net/wireless/broadcom/b43/b43.h
1098
ieee80211_stop_queue(dev->wl->hw, 0);
drivers/net/wireless/broadcom/b43/b43.h
1102
__printf(2, 3) void b43info(struct b43_wl *wl, const char *fmt, ...);
drivers/net/wireless/broadcom/b43/b43.h
1103
__printf(2, 3) void b43err(struct b43_wl *wl, const char *fmt, ...);
drivers/net/wireless/broadcom/b43/b43.h
1104
__printf(2, 3) void b43warn(struct b43_wl *wl, const char *fmt, ...);
drivers/net/wireless/broadcom/b43/b43.h
1105
__printf(2, 3) void b43dbg(struct b43_wl *wl, const char *fmt, ...);
drivers/net/wireless/broadcom/b43/b43.h
829
struct b43_wl *wl;
drivers/net/wireless/broadcom/b43/b43.h
989
static inline int b43_is_mode(struct b43_wl *wl, int type)
drivers/net/wireless/broadcom/b43/b43.h
991
return (wl->operating && wl->if_type == type);
drivers/net/wireless/broadcom/b43/b43.h
998
static inline enum nl80211_band b43_current_band(struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/debugfs.c
507
mutex_lock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43/debugfs.c
546
mutex_unlock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43/debugfs.c
568
mutex_lock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43/debugfs.c
596
mutex_unlock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43/debugfs.c
675
b43err(dev->wl, "debugfs: add device OOM\n");
drivers/net/wireless/broadcom/b43/debugfs.c
682
b43err(dev->wl, "debugfs: add device txstatus OOM\n");
drivers/net/wireless/broadcom/b43/debugfs.c
690
snprintf(devdir, sizeof(devdir), "%s", wiphy_name(dev->wl->hw->wiphy));
drivers/net/wireless/broadcom/b43/dma.c
1059
b43err(dev->wl, "The machine/kernel does not support "
drivers/net/wireless/broadcom/b43/dma.c
1115
b43dbg(dev->wl, "%u-bit DMA initialized\n",
drivers/net/wireless/broadcom/b43/dma.c
1180
b43dbg(dev->wl, "TX-status contains "
drivers/net/wireless/broadcom/b43/dma.c
1298
b43dbg(ring->dev->wl,
drivers/net/wireless/broadcom/b43/dma.c
1367
b43err(dev->wl, "Packet after queue stopped\n");
drivers/net/wireless/broadcom/b43/dma.c
1375
b43err(dev->wl, "DMA queue overflow\n");
drivers/net/wireless/broadcom/b43/dma.c
1389
ieee80211_free_txskb(dev->wl->hw, skb);
drivers/net/wireless/broadcom/b43/dma.c
1394
b43err(dev->wl, "DMA tx mapping failure\n");
drivers/net/wireless/broadcom/b43/dma.c
1402
dev->wl->tx_queue_stopped[skb_mapping] = true;
drivers/net/wireless/broadcom/b43/dma.c
1405
b43dbg(dev->wl, "Stopped TX ring %d\n", ring->index);
drivers/net/wireless/broadcom/b43/dma.c
1451
b43dbg(dev->wl,
drivers/net/wireless/broadcom/b43/dma.c
1462
b43dbg(dev->wl,
drivers/net/wireless/broadcom/b43/dma.c
1478
b43dbg(dev->wl, "Poisoned TX slot %d (first=%d) "
drivers/net/wireless/broadcom/b43/dma.c
1504
b43dbg(dev->wl, "TX status unexpected NULL skb "
drivers/net/wireless/broadcom/b43/dma.c
1533
ieee80211_tx_status_skb(dev->wl->hw, meta->skb);
drivers/net/wireless/broadcom/b43/dma.c
1543
b43dbg(dev->wl, "TX status unexpected non-NULL skb "
drivers/net/wireless/broadcom/b43/dma.c
1567
if (dev->wl->tx_queue_stopped[ring->queue_prio]) {
drivers/net/wireless/broadcom/b43/dma.c
1568
dev->wl->tx_queue_stopped[ring->queue_prio] = false;
drivers/net/wireless/broadcom/b43/dma.c
1574
b43dbg(dev->wl, "Woke up TX ring %d\n", ring->index);
drivers/net/wireless/broadcom/b43/dma.c
1578
ieee80211_queue_work(dev->wl->hw, &dev->wl->tx_work);
drivers/net/wireless/broadcom/b43/dma.c
1615
b43dbg(ring->dev->wl, "DMA RX: Dropping poisoned buffer.\n");
drivers/net/wireless/broadcom/b43/dma.c
1640
b43err(ring->dev->wl, "DMA RX buffer too small "
drivers/net/wireless/broadcom/b43/dma.c
1649
b43dbg(ring->dev->wl, "DMA RX: setup_rx_descbuffer() failed\n");
drivers/net/wireless/broadcom/b43/dma.c
286
b43dbg(ring->dev->wl,
drivers/net/wireless/broadcom/b43/dma.c
400
ieee80211_free_txskb(ring->dev->wl->hw, meta->skb);
drivers/net/wireless/broadcom/b43/dma.c
470
b43err(dev->wl, "DMA RX reset timed out\n");
drivers/net/wireless/broadcom/b43/dma.c
528
b43err(dev->wl, "DMA TX reset timed out\n");
drivers/net/wireless/broadcom/b43/dma.c
619
b43err(ring->dev->wl, "RX DMA buffer allocation failed\n");
drivers/net/wireless/broadcom/b43/dma.c
647
b43err(ring->dev->wl,
drivers/net/wireless/broadcom/b43/dma.c
920
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/dma.c
984
b43dbg(ring->dev->wl, "DMA-%u %s: "
drivers/net/wireless/broadcom/b43/leds.c
100
struct b43_wl *wl = led->wl;
drivers/net/wireless/broadcom/b43/leds.c
102
if (likely(!wl->leds.stop)) {
drivers/net/wireless/broadcom/b43/leds.c
104
ieee80211_queue_work(wl->hw, &wl->leds.work);
drivers/net/wireless/broadcom/b43/leds.c
114
if (led->wl)
drivers/net/wireless/broadcom/b43/leds.c
118
led->wl = dev->wl;
drivers/net/wireless/broadcom/b43/leds.c
130
b43warn(dev->wl, "LEDs: Failed to register %s\n", name);
drivers/net/wireless/broadcom/b43/leds.c
131
led->wl = NULL;
drivers/net/wireless/broadcom/b43/leds.c
140
if (!led->wl)
drivers/net/wireless/broadcom/b43/leds.c
143
led->wl = NULL;
drivers/net/wireless/broadcom/b43/leds.c
151
struct ieee80211_hw *hw = dev->wl->hw;
drivers/net/wireless/broadcom/b43/leds.c
166
b43_register_led(dev, &dev->wl->leds.led_tx, name,
drivers/net/wireless/broadcom/b43/leds.c
171
b43_register_led(dev, &dev->wl->leds.led_rx, name,
drivers/net/wireless/broadcom/b43/leds.c
181
b43_register_led(dev, &dev->wl->leds.led_radio, name,
drivers/net/wireless/broadcom/b43/leds.c
189
b43_register_led(dev, &dev->wl->leds.led_assoc, name,
drivers/net/wireless/broadcom/b43/leds.c
194
b43warn(dev->wl, "LEDs: Unknown behaviour 0x%02X\n",
drivers/net/wireless/broadcom/b43/leds.c
257
led = &dev->wl->leds.led_radio;
drivers/net/wireless/broadcom/b43/leds.c
258
if (led->wl) {
drivers/net/wireless/broadcom/b43/leds.c
271
led = &dev->wl->leds.led_tx;
drivers/net/wireless/broadcom/b43/leds.c
272
if (led->wl) {
drivers/net/wireless/broadcom/b43/leds.c
277
led = &dev->wl->leds.led_rx;
drivers/net/wireless/broadcom/b43/leds.c
278
if (led->wl) {
drivers/net/wireless/broadcom/b43/leds.c
283
led = &dev->wl->leds.led_assoc;
drivers/net/wireless/broadcom/b43/leds.c
284
if (led->wl) {
drivers/net/wireless/broadcom/b43/leds.c
306
dev->wl->leds.stop = 0;
drivers/net/wireless/broadcom/b43/leds.c
311
struct b43_leds *leds = &dev->wl->leds;
drivers/net/wireless/broadcom/b43/leds.c
321
struct b43_leds *leds = &dev->wl->leds;
drivers/net/wireless/broadcom/b43/leds.c
333
INIT_WORK(&dev->wl->leds.work, b43_leds_work);
drivers/net/wireless/broadcom/b43/leds.c
342
void b43_leds_unregister(struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/leds.c
344
struct b43_leds *leds = &wl->leds;
drivers/net/wireless/broadcom/b43/leds.c
53
if (!led->wl)
drivers/net/wireless/broadcom/b43/leds.c
78
struct b43_wl *wl = container_of(leds, struct b43_wl, leds);
drivers/net/wireless/broadcom/b43/leds.c
81
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/leds.c
82
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/leds.c
86
b43_led_update(dev, &wl->leds.led_tx);
drivers/net/wireless/broadcom/b43/leds.c
87
b43_led_update(dev, &wl->leds.led_rx);
drivers/net/wireless/broadcom/b43/leds.c
88
b43_led_update(dev, &wl->leds.led_radio);
drivers/net/wireless/broadcom/b43/leds.c
89
b43_led_update(dev, &wl->leds.led_assoc);
drivers/net/wireless/broadcom/b43/leds.c
92
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/leds.h
18
struct b43_wl *wl;
drivers/net/wireless/broadcom/b43/leds.h
65
void b43_leds_unregister(struct b43_wl *wl);
drivers/net/wireless/broadcom/b43/leds.h
81
static inline void b43_leds_unregister(struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/lo.c
52
b43dbg(dev->wl, "Invalid LO control pair "
drivers/net/wireless/broadcom/b43/lo.c
763
b43dbg(dev->wl, "LO: Calibrated for BB(%u), RF(%u,%u) "
drivers/net/wireless/broadcom/b43/lo.c
771
b43warn(dev->wl, "LO calib: out of memory\n");
drivers/net/wireless/broadcom/b43/lo.c
845
b43warn(dev->wl, "LO: Could not "
drivers/net/wireless/broadcom/b43/lo.c
961
b43dbg(dev->wl, "LO: Item BB(%u), RF(%u,%u), "
drivers/net/wireless/broadcom/b43/lo.c
973
b43dbg(dev->wl, "LO: Recalibrating current LO setting\n");
drivers/net/wireless/broadcom/b43/lo.c
979
b43warn(dev->wl, "Failed to recalibrate current LO setting\n");
drivers/net/wireless/broadcom/b43/main.c
1040
b43warn(dev->wl, "Out of hardware key memory\n");
drivers/net/wireless/broadcom/b43/main.c
1099
b43dbg(dev->wl, "Hardware key memory dump: USEDEFKEYS=%u\n",
drivers/net/wireless/broadcom/b43/main.c
1490
if (b43_is_mode(dev->wl, NL80211_IFTYPE_AP)) {
drivers/net/wireless/broadcom/b43/main.c
1496
if (b43_is_mode(dev->wl, NL80211_IFTYPE_ADHOC))
drivers/net/wireless/broadcom/b43/main.c
1620
spin_lock_irqsave(&dev->wl->beacon_lock, flags);
drivers/net/wireless/broadcom/b43/main.c
1621
info = IEEE80211_SKB_CB(dev->wl->current_beacon);
drivers/net/wireless/broadcom/b43/main.c
1622
rate = ieee80211_get_tx_rate(dev->wl->hw, info)->hw_value;
drivers/net/wireless/broadcom/b43/main.c
1624
beacon_skb = skb_clone(dev->wl->current_beacon, GFP_ATOMIC);
drivers/net/wireless/broadcom/b43/main.c
1625
spin_unlock_irqrestore(&dev->wl->beacon_lock, flags);
drivers/net/wireless/broadcom/b43/main.c
1628
b43dbg(dev->wl, "Could not upload beacon. "
drivers/net/wireless/broadcom/b43/main.c
1702
b43dbg(dev->wl, "Updated beacon template at 0x%x\n", ram_offset);
drivers/net/wireless/broadcom/b43/main.c
1709
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
1711
if (wl->beacon0_uploaded)
drivers/net/wireless/broadcom/b43/main.c
1714
wl->beacon0_uploaded = true;
drivers/net/wireless/broadcom/b43/main.c
1719
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
1721
if (wl->beacon1_uploaded)
drivers/net/wireless/broadcom/b43/main.c
1724
wl->beacon1_uploaded = true;
drivers/net/wireless/broadcom/b43/main.c
1729
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
1732
if (!b43_is_mode(wl, NL80211_IFTYPE_AP) &&
drivers/net/wireless/broadcom/b43/main.c
1733
!b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) &&
drivers/net/wireless/broadcom/b43/main.c
1734
!b43_is_mode(wl, NL80211_IFTYPE_ADHOC))
drivers/net/wireless/broadcom/b43/main.c
1753
if (unlikely(wl->beacon_templates_virgin)) {
drivers/net/wireless/broadcom/b43/main.c
1756
wl->beacon_templates_virgin = false;
drivers/net/wireless/broadcom/b43/main.c
1800
struct b43_wl *wl = container_of(work, struct b43_wl,
drivers/net/wireless/broadcom/b43/main.c
1804
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
1805
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
1811
spin_lock_irq(&wl->hardirq_lock);
drivers/net/wireless/broadcom/b43/main.c
1813
spin_unlock_irq(&wl->hardirq_lock);
drivers/net/wireless/broadcom/b43/main.c
1816
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
1820
static void b43_update_templates(struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/main.c
1835
beacon = ieee80211_beacon_get(wl->hw, wl->vif, 0);
drivers/net/wireless/broadcom/b43/main.c
1839
spin_lock_irqsave(&wl->beacon_lock, flags);
drivers/net/wireless/broadcom/b43/main.c
1840
old_beacon = wl->current_beacon;
drivers/net/wireless/broadcom/b43/main.c
1841
wl->current_beacon = beacon;
drivers/net/wireless/broadcom/b43/main.c
1842
wl->beacon0_uploaded = false;
drivers/net/wireless/broadcom/b43/main.c
1843
wl->beacon1_uploaded = false;
drivers/net/wireless/broadcom/b43/main.c
1844
spin_unlock_irqrestore(&wl->beacon_lock, flags);
drivers/net/wireless/broadcom/b43/main.c
1846
ieee80211_queue_work(wl->hw, &wl->beacon_update_trigger);
drivers/net/wireless/broadcom/b43/main.c
1863
b43dbg(dev->wl, "Set beacon interval to %u\n", beacon_int);
drivers/net/wireless/broadcom/b43/main.c
1872
b43err(dev->wl, "Whoopsy, firmware panic! Reason: %u\n", reason);
drivers/net/wireless/broadcom/b43/main.c
1876
b43dbg(dev->wl, "The panic reason is unknown.\n");
drivers/net/wireless/broadcom/b43/main.c
1912
b43dbg(dev->wl, "SHM-dump: Failed to allocate memory\n");
drivers/net/wireless/broadcom/b43/main.c
1919
b43info(dev->wl, "Shared memory dump:\n");
drivers/net/wireless/broadcom/b43/main.c
1927
b43info(dev->wl, "Microcode register dump:\n");
drivers/net/wireless/broadcom/b43/main.c
1948
b43info(dev->wl, "The firmware just executed the MARKER(%u) "
drivers/net/wireless/broadcom/b43/main.c
1953
b43dbg(dev->wl, "Debug-IRQ triggered for unknown reason: %u\n",
drivers/net/wireless/broadcom/b43/main.c
1979
b43err(dev->wl, "MAC transmission error\n");
drivers/net/wireless/broadcom/b43/main.c
1982
b43err(dev->wl, "PHY transmission error\n");
drivers/net/wireless/broadcom/b43/main.c
1987
b43err(dev->wl, "Too many PHY TX errors, "
drivers/net/wireless/broadcom/b43/main.c
1994
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/main.c
1999
b43err(dev->wl, "This device does not support DMA "
drivers/net/wireless/broadcom/b43/main.c
2026
b43warn(dev->wl, "RX descriptor underrun\n");
drivers/net/wireless/broadcom/b43/main.c
2063
mutex_lock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
2065
mutex_unlock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
2127
spin_lock(&dev->wl->hardirq_lock);
drivers/net/wireless/broadcom/b43/main.c
2129
spin_unlock(&dev->wl->hardirq_lock);
drivers/net/wireless/broadcom/b43/main.c
2137
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
2140
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
2146
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
2165
static void b43_print_fw_helptext(struct b43_wl *wl, bool error)
drivers/net/wireless/broadcom/b43/main.c
2174
b43err(wl, text);
drivers/net/wireless/broadcom/b43/main.c
2176
b43warn(wl, text);
drivers/net/wireless/broadcom/b43/main.c
2517
b43err(dev->wl, "The driver does not know which firmware (ucode) "
drivers/net/wireless/broadcom/b43/main.c
2523
b43err(dev->wl, "The driver does not know which firmware (PCM) "
drivers/net/wireless/broadcom/b43/main.c
2529
b43err(dev->wl, "The driver does not know which firmware (initvals) "
drivers/net/wireless/broadcom/b43/main.c
2544
static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl);
drivers/net/wireless/broadcom/b43/main.c
2546
static int b43_rng_init(struct b43_wl *wl);
drivers/net/wireless/broadcom/b43/main.c
2550
struct b43_wl *wl = container_of(work,
drivers/net/wireless/broadcom/b43/main.c
2552
struct b43_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
2583
b43err(dev->wl, "%s", errmsg);
drivers/net/wireless/broadcom/b43/main.c
2585
b43_print_fw_helptext(dev->wl, 1);
drivers/net/wireless/broadcom/b43/main.c
2589
wl->hw->queues = B43_QOS_QUEUE_NUM;
drivers/net/wireless/broadcom/b43/main.c
2592
wl->hw->queues = 1;
drivers/net/wireless/broadcom/b43/main.c
2594
err = ieee80211_register_hw(wl->hw);
drivers/net/wireless/broadcom/b43/main.c
2597
wl->hw_registered = true;
drivers/net/wireless/broadcom/b43/main.c
2598
b43_leds_register(wl->current_dev);
drivers/net/wireless/broadcom/b43/main.c
2601
b43_rng_init(wl);
drivers/net/wireless/broadcom/b43/main.c
2609
struct wiphy *wiphy = dev->wl->hw->wiphy;
drivers/net/wireless/broadcom/b43/main.c
2665
b43err(dev->wl, "Microcode not responding\n");
drivers/net/wireless/broadcom/b43/main.c
2666
b43_print_fw_helptext(dev->wl, 1);
drivers/net/wireless/broadcom/b43/main.c
2681
b43err(dev->wl, "YOUR FIRMWARE IS TOO OLD. Firmware from "
drivers/net/wireless/broadcom/b43/main.c
2684
b43_print_fw_helptext(dev->wl, 1);
drivers/net/wireless/broadcom/b43/main.c
2698
dev->qos_enabled = dev->wl->hw->queues > 1;
drivers/net/wireless/broadcom/b43/main.c
2707
b43info(dev->wl, "Loading OpenSource firmware version %u.%u\n",
drivers/net/wireless/broadcom/b43/main.c
2712
b43info(dev->wl, "Hardware crypto acceleration not supported by firmware\n");
drivers/net/wireless/broadcom/b43/main.c
2719
b43info(dev->wl, "Loading firmware version %u.%u "
drivers/net/wireless/broadcom/b43/main.c
2725
b43warn(dev->wl, "No \"pcm5.fw\" firmware file found. "
drivers/net/wireless/broadcom/b43/main.c
2727
b43_print_fw_helptext(dev->wl, 0);
drivers/net/wireless/broadcom/b43/main.c
2738
b43warn(dev->wl, "You are using an old firmware image. "
drivers/net/wireless/broadcom/b43/main.c
2741
b43_print_fw_helptext(dev->wl, 0);
drivers/net/wireless/broadcom/b43/main.c
2809
b43err(dev->wl, "Initial Values Firmware file-format error.\n");
drivers/net/wireless/broadcom/b43/main.c
2810
b43_print_fw_helptext(dev->wl, 1);
drivers/net/wireless/broadcom/b43/main.c
2958
b43err(dev->wl, "b43_mac_enable(): The firmware "
drivers/net/wireless/broadcom/b43/main.c
3004
b43err(dev->wl, "MAC suspend failed\n");
drivers/net/wireless/broadcom/b43/main.c
3096
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
3110
if (b43_is_mode(wl, NL80211_IFTYPE_AP) ||
drivers/net/wireless/broadcom/b43/main.c
3111
b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT))
drivers/net/wireless/broadcom/b43/main.c
3113
else if (b43_is_mode(wl, NL80211_IFTYPE_ADHOC))
drivers/net/wireless/broadcom/b43/main.c
3116
if (wl->filter_flags & FIF_CONTROL)
drivers/net/wireless/broadcom/b43/main.c
3118
if (wl->filter_flags & FIF_FCSFAIL)
drivers/net/wireless/broadcom/b43/main.c
3120
if (wl->filter_flags & FIF_PLCPFAIL)
drivers/net/wireless/broadcom/b43/main.c
3122
if (wl->filter_flags & FIF_BCN_PRBRESP_PROMISC)
drivers/net/wireless/broadcom/b43/main.c
3338
b43dbg(dev->wl, "Chip initialized\n");
drivers/net/wireless/broadcom/b43/main.c
3374
b43err(dev->wl, "Firmware watchdog: The firmware died!\n");
drivers/net/wireless/broadcom/b43/main.c
3393
b43dbg(dev->wl, "Stats: %7u IRQs/sec, %7u TX/sec, %7u RX/sec\n",
drivers/net/wireless/broadcom/b43/main.c
3402
b43dbg(dev->wl, "Stats: %7u IRQ-%02u/sec (0x%08X)\n",
drivers/net/wireless/broadcom/b43/main.c
3432
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
3435
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3450
ieee80211_queue_delayed_work(wl->hw, &dev->periodic_work, delay);
drivers/net/wireless/broadcom/b43/main.c
3452
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3461
ieee80211_queue_delayed_work(dev->wl->hw, work, 0);
drivers/net/wireless/broadcom/b43/main.c
3487
b43warn(dev->wl, "Unaligned 32bit SHM read access is broken\n");
drivers/net/wireless/broadcom/b43/main.c
3493
b43warn(dev->wl, "Unaligned 32bit SHM write access is broken\n");
drivers/net/wireless/broadcom/b43/main.c
3517
b43err(dev->wl, "Failed to validate the chipaccess\n");
drivers/net/wireless/broadcom/b43/main.c
3537
struct b43_wl *wl = (struct b43_wl *)rng->priv;
drivers/net/wireless/broadcom/b43/main.c
3541
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3542
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
3547
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3553
static void b43_rng_exit(struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/main.c
3556
if (wl->rng_initialized)
drivers/net/wireless/broadcom/b43/main.c
3557
hwrng_unregister(&wl->rng);
drivers/net/wireless/broadcom/b43/main.c
3561
static int b43_rng_init(struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/main.c
3566
snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name),
drivers/net/wireless/broadcom/b43/main.c
3567
"%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy));
drivers/net/wireless/broadcom/b43/main.c
3568
wl->rng.name = wl->rng_name;
drivers/net/wireless/broadcom/b43/main.c
3569
wl->rng.data_read = b43_rng_read;
drivers/net/wireless/broadcom/b43/main.c
3570
wl->rng.priv = (unsigned long)wl;
drivers/net/wireless/broadcom/b43/main.c
3571
wl->rng_initialized = true;
drivers/net/wireless/broadcom/b43/main.c
3572
err = hwrng_register(&wl->rng);
drivers/net/wireless/broadcom/b43/main.c
3574
wl->rng_initialized = false;
drivers/net/wireless/broadcom/b43/main.c
3575
b43err(wl, "Failed to register the random "
drivers/net/wireless/broadcom/b43/main.c
3585
struct b43_wl *wl = container_of(work, struct b43_wl, tx_work);
drivers/net/wireless/broadcom/b43/main.c
3591
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3592
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
3594
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3599
while (skb_queue_len(&wl->tx_queue[queue_num])) {
drivers/net/wireless/broadcom/b43/main.c
3600
skb = skb_dequeue(&wl->tx_queue[queue_num]);
drivers/net/wireless/broadcom/b43/main.c
3606
wl->tx_queue_stopped[queue_num] = true;
drivers/net/wireless/broadcom/b43/main.c
3608
skb_queue_head(&wl->tx_queue[queue_num], skb);
drivers/net/wireless/broadcom/b43/main.c
3612
ieee80211_free_txskb(wl->hw, skb);
drivers/net/wireless/broadcom/b43/main.c
3617
wl->tx_queue_stopped[queue_num] = false;
drivers/net/wireless/broadcom/b43/main.c
3623
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3630
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
3641
skb_queue_tail(&wl->tx_queue[skb_queue_mapping], skb);
drivers/net/wireless/broadcom/b43/main.c
3642
if (!wl->tx_queue_stopped[skb_queue_mapping])
drivers/net/wireless/broadcom/b43/main.c
3643
ieee80211_queue_work(wl->hw, &wl->tx_work);
drivers/net/wireless/broadcom/b43/main.c
3645
b43_stop_queue(wl->current_dev, skb_queue_mapping);
drivers/net/wireless/broadcom/b43/main.c
3700
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
3708
ARRAY_SIZE(wl->qos_params));
drivers/net/wireless/broadcom/b43/main.c
371
static int b43_ratelimit(struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/main.c
3711
for (i = 0; i < ARRAY_SIZE(wl->qos_params); i++) {
drivers/net/wireless/broadcom/b43/main.c
3712
params = &(wl->qos_params[i]);
drivers/net/wireless/broadcom/b43/main.c
3719
static void b43_qos_clear(struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/main.c
3727
ARRAY_SIZE(wl->qos_params));
drivers/net/wireless/broadcom/b43/main.c
3729
for (i = 0; i < ARRAY_SIZE(wl->qos_params); i++) {
drivers/net/wireless/broadcom/b43/main.c
373
if (!wl || !wl->current_dev)
drivers/net/wireless/broadcom/b43/main.c
3730
params = &(wl->qos_params[i]);
drivers/net/wireless/broadcom/b43/main.c
375
if (b43_status(wl->current_dev) < B43_STAT_STARTED)
drivers/net/wireless/broadcom/b43/main.c
3772
b43dbg(dev->wl, "QoS disabled\n");
drivers/net/wireless/broadcom/b43/main.c
3784
b43dbg(dev->wl, "QoS enabled\n");
drivers/net/wireless/broadcom/b43/main.c
3792
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
3797
if (queue >= ARRAY_SIZE(wl->qos_params)) {
drivers/net/wireless/broadcom/b43/main.c
3804
ARRAY_SIZE(wl->qos_params));
drivers/net/wireless/broadcom/b43/main.c
3806
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3807
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
3811
memcpy(&(wl->qos_params[queue].p), params, sizeof(*params));
drivers/net/wireless/broadcom/b43/main.c
3813
b43_qos_params_upload(dev, &(wl->qos_params[queue].p),
drivers/net/wireless/broadcom/b43/main.c
3819
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
382
void b43info(struct b43_wl *wl, const char *fmt, ...)
drivers/net/wireless/broadcom/b43/main.c
3827
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
3829
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3830
memcpy(stats, &wl->ieee_stats, sizeof(*stats));
drivers/net/wireless/broadcom/b43/main.c
3831
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3838
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
3842
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3843
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
3850
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3858
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
3861
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
3862
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
3867
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
389
if (!b43_ratelimit(wl))
drivers/net/wireless/broadcom/b43/main.c
3906
b43err(dev->wl, "This device doesn't support %s-GHz band\n",
drivers/net/wireless/broadcom/b43/main.c
3916
b43dbg(dev->wl, "Switching to %s GHz band\n",
drivers/net/wireless/broadcom/b43/main.c
398
(wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
drivers/net/wireless/broadcom/b43/main.c
3980
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
3981
struct b43_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
3987
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4015
dev->wl->radiotap_enabled = !!(conf->flags & IEEE80211_CONF_MONITOR);
drivers/net/wireless/broadcom/b43/main.c
403
void b43err(struct b43_wl *wl, const char *fmt, ...)
drivers/net/wireless/broadcom/b43/main.c
4033
if (wl->radio_enabled != phy->radio_on) {
drivers/net/wireless/broadcom/b43/main.c
4034
if (wl->radio_enabled) {
drivers/net/wireless/broadcom/b43/main.c
4036
b43info(dev->wl, "Radio turned on by software\n");
drivers/net/wireless/broadcom/b43/main.c
4038
b43info(dev->wl, "The hardware RF-kill button "
drivers/net/wireless/broadcom/b43/main.c
4044
b43info(dev->wl, "Radio turned off by software\n");
drivers/net/wireless/broadcom/b43/main.c
4050
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4058
dev->wl->hw->wiphy->bands[b43_current_band(dev->wl)];
drivers/net/wireless/broadcom/b43/main.c
410
if (!b43_ratelimit(wl))
drivers/net/wireless/broadcom/b43/main.c
4105
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
4108
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4110
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
4114
B43_WARN_ON(wl->vif != vif);
drivers/net/wireless/broadcom/b43/main.c
4118
memcpy(wl->bssid, conf->bssid, ETH_ALEN);
drivers/net/wireless/broadcom/b43/main.c
4120
eth_zero_addr(wl->bssid);
drivers/net/wireless/broadcom/b43/main.c
4125
(b43_is_mode(wl, NL80211_IFTYPE_AP) ||
drivers/net/wireless/broadcom/b43/main.c
4126
b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) ||
drivers/net/wireless/broadcom/b43/main.c
4127
b43_is_mode(wl, NL80211_IFTYPE_ADHOC)))
drivers/net/wireless/broadcom/b43/main.c
4128
b43_update_templates(wl);
drivers/net/wireless/broadcom/b43/main.c
4138
(b43_is_mode(wl, NL80211_IFTYPE_AP) ||
drivers/net/wireless/broadcom/b43/main.c
4139
b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) ||
drivers/net/wireless/broadcom/b43/main.c
4140
b43_is_mode(wl, NL80211_IFTYPE_ADHOC)) &&
drivers/net/wireless/broadcom/b43/main.c
4156
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4163
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
4187
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4189
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
419
(wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
drivers/net/wireless/broadcom/b43/main.c
424
void b43warn(struct b43_wl *wl, const char *fmt, ...)
drivers/net/wireless/broadcom/b43/main.c
4273
b43dbg(wl, "%s hardware based encryption for keyidx: %d, "
drivers/net/wireless/broadcom/b43/main.c
4279
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4288
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
4291
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4292
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
431
if (!b43_ratelimit(wl))
drivers/net/wireless/broadcom/b43/main.c
4312
wl->filter_flags = *fflags;
drivers/net/wireless/broadcom/b43/main.c
4318
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4326
struct b43_wl *wl;
drivers/net/wireless/broadcom/b43/main.c
4333
wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
4339
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4341
cancel_work_sync(&wl->tx_work);
drivers/net/wireless/broadcom/b43/main.c
4343
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4344
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
4357
spin_lock_irq(&wl->hardirq_lock);
drivers/net/wireless/broadcom/b43/main.c
4360
spin_unlock_irq(&wl->hardirq_lock);
drivers/net/wireless/broadcom/b43/main.c
4364
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4369
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4370
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
4383
while (skb_queue_len(&wl->tx_queue[queue_num])) {
drivers/net/wireless/broadcom/b43/main.c
4386
skb = skb_dequeue(&wl->tx_queue[queue_num]);
drivers/net/wireless/broadcom/b43/main.c
4387
ieee80211_free_txskb(wl->hw, skb);
drivers/net/wireless/broadcom/b43/main.c
4393
b43dbg(wl, "Wireless interface stopped\n");
drivers/net/wireless/broadcom/b43/main.c
440
(wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
drivers/net/wireless/broadcom/b43/main.c
4409
b43err(dev->wl, "Cannot request SDIO IRQ\n");
drivers/net/wireless/broadcom/b43/main.c
4417
b43err(dev->wl, "Cannot request IRQ-%d\n",
drivers/net/wireless/broadcom/b43/main.c
4424
ieee80211_wake_queues(dev->wl->hw);
drivers/net/wireless/broadcom/b43/main.c
4436
b43dbg(dev->wl, "Wireless interface started\n");
drivers/net/wireless/broadcom/b43/main.c
445
void b43dbg(struct b43_wl *wl, const char *fmt, ...)
drivers/net/wireless/broadcom/b43/main.c
4538
b43err(dev->wl, "FOUND UNSUPPORTED PHY (Analog %u, Type %d (%s), Revision %u)\n",
drivers/net/wireless/broadcom/b43/main.c
4543
b43info(dev->wl, "Found PHY: Analog %u, Type %d (%s), Revision %u\n",
drivers/net/wireless/broadcom/b43/main.c
459
(wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
drivers/net/wireless/broadcom/b43/main.c
4630
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/main.c
4635
b43info(dev->wl,
drivers/net/wireless/broadcom/b43/main.c
4749
if (b43_is_mode(dev->wl, NL80211_IFTYPE_ADHOC) || idle)
drivers/net/wireless/broadcom/b43/main.c
4763
if (b43_is_mode(dev->wl, NL80211_IFTYPE_ADHOC))
drivers/net/wireless/broadcom/b43/main.c
4802
if (dev->wl->current_beacon) {
drivers/net/wireless/broadcom/b43/main.c
4803
dev_kfree_skb_any(dev->wl->current_beacon);
drivers/net/wireless/broadcom/b43/main.c
4804
dev->wl->current_beacon = NULL;
drivers/net/wireless/broadcom/b43/main.c
4926
b43warn(dev->wl, "Forced PIO by use_pio module parameter. "
drivers/net/wireless/broadcom/b43/main.c
4945
ieee80211_wake_queues(dev->wl->hw);
drivers/net/wireless/broadcom/b43/main.c
4963
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
4975
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
4976
if (wl->operating)
drivers/net/wireless/broadcom/b43/main.c
4979
b43dbg(wl, "Adding Interface type %d\n", vif->type);
drivers/net/wireless/broadcom/b43/main.c
4981
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
4982
wl->operating = true;
drivers/net/wireless/broadcom/b43/main.c
4983
wl->vif = vif;
drivers/net/wireless/broadcom/b43/main.c
4984
wl->if_type = vif->type;
drivers/net/wireless/broadcom/b43/main.c
4985
memcpy(wl->mac_addr, vif->addr, ETH_ALEN);
drivers/net/wireless/broadcom/b43/main.c
4994
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5005
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5006
struct b43_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
5008
b43dbg(wl, "Removing Interface type %d\n", vif->type);
drivers/net/wireless/broadcom/b43/main.c
5010
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5012
B43_WARN_ON(!wl->operating);
drivers/net/wireless/broadcom/b43/main.c
5013
B43_WARN_ON(wl->vif != vif);
drivers/net/wireless/broadcom/b43/main.c
5014
wl->vif = NULL;
drivers/net/wireless/broadcom/b43/main.c
5016
wl->operating = false;
drivers/net/wireless/broadcom/b43/main.c
5019
eth_zero_addr(wl->mac_addr);
drivers/net/wireless/broadcom/b43/main.c
5022
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5027
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5028
struct b43_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
5035
eth_zero_addr(wl->bssid);
drivers/net/wireless/broadcom/b43/main.c
5036
eth_zero_addr(wl->mac_addr);
drivers/net/wireless/broadcom/b43/main.c
5037
wl->filter_flags = 0;
drivers/net/wireless/broadcom/b43/main.c
5038
wl->radiotap_enabled = false;
drivers/net/wireless/broadcom/b43/main.c
5039
b43_qos_clear(wl);
drivers/net/wireless/broadcom/b43/main.c
5040
wl->beacon0_uploaded = false;
drivers/net/wireless/broadcom/b43/main.c
5041
wl->beacon1_uploaded = false;
drivers/net/wireless/broadcom/b43/main.c
5042
wl->beacon_templates_virgin = true;
drivers/net/wireless/broadcom/b43/main.c
5043
wl->radio_enabled = true;
drivers/net/wireless/broadcom/b43/main.c
5045
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5067
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5083
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5084
struct b43_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
5086
cancel_work_sync(&(wl->beacon_update_trigger));
drivers/net/wireless/broadcom/b43/main.c
5091
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5098
wl->radio_enabled = false;
drivers/net/wireless/broadcom/b43/main.c
5101
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5103
cancel_work_sync(&(wl->txpower_adjust_work));
drivers/net/wireless/broadcom/b43/main.c
5109
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5111
b43_update_templates(wl);
drivers/net/wireless/broadcom/b43/main.c
5121
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5123
B43_WARN_ON(!vif || wl->vif != vif);
drivers/net/wireless/broadcom/b43/main.c
5130
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5133
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5134
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
5139
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5145
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5148
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5149
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
5154
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5160
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5161
struct b43_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/main.c
5209
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
5213
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5242
wl->current_dev = NULL; /* Failed to init the dev. */
drivers/net/wireless/broadcom/b43/main.c
5243
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5246
b43err(wl, "Controller restart FAILED\n");
drivers/net/wireless/broadcom/b43/main.c
5251
b43_op_config(wl->hw, -1, ~0);
drivers/net/wireless/broadcom/b43/main.c
5252
if (wl->vif)
drivers/net/wireless/broadcom/b43/main.c
5253
b43_op_bss_info_changed(wl->hw, wl->vif, &wl->vif->bss_conf, ~0);
drivers/net/wireless/broadcom/b43/main.c
5255
b43info(wl, "Controller restarted\n");
drivers/net/wireless/broadcom/b43/main.c
5261
struct ieee80211_hw *hw = dev->wl->hw;
drivers/net/wireless/broadcom/b43/main.c
5374
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/main.c
5389
b43err(wl, "Bus powerup failed\n");
drivers/net/wireless/broadcom/b43/main.c
5433
b43warn(wl, "5 GHz band is unsupported on this PHY\n");
drivers/net/wireless/broadcom/b43/main.c
5439
b43err(wl, "b43 can't support any band on this device\n");
drivers/net/wireless/broadcom/b43/main.c
5459
if (!wl->current_dev)
drivers/net/wireless/broadcom/b43/main.c
5460
wl->current_dev = dev;
drivers/net/wireless/broadcom/b43/main.c
5492
static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/main.c
5503
wldev->wl = wl;
drivers/net/wireless/broadcom/b43/main.c
5554
static void b43_wireless_exit(struct b43_bus_dev *dev, struct b43_wl *wl)
drivers/net/wireless/broadcom/b43/main.c
5556
struct ieee80211_hw *hw = wl->hw;
drivers/net/wireless/broadcom/b43/main.c
5567
struct b43_wl *wl;
drivers/net/wireless/broadcom/b43/main.c
5571
hw = ieee80211_alloc_hw(sizeof(*wl), &b43_hw_ops);
drivers/net/wireless/broadcom/b43/main.c
5576
wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
5592
wl->hw_registered = false;
drivers/net/wireless/broadcom/b43/main.c
5601
wl->hw = hw;
drivers/net/wireless/broadcom/b43/main.c
5602
mutex_init(&wl->mutex);
drivers/net/wireless/broadcom/b43/main.c
5603
spin_lock_init(&wl->hardirq_lock);
drivers/net/wireless/broadcom/b43/main.c
5604
spin_lock_init(&wl->beacon_lock);
drivers/net/wireless/broadcom/b43/main.c
5605
INIT_WORK(&wl->beacon_update_trigger, b43_beacon_update_trigger_work);
drivers/net/wireless/broadcom/b43/main.c
5606
INIT_WORK(&wl->txpower_adjust_work, b43_phy_txpower_adjust_work);
drivers/net/wireless/broadcom/b43/main.c
5607
INIT_WORK(&wl->tx_work, b43_tx_work);
drivers/net/wireless/broadcom/b43/main.c
5611
skb_queue_head_init(&wl->tx_queue[queue_num]);
drivers/net/wireless/broadcom/b43/main.c
5612
wl->tx_queue_stopped[queue_num] = false;
drivers/net/wireless/broadcom/b43/main.c
5617
b43info(wl, "Broadcom %s WLAN found (core revision %u)\n", chip_name,
drivers/net/wireless/broadcom/b43/main.c
5619
return wl;
drivers/net/wireless/broadcom/b43/main.c
5626
struct b43_wl *wl;
drivers/net/wireless/broadcom/b43/main.c
5639
wl = b43_wireless_init(dev);
drivers/net/wireless/broadcom/b43/main.c
5640
if (IS_ERR(wl)) {
drivers/net/wireless/broadcom/b43/main.c
5641
err = PTR_ERR(wl);
drivers/net/wireless/broadcom/b43/main.c
5645
err = b43_one_core_attach(dev, wl);
drivers/net/wireless/broadcom/b43/main.c
5650
INIT_WORK(&wl->firmware_load, b43_request_firmware);
drivers/net/wireless/broadcom/b43/main.c
5651
schedule_work(&wl->firmware_load);
drivers/net/wireless/broadcom/b43/main.c
5656
ieee80211_free_hw(wl->hw);
drivers/net/wireless/broadcom/b43/main.c
5665
struct b43_wl *wl = wldev->wl;
drivers/net/wireless/broadcom/b43/main.c
5670
cancel_work_sync(&wl->firmware_load);
drivers/net/wireless/broadcom/b43/main.c
5672
B43_WARN_ON(!wl);
drivers/net/wireless/broadcom/b43/main.c
5675
if (wl->current_dev == wldev && wl->hw_registered) {
drivers/net/wireless/broadcom/b43/main.c
5677
ieee80211_unregister_hw(wl->hw);
drivers/net/wireless/broadcom/b43/main.c
5683
b43_rng_exit(wl);
drivers/net/wireless/broadcom/b43/main.c
5685
b43_leds_unregister(wl);
drivers/net/wireless/broadcom/b43/main.c
5686
ieee80211_free_hw(wl->hw);
drivers/net/wireless/broadcom/b43/main.c
5703
struct b43_wl *wl;
drivers/net/wireless/broadcom/b43/main.c
5710
wl = ssb_get_devtypedata(sdev);
drivers/net/wireless/broadcom/b43/main.c
5711
if (wl) {
drivers/net/wireless/broadcom/b43/main.c
5719
wl = b43_wireless_init(dev);
drivers/net/wireless/broadcom/b43/main.c
5720
if (IS_ERR(wl)) {
drivers/net/wireless/broadcom/b43/main.c
5721
err = PTR_ERR(wl);
drivers/net/wireless/broadcom/b43/main.c
5724
ssb_set_devtypedata(sdev, wl);
drivers/net/wireless/broadcom/b43/main.c
5725
B43_WARN_ON(ssb_get_devtypedata(sdev) != wl);
drivers/net/wireless/broadcom/b43/main.c
5727
err = b43_one_core_attach(dev, wl);
drivers/net/wireless/broadcom/b43/main.c
5732
INIT_WORK(&wl->firmware_load, b43_request_firmware);
drivers/net/wireless/broadcom/b43/main.c
5733
schedule_work(&wl->firmware_load);
drivers/net/wireless/broadcom/b43/main.c
5738
b43_wireless_exit(dev, wl);
drivers/net/wireless/broadcom/b43/main.c
5746
struct b43_wl *wl = ssb_get_devtypedata(sdev);
drivers/net/wireless/broadcom/b43/main.c
5753
cancel_work_sync(&wl->firmware_load);
drivers/net/wireless/broadcom/b43/main.c
5755
B43_WARN_ON(!wl);
drivers/net/wireless/broadcom/b43/main.c
5758
if (wl->current_dev == wldev && wl->hw_registered) {
drivers/net/wireless/broadcom/b43/main.c
5760
ieee80211_unregister_hw(wl->hw);
drivers/net/wireless/broadcom/b43/main.c
5766
b43_rng_exit(wl);
drivers/net/wireless/broadcom/b43/main.c
5768
b43_leds_unregister(wl);
drivers/net/wireless/broadcom/b43/main.c
5769
b43_wireless_exit(dev, wl);
drivers/net/wireless/broadcom/b43/main.c
5787
b43info(dev->wl, "Controller RESET (%s) ...\n", reason);
drivers/net/wireless/broadcom/b43/main.c
5788
ieee80211_queue_work(dev->wl->hw, &dev->restart_work);
drivers/net/wireless/broadcom/b43/main.c
686
bssid = dev->wl->bssid;
drivers/net/wireless/broadcom/b43/main.c
687
mac = dev->wl->mac_addr;
drivers/net/wireless/broadcom/b43/main.c
707
b43_macfilter_set(dev, B43_MACFILTER_SELF, dev->wl->mac_addr);
drivers/net/wireless/broadcom/b43/main.c
714
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/main.c
921
b43dbg(dev->wl, "rx_tkip_phase1_write : idx 0x%x, iv32 0x%x\n",
drivers/net/wireless/broadcom/b43/main.c
940
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/main.c
949
B43_WARN_ON(!mutex_is_locked(&wl->mutex));
drivers/net/wireless/broadcom/b43/main.c
950
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/phy_ac.c
60
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_common.c
102
b43err(dev->wl, "PHY init failed\n");
drivers/net/wireless/broadcom/b43/phy_common.c
109
b43err(dev->wl, "PHY init: Channel switch to default failed\n");
drivers/net/wireless/broadcom/b43/phy_common.c
187
if (!b43_is_mode(dev->wl, NL80211_IFTYPE_AP))
drivers/net/wireless/broadcom/b43/phy_common.c
199
if (!b43_is_mode(dev->wl, NL80211_IFTYPE_AP))
drivers/net/wireless/broadcom/b43/phy_common.c
209
b43dbg(dev->wl, "PHY/RADIO register access with "
drivers/net/wireless/broadcom/b43/phy_common.c
426
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/phy_common.c
468
struct b43_wl *wl = container_of(work, struct b43_wl,
drivers/net/wireless/broadcom/b43/phy_common.c
472
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/phy_common.c
473
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/phy_common.c
478
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/phy_common.c
507
ieee80211_queue_work(dev->wl->hw, &dev->wl->txpower_adjust_work);
drivers/net/wireless/broadcom/b43/phy_common.c
93
phy->chandef = &dev->wl->hw->conf.chandef;
drivers/net/wireless/broadcom/b43/phy_g.c
1959
b43dbg(dev->wl,
drivers/net/wireless/broadcom/b43/phy_g.c
228
b43dbg(dev->wl, "Tuning TX-power to bbatt(%u), "
drivers/net/wireless/broadcom/b43/phy_g.c
2363
b43err(dev->wl, "Could not allocate memory "
drivers/net/wireless/broadcom/b43/phy_g.c
2370
b43err(dev->wl, "Could not generate "
drivers/net/wireless/broadcom/b43/phy_g.c
2867
b43dbg(dev->wl, "Adjusting TX power\n");
drivers/net/wireless/broadcom/b43/phy_g.c
2921
b43warn(dev->wl,
drivers/net/wireless/broadcom/b43/phy_g.c
2935
b43dbg(dev->wl,
drivers/net/wireless/broadcom/b43/phy_g.c
2965
b43dbg(dev->wl,
drivers/net/wireless/broadcom/b43/phy_ht.c
1023
b43err(dev->wl, "MAC not suspended\n");
drivers/net/wireless/broadcom/b43/phy_ht.c
1060
struct ieee80211_channel *channel = dev->wl->hw->conf.chandef.chan;
drivers/net/wireless/broadcom/b43/phy_ht.c
1062
cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef);
drivers/net/wireless/broadcom/b43/phy_ht.c
1064
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_ht.c
1076
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_ht.c
125
b43err(dev->wl, "Radio 0x2059 rccal timeout\n");
drivers/net/wireless/broadcom/b43/phy_ht.c
191
b43err(dev->wl, "Forcing RF sequence timeout\n");
drivers/net/wireless/broadcom/b43/phy_ht.c
410
b43err(dev->wl, "run samples timeout\n");
drivers/net/wireless/broadcom/b43/phy_ht.c
439
b43err(dev->wl, "RSSI selection for core off not implemented yet\n");
drivers/net/wireless/broadcom/b43/phy_ht.c
460
b43err(dev->wl, "RSSI selection for type %d not implemented yet\n",
drivers/net/wireless/broadcom/b43/phy_ht.c
558
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_ht.c
633
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_ht.c
877
b43err(dev->wl, "HT-PHY is supported only on BCMA bus!\n");
drivers/net/wireless/broadcom/b43/phy_ht.c
903
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/phy_ht.c
98
b43err(dev->wl, "Radio 0x2059 rcal timeout\n");
drivers/net/wireless/broadcom/b43/phy_ht.c
992
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_lcn.c
111
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lcn.c
538
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lcn.c
555
b43err(dev->wl, "TX power control not supported for this HW\n");
drivers/net/wireless/broadcom/b43/phy_lcn.c
723
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_lcn.c
746
b43err(dev->wl, "MAC not suspended\n");
drivers/net/wireless/broadcom/b43/phy_lcn.c
778
struct ieee80211_channel *channel = dev->wl->hw->conf.chandef.chan;
drivers/net/wireless/broadcom/b43/phy_lcn.c
780
cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef);
drivers/net/wireless/broadcom/b43/phy_lcn.c
782
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lcn.c
794
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_lp.c
1195
b43dbg(dev->wl,
drivers/net/wireless/broadcom/b43/phy_lp.c
1335
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_lp.c
1539
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lp.c
1575
b43err(dev->wl, "PR41573 failed. Out of memory!\n");
drivers/net/wireless/broadcom/b43/phy_lp.c
165
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_lp.c
1882
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lp.c
229
((b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ||
drivers/net/wireless/broadcom/b43/phy_lp.c
2629
b43err(dev->wl, "LP-PHY is supported only on SSB!\n");
drivers/net/wireless/broadcom/b43/phy_lp.c
2639
b43dbg(dev->wl, "Switch to channel 7 failed, error = %d.\n",
drivers/net/wireless/broadcom/b43/phy_lp.c
271
} else if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ ||
drivers/net/wireless/broadcom/b43/phy_lp.c
317
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lp.c
37
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_lp.c
457
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lp.c
538
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_lp.c
579
b43dbg(dev->wl, "b2062: Using crystal tab entry %u kHz.\n",
drivers/net/wireless/broadcom/b43/phy_lp.c
737
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_lp.c
798
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lp.c
814
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lp.c
82
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_lp.c
942
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
1126
enum nl80211_band band = b43_current_band(dev->wl);
drivers/net/wireless/broadcom/b43/phy_n.c
1146
b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
1159
b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
1166
b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
1318
b43err(dev->wl, "Radio recalibration timeout\n");
drivers/net/wireless/broadcom/b43/phy_n.c
137
b43err(dev->wl, "RF sequence status timeout\n");
drivers/net/wireless/broadcom/b43/phy_n.c
1462
b43err(dev->wl, "radio post init timeout\n");
drivers/net/wireless/broadcom/b43/phy_n.c
1492
bool ghz5 = b43_current_band(dev->wl) == NL80211_BAND_5GHZ;
drivers/net/wireless/broadcom/b43/phy_n.c
1511
b43err(dev->wl, "allocation for samples loading failed\n");
drivers/net/wireless/broadcom/b43/phy_n.c
1554
b43err(dev->wl, "allocation for samples generation failed\n");
drivers/net/wireless/broadcom/b43/phy_n.c
1642
b43err(dev->wl, "run samples timeout\n");
drivers/net/wireless/broadcom/b43/phy_n.c
174
b43err(dev->wl, "Invalid override value %d\n", override);
drivers/net/wireless/broadcom/b43/phy_n.c
1776
val = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ? 4 : 8;
drivers/net/wireless/broadcom/b43/phy_n.c
1805
b43_current_band(dev->wl);
drivers/net/wireless/broadcom/b43/phy_n.c
2111
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
2127
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
2248
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
2280
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
2327
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
254
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/phy_n.c
2616
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ &&
drivers/net/wireless/broadcom/b43/phy_n.c
2675
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
2790
bool ghz2 = b43_current_band(dev->wl) == NL80211_BAND_2GHZ;
drivers/net/wireless/broadcom/b43/phy_n.c
2818
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
289
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/phy_n.c
2969
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
2985
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
3208
tmp16 = (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) ?
drivers/net/wireless/broadcom/b43/phy_n.c
3227
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
3236
b43_current_band(dev->wl) == NL80211_BAND_2GHZ))
drivers/net/wireless/broadcom/b43/phy_n.c
3248
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
3264
if (b43_current_band(dev->wl) != NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
3309
b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ||
drivers/net/wireless/broadcom/b43/phy_n.c
3311
b43_current_band(dev->wl) == NL80211_BAND_2GHZ))
drivers/net/wireless/broadcom/b43/phy_n.c
3320
b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
3364
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ &&
drivers/net/wireless/broadcom/b43/phy_n.c
3439
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
348
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
356
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
3574
indx = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ?
drivers/net/wireless/broadcom/b43/phy_n.c
3602
enum nl80211_band band = b43_current_band(dev->wl);
drivers/net/wireless/broadcom/b43/phy_n.c
369
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
3758
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
3856
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
3880
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
3897
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
4086
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
4141
b43_radio_write(dev, r + 0x9, (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) ? 0xE : 0xC);
drivers/net/wireless/broadcom/b43/phy_n.c
4145
tmp = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ? 0xC : 0xE;
drivers/net/wireless/broadcom/b43/phy_n.c
4255
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
4261
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
4284
band = b43_current_band(dev->wl);
drivers/net/wireless/broadcom/b43/phy_n.c
430
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/phy_n.c
449
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/phy_n.c
456
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
466
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
4677
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
4747
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
476
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
4807
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
4948
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
5128
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
5153
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
5176
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
5247
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
5275
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
5365
b43_current_band(dev->wl) == NL80211_BAND_2GHZ);
drivers/net/wireless/broadcom/b43/phy_n.c
5652
band = b43_current_band(dev->wl);
drivers/net/wireless/broadcom/b43/phy_n.c
5834
struct ieee80211_channel *channel = dev->wl->hw->conf.chandef.chan;
drivers/net/wireless/broadcom/b43/phy_n.c
5854
b43dbg(dev->wl, "Calculated TX power: " Q52_FMT "\n",
drivers/net/wireless/broadcom/b43/phy_n.c
5861
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
591
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
5991
(b43_current_band(dev->wl) == NL80211_BAND_2GHZ)) {
drivers/net/wireless/broadcom/b43/phy_n.c
6109
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
6127
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
6141
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
6501
b43err(dev->wl, "Invalid OFDM PHY access at "
drivers/net/wireless/broadcom/b43/phy_n.c
6507
b43err(dev->wl, "Invalid EXT-G PHY access at "
drivers/net/wireless/broadcom/b43/phy_n.c
6553
b43err(dev->wl, "MAC not suspended\n");
drivers/net/wireless/broadcom/b43/phy_n.c
6629
struct ieee80211_channel *channel = dev->wl->hw->conf.chandef.chan;
drivers/net/wireless/broadcom/b43/phy_n.c
6631
cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef);
drivers/net/wireless/broadcom/b43/phy_n.c
6633
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
6646
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/phy_n.c
727
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
742
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
766
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/phy_n.c
884
b43err(dev->wl, "Radio 0x2057 rcal timeout\n");
drivers/net/wireless/broadcom/b43/phy_n.c
945
b43dbg(dev->wl, "Radio 0x2057 rccal timeout\n");
drivers/net/wireless/broadcom/b43/phy_n.c
96
enum nl80211_band band = b43_current_band(dev->wl);
drivers/net/wireless/broadcom/b43/phy_n.c
966
b43dbg(dev->wl, "Radio 0x2057 rccal timeout\n");
drivers/net/wireless/broadcom/b43/phy_n.c
988
b43err(dev->wl, "Radio 0x2057 rcal timeout\n");
drivers/net/wireless/broadcom/b43/pio.c
186
ieee80211_free_txskb(q->dev->wl->hw, pack->skb);
drivers/net/wireless/broadcom/b43/pio.c
268
b43dbg(dev->wl, "PIO initialized\n");
drivers/net/wireless/broadcom/b43/pio.c
323
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/pio.c
333
u8 *tail = wl->pio_tailspace;
drivers/net/wireless/broadcom/b43/pio.c
334
BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 2);
drivers/net/wireless/broadcom/b43/pio.c
376
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/pio.c
387
u8 *tail = wl->pio_tailspace;
drivers/net/wireless/broadcom/b43/pio.c
388
BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 4);
drivers/net/wireless/broadcom/b43/pio.c
444
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/pio.c
450
struct b43_txhdr *txhdr = (struct b43_txhdr *)wl->pio_scratchspace;
drivers/net/wireless/broadcom/b43/pio.c
458
BUILD_BUG_ON(sizeof(wl->pio_scratchspace) < sizeof(struct b43_txhdr));
drivers/net/wireless/broadcom/b43/pio.c
459
B43_WARN_ON(sizeof(wl->pio_scratchspace) < hdrlen);
drivers/net/wireless/broadcom/b43/pio.c
515
b43dbg(dev->wl, "PIO: TX packet longer than queue.\n");
drivers/net/wireless/broadcom/b43/pio.c
520
b43warn(dev->wl, "PIO: TX packet overflow.\n");
drivers/net/wireless/broadcom/b43/pio.c
542
ieee80211_free_txskb(dev->wl->hw, skb);
drivers/net/wireless/broadcom/b43/pio.c
547
b43err(dev->wl, "PIO transmission failure\n");
drivers/net/wireless/broadcom/b43/pio.c
585
ieee80211_tx_status_skb(dev->wl->hw, pack->skb);
drivers/net/wireless/broadcom/b43/pio.c
599
struct b43_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43/pio.c
606
(struct b43_rxhdr_fw4 *)wl->pio_scratchspace;
drivers/net/wireless/broadcom/b43/pio.c
609
BUILD_BUG_ON(sizeof(wl->pio_scratchspace) < sizeof(*rxhdr));
drivers/net/wireless/broadcom/b43/pio.c
651
b43dbg(q->dev->wl, "PIO RX timed out\n");
drivers/net/wireless/broadcom/b43/pio.c
686
if (!(q->dev->wl->filter_flags & FIF_FCSFAIL)) {
drivers/net/wireless/broadcom/b43/pio.c
709
u8 *tail = wl->pio_tailspace;
drivers/net/wireless/broadcom/b43/pio.c
710
BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 4);
drivers/net/wireless/broadcom/b43/pio.c
736
u8 *tail = wl->pio_tailspace;
drivers/net/wireless/broadcom/b43/pio.c
737
BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 2);
drivers/net/wireless/broadcom/b43/pio.c
753
b43dbg(q->dev->wl, "PIO RX error: %s\n", err_msg);
drivers/net/wireless/broadcom/b43/rfkill.c
25
struct b43_wl *wl = hw_to_b43_wl(hw);
drivers/net/wireless/broadcom/b43/rfkill.c
26
struct b43_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43/rfkill.c
30
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43/rfkill.c
33
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/rfkill.c
44
b43info(wl, "Radio hardware status changed to %s\n",
drivers/net/wireless/broadcom/b43/rfkill.c
56
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43/sysfs.c
103
mutex_lock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43/sysfs.c
108
b43err(wldev->wl, "Interference Mitigation not "
drivers/net/wireless/broadcom/b43/sysfs.c
114
mutex_unlock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43/sysfs.c
47
mutex_lock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43/sysfs.c
50
mutex_unlock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43/sysfs.c
69
mutex_unlock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2369
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2374
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2413
else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2425
else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/tables_lpphy.c
2436
else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)
drivers/net/wireless/broadcom/b43/tables_lpphy.c
550
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/tables_lpphy.c
569
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3492
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3509
b43err(dev->wl, "Unsupported antswlut: %d\n", antswlut);
drivers/net/wireless/broadcom/b43/tables_nphy.c
3556
if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ)
drivers/net/wireless/broadcom/b43/tables_nphy.c
3641
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3666
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/tables_nphy.c
3679
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/tables_nphy.c
3688
enum nl80211_band band = b43_current_band(dev->wl);
drivers/net/wireless/broadcom/b43/tables_nphy.c
3698
} else if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3710
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/tables_nphy.c
3725
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/tables_nphy.c
3736
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/tables_nphy.c
3748
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/tables_nphy.c
3759
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/tables_nphy.c
3855
b43err(dev->wl, "Invalid override value %d\n", override);
drivers/net/wireless/broadcom/b43/tables_phy_lcn.c
691
if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) {
drivers/net/wireless/broadcom/b43/tables_phy_lcn.c
696
b43err(dev->wl,
drivers/net/wireless/broadcom/b43/tables_phy_lcn.c
706
b43err(dev->wl, "SW ctl table is unknown for this card\n");
drivers/net/wireless/broadcom/b43/xmit.c
264
txrate = ieee80211_get_tx_rate(dev->wl->hw, info);
drivers/net/wireless/broadcom/b43/xmit.c
267
fbrate = ieee80211_get_alt_retry_rate(dev->wl->hw, info, 0) ? : txrate;
drivers/net/wireless/broadcom/b43/xmit.c
288
dev->wl->hw, info->control.vif, info->band,
drivers/net/wireless/broadcom/b43/xmit.c
414
(rates[0].count <= dev->wl->hw->conf.long_frame_max_tx_count)) {
drivers/net/wireless/broadcom/b43/xmit.c
415
rates[0].count = dev->wl->hw->conf.long_frame_max_tx_count;
drivers/net/wireless/broadcom/b43/xmit.c
418
rates[0].count = dev->wl->hw->conf.short_frame_max_tx_count;
drivers/net/wireless/broadcom/b43/xmit.c
431
rts_cts_rate = ieee80211_get_rts_cts_rate(dev->wl->hw, info);
drivers/net/wireless/broadcom/b43/xmit.c
455
ieee80211_ctstoself_get(dev->wl->hw, info->control.vif,
drivers/net/wireless/broadcom/b43/xmit.c
477
ieee80211_rts_get(dev->wl->hw, info->control.vif,
drivers/net/wireless/broadcom/b43/xmit.c
665
dev->wl->ieee_stats.dot11FCSErrorCount++;
drivers/net/wireless/broadcom/b43/xmit.c
682
b43dbg(dev->wl, "RX: Packet size underrun (1)\n");
drivers/net/wireless/broadcom/b43/xmit.c
689
b43dbg(dev->wl, "RX: Packet size underrun (2)\n");
drivers/net/wireless/broadcom/b43/xmit.c
710
b43dbg(dev->wl,
drivers/net/wireless/broadcom/b43/xmit.c
751
if (!(dev->wl->filter_flags & FIF_PLCPFAIL))
drivers/net/wireless/broadcom/b43/xmit.c
765
if (ieee80211_is_beacon(fctl) || dev->wl->radiotap_enabled) {
drivers/net/wireless/broadcom/b43/xmit.c
807
ieee80211_rx_ni(dev->wl->hw, skb);
drivers/net/wireless/broadcom/b43/xmit.c
827
dev->wl->ieee_stats.dot11ACKFailureCount++;
drivers/net/wireless/broadcom/b43/xmit.c
830
dev->wl->ieee_stats.dot11RTSFailureCount++;
drivers/net/wireless/broadcom/b43/xmit.c
832
dev->wl->ieee_stats.dot11RTSSuccessCount++;
drivers/net/wireless/broadcom/b43/xmit.c
872
} else if (status->rts_count > dev->wl->hw->conf.short_frame_max_tx_count) {
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
680
struct b43legacy_wl *wl;
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
794
int b43legacy_is_mode(struct b43legacy_wl *wl, int type)
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
796
return (wl->operating &&
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
797
wl->if_type == type);
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
843
void b43legacyinfo(struct b43legacy_wl *wl, const char *fmt, ...);
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
845
void b43legacyerr(struct b43legacy_wl *wl, const char *fmt, ...);
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
847
void b43legacywarn(struct b43legacy_wl *wl, const char *fmt, ...);
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
850
void b43legacydbg(struct b43legacy_wl *wl, const char *fmt, ...);
drivers/net/wireless/broadcom/b43legacy/b43legacy.h
852
# define b43legacydbg(wl, fmt...) do { /* nothing */ } while (0)
drivers/net/wireless/broadcom/b43legacy/debugfs.c
204
mutex_lock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/debugfs.c
225
spin_lock_irq(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/debugfs.c
227
spin_unlock_irq(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/debugfs.c
248
mutex_unlock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/debugfs.c
270
mutex_lock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/debugfs.c
292
spin_lock_irq(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/debugfs.c
294
spin_unlock_irq(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/debugfs.c
303
mutex_unlock(&dev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/debugfs.c
363
b43legacyerr(dev->wl, "debugfs: add device OOM\n");
drivers/net/wireless/broadcom/b43legacy/debugfs.c
371
b43legacyerr(dev->wl, "debugfs: add device txstatus OOM\n");
drivers/net/wireless/broadcom/b43legacy/debugfs.c
380
snprintf(devdir, sizeof(devdir), "%s", wiphy_name(dev->wl->hw->wiphy));
drivers/net/wireless/broadcom/b43legacy/dma.c
1037
b43legacydbg(ring->dev->wl,
drivers/net/wireless/broadcom/b43legacy/dma.c
1062
b43legacyerr(dev->wl, "Packet after queue stopped\n");
drivers/net/wireless/broadcom/b43legacy/dma.c
1069
b43legacyerr(dev->wl, "DMA queue overflow\n");
drivers/net/wireless/broadcom/b43legacy/dma.c
1083
b43legacyerr(dev->wl, "DMA tx mapping failure\n");
drivers/net/wireless/broadcom/b43legacy/dma.c
1090
ieee80211_stop_queue(dev->wl->hw, skb_mapping);
drivers/net/wireless/broadcom/b43legacy/dma.c
1091
dev->wl->tx_queue_stopped[skb_mapping] = 1;
drivers/net/wireless/broadcom/b43legacy/dma.c
1094
b43legacydbg(dev->wl, "Stopped TX ring %d\n",
drivers/net/wireless/broadcom/b43legacy/dma.c
1124
b43legacydbg(dev->wl, "Out of order TX status report on DMA "
drivers/net/wireless/broadcom/b43legacy/dma.c
1156
if (status->rts_count > dev->wl->hw->conf.short_frame_max_tx_count) {
drivers/net/wireless/broadcom/b43legacy/dma.c
1182
ieee80211_tx_status_irqsafe(dev->wl->hw, meta->skb);
drivers/net/wireless/broadcom/b43legacy/dma.c
1205
if (dev->wl->tx_queue_stopped[ring->queue_prio]) {
drivers/net/wireless/broadcom/b43legacy/dma.c
1206
dev->wl->tx_queue_stopped[ring->queue_prio] = 0;
drivers/net/wireless/broadcom/b43legacy/dma.c
1210
ieee80211_wake_queue(dev->wl->hw, ring->queue_prio);
drivers/net/wireless/broadcom/b43legacy/dma.c
1212
b43legacydbg(dev->wl, "Woke up TX ring %d\n",
drivers/net/wireless/broadcom/b43legacy/dma.c
1216
ieee80211_queue_work(dev->wl->hw, &dev->wl->tx_work);
drivers/net/wireless/broadcom/b43legacy/dma.c
1292
b43legacyerr(ring->dev->wl, "DMA RX buffer too small "
drivers/net/wireless/broadcom/b43legacy/dma.c
1301
b43legacydbg(ring->dev->wl, "DMA RX: setup_rx_descbuffer()"
drivers/net/wireless/broadcom/b43legacy/dma.c
138
b43legacydbg(ring->dev->wl,
drivers/net/wireless/broadcom/b43legacy/dma.c
339
b43legacyerr(dev->wl, "DMA RX reset timed out\n");
drivers/net/wireless/broadcom/b43legacy/dma.c
380
b43legacyerr(dev->wl, "DMA TX reset timed out\n");
drivers/net/wireless/broadcom/b43legacy/dma.c
481
b43legacyerr(ring->dev->wl,
drivers/net/wireless/broadcom/b43legacy/dma.c
711
b43legacydbg(ring->dev->wl, "DMA-%u 0x%04X (%s) max used slots:"
drivers/net/wireless/broadcom/b43legacy/dma.c
764
b43legacywarn(dev->wl, "DMA for this device not supported. "
drivers/net/wireless/broadcom/b43legacy/dma.c
769
b43legacyerr(dev->wl, "DMA for this device not supported and "
drivers/net/wireless/broadcom/b43legacy/dma.c
821
b43legacydbg(dev->wl, "%u-bit DMA initialized\n", (unsigned int)type);
drivers/net/wireless/broadcom/b43legacy/leds.c
120
struct ieee80211_hw *hw = dev->wl->hw;
drivers/net/wireless/broadcom/b43legacy/leds.c
170
b43legacywarn(dev->wl, "LEDs: Unknown behaviour 0x%02X\n",
drivers/net/wireless/broadcom/b43legacy/leds.c
24
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/leds.c
28
spin_lock_irqsave(&wl->leds_lock, flags);
drivers/net/wireless/broadcom/b43legacy/leds.c
35
spin_unlock_irqrestore(&wl->leds_lock, flags);
drivers/net/wireless/broadcom/b43legacy/leds.c
41
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/leds.c
45
spin_lock_irqsave(&wl->leds_lock, flags);
drivers/net/wireless/broadcom/b43legacy/leds.c
52
spin_unlock_irqrestore(&wl->leds_lock, flags);
drivers/net/wireless/broadcom/b43legacy/leds.c
99
b43legacywarn(dev->wl, "LEDs: Failed to register %s\n", name);
drivers/net/wireless/broadcom/b43legacy/main.c
1012
b43legacywarn(dev->wl, "Did not find a valid TIM IE in the "
drivers/net/wireless/broadcom/b43legacy/main.c
1016
b43legacydbg(dev->wl, "Updated beacon template\n");
drivers/net/wireless/broadcom/b43legacy/main.c
1029
dur = ieee80211_generic_frame_duration(dev->wl->hw,
drivers/net/wireless/broadcom/b43legacy/main.c
1030
dev->wl->vif,
drivers/net/wireless/broadcom/b43legacy/main.c
1061
src_size = dev->wl->current_beacon->len;
drivers/net/wireless/broadcom/b43legacy/main.c
1062
src_data = (const u8 *)dev->wl->current_beacon->data;
drivers/net/wireless/broadcom/b43legacy/main.c
1095
dur = ieee80211_generic_frame_duration(dev->wl->hw,
drivers/net/wireless/broadcom/b43legacy/main.c
1096
dev->wl->vif,
drivers/net/wireless/broadcom/b43legacy/main.c
1113
size = dev->wl->current_beacon->len;
drivers/net/wireless/broadcom/b43legacy/main.c
1140
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
1142
if (wl->beacon0_uploaded)
drivers/net/wireless/broadcom/b43legacy/main.c
1149
wl->beacon0_uploaded = true;
drivers/net/wireless/broadcom/b43legacy/main.c
1154
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
1156
if (wl->beacon1_uploaded)
drivers/net/wireless/broadcom/b43legacy/main.c
1159
wl->beacon1_uploaded = true;
drivers/net/wireless/broadcom/b43legacy/main.c
1164
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
1167
if (!b43legacy_is_mode(wl, NL80211_IFTYPE_AP))
drivers/net/wireless/broadcom/b43legacy/main.c
1186
if (unlikely(wl->beacon_templates_virgin)) {
drivers/net/wireless/broadcom/b43legacy/main.c
1189
wl->beacon_templates_virgin = false;
drivers/net/wireless/broadcom/b43legacy/main.c
1212
struct b43legacy_wl *wl = container_of(work, struct b43legacy_wl,
drivers/net/wireless/broadcom/b43legacy/main.c
1216
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
1217
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
1219
spin_lock_irq(&wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
1225
spin_unlock_irq(&wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
1227
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
1232
static void b43legacy_update_templates(struct b43legacy_wl *wl)
drivers/net/wireless/broadcom/b43legacy/main.c
1244
beacon = ieee80211_beacon_get(wl->hw, wl->vif, 0);
drivers/net/wireless/broadcom/b43legacy/main.c
1248
if (wl->current_beacon)
drivers/net/wireless/broadcom/b43legacy/main.c
1249
dev_kfree_skb_any(wl->current_beacon);
drivers/net/wireless/broadcom/b43legacy/main.c
1250
wl->current_beacon = beacon;
drivers/net/wireless/broadcom/b43legacy/main.c
1251
wl->beacon0_uploaded = false;
drivers/net/wireless/broadcom/b43legacy/main.c
1252
wl->beacon1_uploaded = false;
drivers/net/wireless/broadcom/b43legacy/main.c
1253
ieee80211_queue_work(wl->hw, &wl->beacon_update_trigger);
drivers/net/wireless/broadcom/b43legacy/main.c
1270
b43legacydbg(dev->wl, "Set beacon interval to %u\n", beacon_int);
drivers/net/wireless/broadcom/b43legacy/main.c
1287
spin_lock_irqsave(&dev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
1299
b43legacyerr(dev->wl, "MAC transmission error\n");
drivers/net/wireless/broadcom/b43legacy/main.c
1302
b43legacyerr(dev->wl, "PHY transmission error\n");
drivers/net/wireless/broadcom/b43legacy/main.c
1305
b43legacyerr(dev->wl, "Too many PHY TX errors, "
drivers/net/wireless/broadcom/b43legacy/main.c
1314
b43legacyerr(dev->wl, "Fatal DMA error: "
drivers/net/wireless/broadcom/b43legacy/main.c
1321
spin_unlock_irqrestore(&dev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
1325
b43legacyerr(dev->wl, "DMA error: "
drivers/net/wireless/broadcom/b43legacy/main.c
1371
spin_unlock_irqrestore(&dev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
1423
spin_lock(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
1462
spin_unlock(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
1479
static void b43legacy_print_fw_helptext(struct b43legacy_wl *wl)
drivers/net/wireless/broadcom/b43legacy/main.c
1481
b43legacyerr(wl, "You must go to https://wireless.wiki.kernel.org/en/"
drivers/net/wireless/broadcom/b43legacy/main.c
1509
b43legacyinfo(dev->wl, "Loading firmware %s\n", path);
drivers/net/wireless/broadcom/b43legacy/main.c
1516
b43legacyerr(dev->wl, "Unable to load firmware\n");
drivers/net/wireless/broadcom/b43legacy/main.c
1528
b43legacyerr(dev->wl, "Firmware file \"%s\" not found "
drivers/net/wireless/broadcom/b43legacy/main.c
155
static int b43legacy_ratelimit(struct b43legacy_wl *wl)
drivers/net/wireless/broadcom/b43legacy/main.c
1553
b43legacyerr(dev->wl, "Firmware file \"%s\" format error.\n", path);
drivers/net/wireless/broadcom/b43legacy/main.c
1558
struct b43legacy_wl *wl);
drivers/net/wireless/broadcom/b43legacy/main.c
1563
struct b43legacy_wl *wl = container_of(work,
drivers/net/wireless/broadcom/b43legacy/main.c
1565
struct b43legacy_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
157
if (!wl || !wl->current_dev)
drivers/net/wireless/broadcom/b43legacy/main.c
159
if (b43legacy_status(wl->current_dev) < B43legacy_STAT_STARTED)
drivers/net/wireless/broadcom/b43legacy/main.c
1629
err = ieee80211_register_hw(wl->hw);
drivers/net/wireless/broadcom/b43legacy/main.c
1639
b43legacy_print_fw_helptext(dev->wl);
drivers/net/wireless/broadcom/b43legacy/main.c
1644
b43legacyerr(dev->wl, "No Initial Values firmware file for PHY %u, "
drivers/net/wireless/broadcom/b43legacy/main.c
1655
struct wiphy *wiphy = dev->wl->hw->wiphy;
drivers/net/wireless/broadcom/b43legacy/main.c
166
void b43legacyinfo(struct b43legacy_wl *wl, const char *fmt, ...)
drivers/net/wireless/broadcom/b43legacy/main.c
171
if (!b43legacy_ratelimit(wl))
drivers/net/wireless/broadcom/b43legacy/main.c
1723
b43legacyerr(dev->wl, "Microcode not responding\n");
drivers/net/wireless/broadcom/b43legacy/main.c
1724
b43legacy_print_fw_helptext(dev->wl);
drivers/net/wireless/broadcom/b43legacy/main.c
1748
b43legacyerr(dev->wl, "YOU ARE TRYING TO LOAD V4 FIRMWARE."
drivers/net/wireless/broadcom/b43legacy/main.c
1752
b43legacy_print_fw_helptext(dev->wl);
drivers/net/wireless/broadcom/b43legacy/main.c
1756
b43legacyinfo(dev->wl, "Loading firmware version 0x%X, patch level %u "
drivers/net/wireless/broadcom/b43legacy/main.c
180
(wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
drivers/net/wireless/broadcom/b43legacy/main.c
1835
b43legacyerr(dev->wl, "Initial Values Firmware file-format error.\n");
drivers/net/wireless/broadcom/b43legacy/main.c
1836
b43legacy_print_fw_helptext(dev->wl);
drivers/net/wireless/broadcom/b43legacy/main.c
185
void b43legacyerr(struct b43legacy_wl *wl, const char *fmt, ...)
drivers/net/wireless/broadcom/b43legacy/main.c
190
if (!b43legacy_ratelimit(wl))
drivers/net/wireless/broadcom/b43legacy/main.c
1957
spin_lock_irq(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
1960
spin_unlock_irq(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
1977
spin_lock_irq(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
1979
spin_unlock_irq(&dev->wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
199
(wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
drivers/net/wireless/broadcom/b43legacy/main.c
1995
b43legacyerr(dev->wl, "MAC suspend failed\n");
drivers/net/wireless/broadcom/b43legacy/main.c
2003
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
2017
if (b43legacy_is_mode(wl, NL80211_IFTYPE_AP))
drivers/net/wireless/broadcom/b43legacy/main.c
2019
else if (b43legacy_is_mode(wl, NL80211_IFTYPE_ADHOC))
drivers/net/wireless/broadcom/b43legacy/main.c
2022
if (wl->filter_flags & FIF_CONTROL)
drivers/net/wireless/broadcom/b43legacy/main.c
2024
if (wl->filter_flags & FIF_FCSFAIL)
drivers/net/wireless/broadcom/b43legacy/main.c
2026
if (wl->filter_flags & FIF_PLCPFAIL)
drivers/net/wireless/broadcom/b43legacy/main.c
2028
if (wl->filter_flags & FIF_BCN_PRBRESP_PROMISC)
drivers/net/wireless/broadcom/b43legacy/main.c
204
void b43legacywarn(struct b43legacy_wl *wl, const char *fmt, ...)
drivers/net/wireless/broadcom/b43legacy/main.c
209
if (!b43legacy_ratelimit(wl))
drivers/net/wireless/broadcom/b43legacy/main.c
218
(wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
drivers/net/wireless/broadcom/b43legacy/main.c
224
void b43legacydbg(struct b43legacy_wl *wl, const char *fmt, ...)
drivers/net/wireless/broadcom/b43legacy/main.c
2248
b43legacydbg(dev->wl, "Chip initialized\n");
drivers/net/wireless/broadcom/b43legacy/main.c
2318
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
2321
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2336
ieee80211_queue_delayed_work(wl->hw, &dev->periodic_work, delay);
drivers/net/wireless/broadcom/b43legacy/main.c
2338
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2347
ieee80211_queue_delayed_work(dev->wl->hw, work, 0);
drivers/net/wireless/broadcom/b43legacy/main.c
235
(wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
drivers/net/wireless/broadcom/b43legacy/main.c
2378
b43legacyerr(dev->wl, "Failed to validate the chipaccess\n");
drivers/net/wireless/broadcom/b43legacy/main.c
2401
struct b43legacy_wl *wl = (struct b43legacy_wl *)rng->priv;
drivers/net/wireless/broadcom/b43legacy/main.c
2408
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2409
*data = b43legacy_read16(wl->current_dev, B43legacy_MMIO_RNG);
drivers/net/wireless/broadcom/b43legacy/main.c
2410
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2416
static void b43legacy_rng_exit(struct b43legacy_wl *wl)
drivers/net/wireless/broadcom/b43legacy/main.c
2419
if (wl->rng_initialized)
drivers/net/wireless/broadcom/b43legacy/main.c
2420
hwrng_unregister(&wl->rng);
drivers/net/wireless/broadcom/b43legacy/main.c
2424
static int b43legacy_rng_init(struct b43legacy_wl *wl)
drivers/net/wireless/broadcom/b43legacy/main.c
2429
snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name),
drivers/net/wireless/broadcom/b43legacy/main.c
2430
"%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy));
drivers/net/wireless/broadcom/b43legacy/main.c
2431
wl->rng.name = wl->rng_name;
drivers/net/wireless/broadcom/b43legacy/main.c
2432
wl->rng.data_read = b43legacy_rng_read;
drivers/net/wireless/broadcom/b43legacy/main.c
2433
wl->rng.priv = (unsigned long)wl;
drivers/net/wireless/broadcom/b43legacy/main.c
2434
wl->rng_initialized = 1;
drivers/net/wireless/broadcom/b43legacy/main.c
2435
err = hwrng_register(&wl->rng);
drivers/net/wireless/broadcom/b43legacy/main.c
2437
wl->rng_initialized = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
2438
b43legacyerr(wl, "Failed to register the random "
drivers/net/wireless/broadcom/b43legacy/main.c
2448
struct b43legacy_wl *wl = container_of(work, struct b43legacy_wl,
drivers/net/wireless/broadcom/b43legacy/main.c
2455
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2456
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
2458
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2463
while (skb_queue_len(&wl->tx_queue[queue_num])) {
drivers/net/wireless/broadcom/b43legacy/main.c
2464
skb = skb_dequeue(&wl->tx_queue[queue_num]);
drivers/net/wireless/broadcom/b43legacy/main.c
2470
wl->tx_queue_stopped[queue_num] = 1;
drivers/net/wireless/broadcom/b43legacy/main.c
2471
ieee80211_stop_queue(wl->hw, queue_num);
drivers/net/wireless/broadcom/b43legacy/main.c
2472
skb_queue_head(&wl->tx_queue[queue_num], skb);
drivers/net/wireless/broadcom/b43legacy/main.c
2481
wl->tx_queue_stopped[queue_num] = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
2484
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2491
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
2500
skb_queue_tail(&wl->tx_queue[skb->queue_mapping], skb);
drivers/net/wireless/broadcom/b43legacy/main.c
2501
if (!wl->tx_queue_stopped[skb->queue_mapping])
drivers/net/wireless/broadcom/b43legacy/main.c
2502
ieee80211_queue_work(wl->hw, &wl->tx_work);
drivers/net/wireless/broadcom/b43legacy/main.c
2504
ieee80211_stop_queue(wl->hw, skb->queue_mapping);
drivers/net/wireless/broadcom/b43legacy/main.c
2518
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
2521
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2522
memcpy(stats, &wl->ieee_stats, sizeof(*stats));
drivers/net/wireless/broadcom/b43legacy/main.c
2523
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2541
static int find_wldev_for_phymode(struct b43legacy_wl *wl,
drivers/net/wireless/broadcom/b43legacy/main.c
2548
list_for_each_entry(d, &wl->devlist, list) {
drivers/net/wireless/broadcom/b43legacy/main.c
2582
static int b43legacy_switch_phymode(struct b43legacy_wl *wl,
drivers/net/wireless/broadcom/b43legacy/main.c
2591
err = find_wldev_for_phymode(wl, new_mode, &up_dev, &gmode);
drivers/net/wireless/broadcom/b43legacy/main.c
2593
b43legacyerr(wl, "Could not find a device for %s-PHY mode\n",
drivers/net/wireless/broadcom/b43legacy/main.c
2597
if ((up_dev == wl->current_dev) &&
drivers/net/wireless/broadcom/b43legacy/main.c
2598
(!!wl->current_dev->phy.gmode == !!gmode))
drivers/net/wireless/broadcom/b43legacy/main.c
2601
b43legacydbg(wl, "Reconfiguring PHYmode to %s-PHY\n",
drivers/net/wireless/broadcom/b43legacy/main.c
2603
down_dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
2622
b43legacyerr(wl, "Fatal: Could not initialize device"
drivers/net/wireless/broadcom/b43legacy/main.c
2631
b43legacyerr(wl, "Fatal: Could not start device for "
drivers/net/wireless/broadcom/b43legacy/main.c
2642
wl->current_dev = up_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
2647
wl->current_dev = NULL;
drivers/net/wireless/broadcom/b43legacy/main.c
2668
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
2679
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2680
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
2702
err = b43legacy_switch_phymode(wl, new_phymode);
drivers/net/wireless/broadcom/b43legacy/main.c
2709
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2711
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2715
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2724
dev->wl->radiotap_enabled = !!(conf->flags & IEEE80211_CONF_MONITOR);
drivers/net/wireless/broadcom/b43legacy/main.c
2737
if (wl->radio_enabled != phy->radio_on) {
drivers/net/wireless/broadcom/b43legacy/main.c
2738
if (wl->radio_enabled) {
drivers/net/wireless/broadcom/b43legacy/main.c
2740
b43legacyinfo(dev->wl, "Radio turned on by software\n");
drivers/net/wireless/broadcom/b43legacy/main.c
2742
b43legacyinfo(dev->wl, "The hardware RF-kill"
drivers/net/wireless/broadcom/b43legacy/main.c
2748
b43legacyinfo(dev->wl, "Radio turned off by"
drivers/net/wireless/broadcom/b43legacy/main.c
2753
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2755
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2757
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2765
dev->wl->hw->wiphy->bands[NL80211_BAND_2GHZ];
drivers/net/wireless/broadcom/b43legacy/main.c
2812
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
2816
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2817
B43legacy_WARN_ON(wl->vif != vif);
drivers/net/wireless/broadcom/b43legacy/main.c
2819
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
2824
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2826
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2835
memcpy(wl->bssid, conf->bssid, ETH_ALEN);
drivers/net/wireless/broadcom/b43legacy/main.c
2837
eth_zero_addr(wl->bssid);
drivers/net/wireless/broadcom/b43legacy/main.c
2842
(b43legacy_is_mode(wl, NL80211_IFTYPE_AP) ||
drivers/net/wireless/broadcom/b43legacy/main.c
2843
b43legacy_is_mode(wl, NL80211_IFTYPE_ADHOC)))
drivers/net/wireless/broadcom/b43legacy/main.c
2844
b43legacy_update_templates(wl);
drivers/net/wireless/broadcom/b43legacy/main.c
2849
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2854
(b43legacy_is_mode(wl, NL80211_IFTYPE_AP) ||
drivers/net/wireless/broadcom/b43legacy/main.c
2855
b43legacy_is_mode(wl, NL80211_IFTYPE_ADHOC)))
drivers/net/wireless/broadcom/b43legacy/main.c
2870
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2873
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2875
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2882
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
2883
struct b43legacy_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
2891
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2906
wl->filter_flags = *fflags;
drivers/net/wireless/broadcom/b43legacy/main.c
2910
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2916
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
2926
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2929
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
2934
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2938
cancel_work_sync(&wl->tx_work);
drivers/net/wireless/broadcom/b43legacy/main.c
2939
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
2943
while (skb_queue_len(&wl->tx_queue[queue_num]))
drivers/net/wireless/broadcom/b43legacy/main.c
2944
dev_kfree_skb(skb_dequeue(&wl->tx_queue[queue_num]));
drivers/net/wireless/broadcom/b43legacy/main.c
2949
b43legacydbg(wl, "Wireless interface stopped\n");
drivers/net/wireless/broadcom/b43legacy/main.c
2963
b43legacyerr(dev->wl, "Cannot request IRQ-%d\n",
drivers/net/wireless/broadcom/b43legacy/main.c
2968
ieee80211_wake_queues(dev->wl->hw);
drivers/net/wireless/broadcom/b43legacy/main.c
2978
b43legacydbg(dev->wl, "Wireless interface started\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3016
b43legacyerr(dev->wl, "FOUND UNSUPPORTED PHY "
drivers/net/wireless/broadcom/b43legacy/main.c
3021
b43legacydbg(dev->wl, "Found PHY: Analog %u, Type %u, Revision %u\n",
drivers/net/wireless/broadcom/b43legacy/main.c
3058
b43legacyerr(dev->wl, "FOUND UNSUPPORTED RADIO "
drivers/net/wireless/broadcom/b43legacy/main.c
3063
b43legacydbg(dev->wl, "Found Radio: Manuf 0x%X, Version 0x%X,"
drivers/net/wireless/broadcom/b43legacy/main.c
3148
if (b43legacy_is_mode(dev->wl, NL80211_IFTYPE_ADHOC) || idle)
drivers/net/wireless/broadcom/b43legacy/main.c
3163
if (b43legacy_is_mode(dev->wl, NL80211_IFTYPE_ADHOC))
drivers/net/wireless/broadcom/b43legacy/main.c
3191
b43legacy_rng_exit(dev->wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3201
if (dev->wl->current_beacon) {
drivers/net/wireless/broadcom/b43legacy/main.c
3202
dev_kfree_skb_any(dev->wl->current_beacon);
drivers/net/wireless/broadcom/b43legacy/main.c
3203
dev->wl->current_beacon = NULL;
drivers/net/wireless/broadcom/b43legacy/main.c
3252
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3354
b43legacy_rng_init(wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3356
ieee80211_wake_queues(dev->wl->hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3379
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3391
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3392
if (wl->operating)
drivers/net/wireless/broadcom/b43legacy/main.c
3395
b43legacydbg(wl, "Adding Interface type %d\n", vif->type);
drivers/net/wireless/broadcom/b43legacy/main.c
3397
dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
3398
wl->operating = true;
drivers/net/wireless/broadcom/b43legacy/main.c
3399
wl->vif = vif;
drivers/net/wireless/broadcom/b43legacy/main.c
3400
wl->if_type = vif->type;
drivers/net/wireless/broadcom/b43legacy/main.c
3401
memcpy(wl->mac_addr, vif->addr, ETH_ALEN);
drivers/net/wireless/broadcom/b43legacy/main.c
3403
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
3408
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
3412
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3420
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3421
struct b43legacy_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
3424
b43legacydbg(wl, "Removing Interface type %d\n", vif->type);
drivers/net/wireless/broadcom/b43legacy/main.c
3426
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3428
B43legacy_WARN_ON(!wl->operating);
drivers/net/wireless/broadcom/b43legacy/main.c
3429
B43legacy_WARN_ON(wl->vif != vif);
drivers/net/wireless/broadcom/b43legacy/main.c
3430
wl->vif = NULL;
drivers/net/wireless/broadcom/b43legacy/main.c
3432
wl->operating = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3434
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
3436
eth_zero_addr(wl->mac_addr);
drivers/net/wireless/broadcom/b43legacy/main.c
3438
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
3440
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3445
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3446
struct b43legacy_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
3453
eth_zero_addr(wl->bssid);
drivers/net/wireless/broadcom/b43legacy/main.c
3454
eth_zero_addr(wl->mac_addr);
drivers/net/wireless/broadcom/b43legacy/main.c
3455
wl->filter_flags = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3456
wl->beacon0_uploaded = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3457
wl->beacon1_uploaded = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3458
wl->beacon_templates_virgin = true;
drivers/net/wireless/broadcom/b43legacy/main.c
3459
wl->radio_enabled = true;
drivers/net/wireless/broadcom/b43legacy/main.c
3461
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3482
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3489
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3490
struct b43legacy_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
3492
cancel_work_sync(&(wl->beacon_update_trigger));
drivers/net/wireless/broadcom/b43legacy/main.c
3494
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3498
wl->radio_enabled = false;
drivers/net/wireless/broadcom/b43legacy/main.c
3499
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3505
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3508
spin_lock_irqsave(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
3509
b43legacy_update_templates(wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3510
spin_unlock_irqrestore(&wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/main.c
3518
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3519
struct b43legacy_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/main.c
3560
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3564
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3588
wl->current_dev = NULL; /* Failed to init the dev. */
drivers/net/wireless/broadcom/b43legacy/main.c
3589
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3591
b43legacyerr(wl, "Controller restart FAILED\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3593
b43legacyinfo(wl, "Controller restarted\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3600
struct ieee80211_hw *hw = dev->wl->hw;
drivers/net/wireless/broadcom/b43legacy/main.c
3628
struct b43legacy_wl *wl = dev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3645
b43legacyerr(wl, "Bus powerup failed\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3700
if (!wl->current_dev)
drivers/net/wireless/broadcom/b43legacy/main.c
3701
wl->current_dev = dev;
drivers/net/wireless/broadcom/b43legacy/main.c
3720
struct b43legacy_wl *wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3726
wl = wldev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3730
wl->nr_devs--;
drivers/net/wireless/broadcom/b43legacy/main.c
3736
struct b43legacy_wl *wl)
drivers/net/wireless/broadcom/b43legacy/main.c
3746
wldev->wl = wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3758
list_add(&wldev->list, &wl->devlist);
drivers/net/wireless/broadcom/b43legacy/main.c
3759
wl->nr_devs++;
drivers/net/wireless/broadcom/b43legacy/main.c
3780
struct b43legacy_wl *wl)
drivers/net/wireless/broadcom/b43legacy/main.c
3782
struct ieee80211_hw *hw = wl->hw;
drivers/net/wireless/broadcom/b43legacy/main.c
3792
struct b43legacy_wl *wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3798
hw = ieee80211_alloc_hw(sizeof(*wl), &b43legacy_hw_ops);
drivers/net/wireless/broadcom/b43legacy/main.c
3824
wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3825
memset(wl, 0, sizeof(*wl));
drivers/net/wireless/broadcom/b43legacy/main.c
3826
wl->hw = hw;
drivers/net/wireless/broadcom/b43legacy/main.c
3827
spin_lock_init(&wl->irq_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
3828
spin_lock_init(&wl->leds_lock);
drivers/net/wireless/broadcom/b43legacy/main.c
3829
mutex_init(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3830
INIT_LIST_HEAD(&wl->devlist);
drivers/net/wireless/broadcom/b43legacy/main.c
3831
INIT_WORK(&wl->beacon_update_trigger, b43legacy_beacon_update_trigger_work);
drivers/net/wireless/broadcom/b43legacy/main.c
3832
INIT_WORK(&wl->tx_work, b43legacy_tx_work);
drivers/net/wireless/broadcom/b43legacy/main.c
3836
skb_queue_head_init(&wl->tx_queue[queue_num]);
drivers/net/wireless/broadcom/b43legacy/main.c
3837
wl->tx_queue_stopped[queue_num] = 0;
drivers/net/wireless/broadcom/b43legacy/main.c
3840
ssb_set_devtypedata(dev, wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3841
b43legacyinfo(wl, "Broadcom %04X WLAN found (core revision %u)\n",
drivers/net/wireless/broadcom/b43legacy/main.c
3851
struct b43legacy_wl *wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3855
wl = ssb_get_devtypedata(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3856
if (!wl) {
drivers/net/wireless/broadcom/b43legacy/main.c
3862
wl = ssb_get_devtypedata(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3863
B43legacy_WARN_ON(!wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3865
err = b43legacy_one_core_attach(dev, wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3870
INIT_WORK(&wl->firmware_load, b43legacy_request_firmware);
drivers/net/wireless/broadcom/b43legacy/main.c
3871
schedule_work(&wl->firmware_load);
drivers/net/wireless/broadcom/b43legacy/main.c
3878
b43legacy_wireless_exit(dev, wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3884
struct b43legacy_wl *wl = ssb_get_devtypedata(dev);
drivers/net/wireless/broadcom/b43legacy/main.c
3890
cancel_work_sync(&wl->firmware_load);
drivers/net/wireless/broadcom/b43legacy/main.c
3893
B43legacy_WARN_ON(!wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3896
if (wl->current_dev == wldev)
drivers/net/wireless/broadcom/b43legacy/main.c
3897
ieee80211_unregister_hw(wl->hw);
drivers/net/wireless/broadcom/b43legacy/main.c
3901
if (list_empty(&wl->devlist))
drivers/net/wireless/broadcom/b43legacy/main.c
3905
b43legacy_wireless_exit(dev, wl);
drivers/net/wireless/broadcom/b43legacy/main.c
3915
b43legacyinfo(dev->wl, "Controller RESET (%s) ...\n", reason);
drivers/net/wireless/broadcom/b43legacy/main.c
3916
ieee80211_queue_work(dev->wl->hw, &dev->restart_work);
drivers/net/wireless/broadcom/b43legacy/main.c
3924
struct b43legacy_wl *wl = wldev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3926
b43legacydbg(wl, "Suspending...\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3928
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3934
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3936
b43legacydbg(wl, "Device suspended.\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3944
struct b43legacy_wl *wl = wldev->wl;
drivers/net/wireless/broadcom/b43legacy/main.c
3947
b43legacydbg(wl, "Resuming...\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3949
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
3953
b43legacyerr(wl, "Resume failed at core init\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3961
b43legacyerr(wl, "Resume failed at core start\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3966
b43legacydbg(wl, "Device resumed.\n");
drivers/net/wireless/broadcom/b43legacy/main.c
3968
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/main.c
527
const u8 *mac = dev->wl->mac_addr;
drivers/net/wireless/broadcom/b43legacy/main.c
528
const u8 *bssid = dev->wl->bssid;
drivers/net/wireless/broadcom/b43legacy/main.c
559
dev->wl->mac_addr);
drivers/net/wireless/broadcom/b43legacy/main.c
857
if (b43legacy_is_mode(dev->wl, NL80211_IFTYPE_AP)) {
drivers/net/wireless/broadcom/b43legacy/main.c
863
if (b43legacy_is_mode(dev->wl, NL80211_IFTYPE_ADHOC))
drivers/net/wireless/broadcom/b43legacy/main.c
950
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(dev->wl->current_beacon);
drivers/net/wireless/broadcom/b43legacy/main.c
952
bcn = (const struct ieee80211_mgmt *)(dev->wl->current_beacon->data);
drivers/net/wireless/broadcom/b43legacy/main.c
953
len = min_t(size_t, dev->wl->current_beacon->len,
drivers/net/wireless/broadcom/b43legacy/main.c
955
rate = ieee80211_get_tx_rate(dev->wl->hw, info)->hw_value;
drivers/net/wireless/broadcom/b43legacy/phy.c
1276
b43legacydbg(dev->wl,
drivers/net/wireless/broadcom/b43legacy/phy.c
1694
b43legacywarn(dev->wl,
drivers/net/wireless/broadcom/b43legacy/phy.c
1824
b43legacywarn(dev->wl, "Invalid max-TX-power value in SPROM."
drivers/net/wireless/broadcom/b43legacy/phy.c
1845
b43legacydbg(dev->wl, "Current TX power output: " Q52_FMT
drivers/net/wireless/broadcom/b43legacy/phy.c
2001
b43legacyerr(dev->wl, "Could not allocate memory "
drivers/net/wireless/broadcom/b43legacy/phy.c
2009
b43legacyerr(dev->wl, "Could not generate "
drivers/net/wireless/broadcom/b43legacy/phy.c
2065
b43legacyerr(dev->wl, "Unknown PHYTYPE found\n");
drivers/net/wireless/broadcom/b43legacy/phy.c
84
if (!b43legacy_is_mode(dev->wl, NL80211_IFTYPE_AP))
drivers/net/wireless/broadcom/b43legacy/phy.c
99
if (!b43legacy_is_mode(dev->wl, NL80211_IFTYPE_AP))
drivers/net/wireless/broadcom/b43legacy/pio.c
226
b43legacywarn(queue->dev->wl, "PIO queue too small. "
drivers/net/wireless/broadcom/b43legacy/pio.c
276
spin_lock_irqsave(&dev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/pio.c
296
spin_unlock_irqrestore(&dev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/pio.c
343
b43legacyerr(dev->wl, "This card does not support PIO "
drivers/net/wireless/broadcom/b43legacy/pio.c
349
b43legacyerr(dev->wl, "PIO tx device-queue too small (%u)\n",
drivers/net/wireless/broadcom/b43legacy/pio.c
435
b43legacydbg(dev->wl, "PIO initialized\n");
drivers/net/wireless/broadcom/b43legacy/pio.c
503
if (status->rts_count > dev->wl->hw->conf.short_frame_max_tx_count) {
drivers/net/wireless/broadcom/b43legacy/pio.c
524
ieee80211_tx_status_irqsafe(dev->wl->hw, packet->skb);
drivers/net/wireless/broadcom/b43legacy/pio.c
541
b43legacyerr(queue->dev->wl, "PIO RX error: %s\n", error);
drivers/net/wireless/broadcom/b43legacy/pio.c
576
b43legacydbg(queue->dev->wl, "PIO RX timed out\n");
drivers/net/wireless/broadcom/b43legacy/radio.c
2089
b43legacydbg(dev->wl, "Radio initialized\n");
drivers/net/wireless/broadcom/b43legacy/rfkill.c
41
struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw);
drivers/net/wireless/broadcom/b43legacy/rfkill.c
42
struct b43legacy_wldev *dev = wl->current_dev;
drivers/net/wireless/broadcom/b43legacy/rfkill.c
47
mutex_lock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/rfkill.c
50
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/rfkill.c
61
b43legacyinfo(wl, "Radio hardware status changed to %s\n",
drivers/net/wireless/broadcom/b43legacy/rfkill.c
77
mutex_unlock(&wl->mutex);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
126
mutex_lock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
127
spin_lock_irqsave(&wldev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
131
b43legacyerr(wldev->wl, "Interference Mitigation not "
drivers/net/wireless/broadcom/b43legacy/sysfs.c
133
spin_unlock_irqrestore(&wldev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
134
mutex_unlock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
153
mutex_lock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
160
mutex_unlock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
179
mutex_lock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
180
spin_lock_irqsave(&wldev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
184
spin_unlock_irqrestore(&wldev->wl->irq_lock, flags);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
185
mutex_unlock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
74
mutex_lock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/sysfs.c
91
mutex_unlock(&wldev->wl->mutex);
drivers/net/wireless/broadcom/b43legacy/xmit.c
197
tx_rate = ieee80211_get_tx_rate(dev->wl->hw, info);
drivers/net/wireless/broadcom/b43legacy/xmit.c
201
rate_fb = ieee80211_get_alt_retry_rate(dev->wl->hw, info, 0) ? : tx_rate;
drivers/net/wireless/broadcom/b43legacy/xmit.c
216
txhdr->dur_fb = ieee80211_generic_frame_duration(dev->wl->hw,
drivers/net/wireless/broadcom/b43legacy/xmit.c
285
(rates[0].count <= dev->wl->hw->conf.long_frame_max_tx_count)) {
drivers/net/wireless/broadcom/b43legacy/xmit.c
286
rates[0].count = dev->wl->hw->conf.long_frame_max_tx_count;
drivers/net/wireless/broadcom/b43legacy/xmit.c
289
rates[0].count = dev->wl->hw->conf.short_frame_max_tx_count;
drivers/net/wireless/broadcom/b43legacy/xmit.c
301
rts_rate = ieee80211_get_rts_cts_rate(dev->wl->hw, info)->hw_value;
drivers/net/wireless/broadcom/b43legacy/xmit.c
308
ieee80211_ctstoself_get(dev->wl->hw,
drivers/net/wireless/broadcom/b43legacy/xmit.c
317
ieee80211_rts_get(dev->wl->hw,
drivers/net/wireless/broadcom/b43legacy/xmit.c
447
dev->wl->ieee_stats.dot11FCSErrorCount++;
drivers/net/wireless/broadcom/b43legacy/xmit.c
453
b43legacydbg(dev->wl, "RX: Packet size underrun (1)\n");
drivers/net/wireless/broadcom/b43legacy/xmit.c
460
b43legacydbg(dev->wl, "RX: Packet size underrun (2)\n");
drivers/net/wireless/broadcom/b43legacy/xmit.c
489
b43legacydbg(dev->wl, "RX: Packet size"
drivers/net/wireless/broadcom/b43legacy/xmit.c
505
b43legacydbg(dev->wl, "RX: Packet size"
drivers/net/wireless/broadcom/b43legacy/xmit.c
538
if (ieee80211_is_beacon(fctl) || dev->wl->radiotap_enabled) {
drivers/net/wireless/broadcom/b43legacy/xmit.c
559
b43legacywarn(dev->wl, "Unexpected value for chanstat (0x%X)\n",
drivers/net/wireless/broadcom/b43legacy/xmit.c
565
ieee80211_rx_irqsafe(dev->wl->hw, skb);
drivers/net/wireless/broadcom/b43legacy/xmit.c
569
b43legacydbg(dev->wl, "RX: Packet dropped\n");
drivers/net/wireless/broadcom/b43legacy/xmit.c
583
dev->wl->ieee_stats.dot11ACKFailureCount++;
drivers/net/wireless/broadcom/b43legacy/xmit.c
586
dev->wl->ieee_stats.dot11RTSFailureCount++;
drivers/net/wireless/broadcom/b43legacy/xmit.c
588
dev->wl->ieee_stats.dot11RTSSuccessCount++;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c
697
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c
698
struct brcms_c_info *wlc = wl->wlc;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/debug.c
100
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/debug.c
102
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/debug.c
96
struct brcms_info *wl = drvr->ieee_hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
100
err = led_classdev_register(wiphy_dev(wl->wiphy), &wl->led_dev);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
103
wiphy_err(wl->wiphy, "cannot register led device: %s (err: %d)\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
104
wl->radio_led.name, err);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
108
wiphy_info(wl->wiphy, "registered radio enabled led device: %s\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
109
wl->radio_led.name);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
22
static void brcms_radio_led_ctrl(struct brcms_info *wl, bool state)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
24
if (!wl->radio_led.gpiod)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
28
gpiod_set_value(wl->radio_led.gpiod, 1);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
30
gpiod_set_value(wl->radio_led.gpiod, 0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
38
struct brcms_info *wl = container_of(led_dev,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
40
brcms_radio_led_ctrl(wl, brightness);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
43
void brcms_led_unregister(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
45
if (wl->led_dev.dev)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
46
led_classdev_unregister(&wl->led_dev);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
47
if (wl->radio_led.gpiod)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
48
gpiochip_free_own_desc(wl->radio_led.gpiod);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
51
int brcms_led_register(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
54
struct brcms_led *radio_led = &wl->radio_led;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
56
struct bcma_drv_cc *cc_drv = &wl->wlc->hw->d11core->bus->drv_cc;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
58
struct ssb_sprom *sprom = &wl->wlc->hw->d11core->bus->sprom;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
88
wiphy_err(wl->wiphy, "requesting led GPIO failed (err: %d)\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
93
snprintf(wl->radio_led.name, sizeof(wl->radio_led.name),
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
94
"brcmsmac-%s:radio", wiphy_name(wl->wiphy));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
96
wl->led_dev.name = wl->radio_led.name;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
97
wl->led_dev.default_trigger =
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
98
ieee80211_get_radio_led_name(wl->pub->ieee_hw);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c
99
wl->led_dev.brightness_set = brcms_led_brightness_set;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h
28
void brcms_led_unregister(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h
29
int brcms_led_register(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h
31
static inline void brcms_led_unregister(struct brcms_info *wl) {};
drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h
32
static inline int brcms_led_register(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1002
spin_lock_irqsave(&wl->isr_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1003
brcms_c_intrsupd(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1004
spin_unlock_irqrestore(&wl->isr_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1007
wl->resched = brcms_c_dpc(wl->wlc, true);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1011
if (!wl->pub->up)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1015
if (wl->resched)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1016
tasklet_schedule(&wl->tasklet);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1019
brcms_intrson(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1022
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1023
wake_up(&wl->tx_flush_wq);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1028
struct brcms_info *wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1031
wl = (struct brcms_info *) dev_id;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1033
spin_lock(&wl->isr_lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1036
if (brcms_c_isr(wl->wlc)) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1038
tasklet_schedule(&wl->tasklet);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1042
spin_unlock(&wl->isr_lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1052
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1053
struct brcms_c_info *wlc = wl->wlc;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1060
phy_type = brcms_c_get_phy_type(wl->wlc, 0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1075
if (wl->pub->_nbands > 1) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1131
struct brcms_info *wl = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1145
wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1146
if (WARN_ON(hw == NULL) || WARN_ON(wl == NULL))
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1148
wl->wiphy = hw->wiphy;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1150
atomic_set(&wl->callbacks, 0);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1152
init_waitqueue_head(&wl->tx_flush_wq);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1155
tasklet_setup(&wl->tasklet, brcms_dpc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1157
spin_lock_init(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1158
spin_lock_init(&wl->isr_lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1161
wl->wlc = brcms_c_attach((void *)wl, pdev, unit, false, &err);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1162
if (!wl->wlc) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1163
wiphy_err(wl->wiphy, "%s: attach() failed with code %d\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1167
wl->pub = brcms_c_pub(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1169
wl->pub->ieee_hw = hw;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1173
IRQF_SHARED, KBUILD_MODNAME, wl)) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1174
wiphy_err(wl->wiphy, "wl%d: request_irq() failed\n", unit);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1177
wl->irq = pdev->irq;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1180
brcms_c_module_register(wl->pub, "linux", wl, NULL);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1183
wiphy_err(wl->wiphy, "wl%d: %s: ieee_hw_init failed!\n", unit,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1188
brcms_c_regd_init(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1190
memcpy(perm, &wl->pub->cur_etheraddr, ETH_ALEN);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1197
wiphy_err(wl->wiphy, "%s: ieee80211_register_hw failed, status"
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1200
if (wl->pub->srom_ccode[0] &&
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1201
regulatory_hint(wl->wiphy, wl->pub->srom_ccode))
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1202
wiphy_err(wl->wiphy, "%s: regulatory hint failed\n", __func__);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1204
brcms_debugfs_attach(wl->pub);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1205
brcms_debugfs_create_files(wl->pub);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1207
return wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1210
brcms_free(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1226
struct brcms_info *wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1248
memset(hw->priv, 0, sizeof(*wl));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1250
wl = brcms_attach(pdev);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1251
if (!wl) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1256
brcms_led_register(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1267
struct brcms_info *wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1271
wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1272
if (!wl) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1279
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1280
wl->pub->hw_up = false;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1281
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1283
brcms_dbg_info(wl->wlc->hw->d11core, "brcms_suspend ok\n");
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1349
void brcms_txflowcontrol(struct brcms_info *wl, struct brcms_if *wlif,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1352
brcms_err(wl->wlc->hw->d11core, "Shouldn't be here %s\n", __func__);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1358
void brcms_init(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1360
brcms_dbg_info(wl->wlc->hw->d11core, "Initializing wl%d\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1361
wl->pub->unit);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1362
brcms_reset(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1363
brcms_c_init(wl->wlc, wl->mute_tx);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1369
uint brcms_reset(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1371
brcms_dbg_info(wl->wlc->hw->d11core, "Resetting wl%d\n", wl->pub->unit);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1372
brcms_c_reset(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1375
wl->resched = false;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1378
wl->pub->up = false;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1383
void brcms_fatal_error(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1385
brcms_err(wl->wlc->hw->d11core, "wl%d: fatal error, reinitializing\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1386
wl->wlc->pub->unit);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1387
brcms_reset(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1388
ieee80211_restart_hw(wl->pub->ieee_hw);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1395
void brcms_intrson(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1399
spin_lock_irqsave(&wl->isr_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1400
brcms_c_intrson(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1401
spin_unlock_irqrestore(&wl->isr_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1404
u32 brcms_intrsoff(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1409
spin_lock_irqsave(&wl->isr_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1410
status = brcms_c_intrsoff(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1411
spin_unlock_irqrestore(&wl->isr_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1415
void brcms_intrsrestore(struct brcms_info *wl, u32 macintmask)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1419
spin_lock_irqsave(&wl->isr_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1420
brcms_c_intrsrestore(wl->wlc, macintmask);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1421
spin_unlock_irqrestore(&wl->isr_lock, flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1427
int brcms_up(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1431
if (wl->pub->up)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1434
error = brcms_c_up(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1442
void brcms_down(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1443
__must_hold(&wl->lock)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1448
ret_val = brcms_c_down(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1449
callbacks = atomic_read(&wl->callbacks) - ret_val;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1452
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1457
SPINWAIT((atomic_read(&wl->callbacks) > callbacks), 100 * 1000);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1459
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1470
spin_lock_bh(&t->wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1474
atomic_inc(&t->wl->callbacks);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1475
ieee80211_queue_delayed_work(t->wl->pub->ieee_hw,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1485
atomic_dec(&t->wl->callbacks);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1487
spin_unlock_bh(&t->wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1496
struct brcms_timer *brcms_init_timer(struct brcms_info *wl,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1507
t->wl = wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1510
t->next = wl->timers;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1511
wl->timers = t;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1528
struct ieee80211_hw *hw = t->wl->pub->ieee_hw;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1532
brcms_dbg_info(t->wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1540
atomic_inc(&t->wl->callbacks);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1558
atomic_dec(&t->wl->callbacks);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1569
struct brcms_info *wl = t->wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1575
if (wl->timers == t) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1576
wl->timers = wl->timers->next;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1585
tmp = wl->timers;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1603
int brcms_ucode_init_buf(struct brcms_info *wl, void **pbuf, u32 idx)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1608
for (i = 0; i < wl->fw.fw_cnt; i++) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1609
hdr = (struct firmware_hdr *)wl->fw.fw_hdr[i]->data;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1610
for (entry = 0; entry < wl->fw.hdr_num_entries[i];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1614
pdata = wl->fw.fw_bin[i]->data +
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1623
brcms_err(wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1633
int brcms_ucode_init_uint(struct brcms_info *wl, size_t *n_bytes, u32 idx)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1638
for (i = 0; i < wl->fw.fw_cnt; i++) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1639
hdr = (struct firmware_hdr *)wl->fw.fw_hdr[i]->data;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1640
for (entry = 0; entry < wl->fw.hdr_num_entries[i];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1643
pdata = wl->fw.fw_bin[i]->data +
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1646
brcms_err(wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1655
brcms_err(wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1674
int brcms_check_firmwares(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1683
fw = wl->fw.fw_bin[i];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1684
fw_hdr = wl->fw.fw_hdr[i];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1688
wiphy_err(wl->wiphy, "%s: invalid bin/hdr fw\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1692
wiphy_err(wl->wiphy, "%s: non integral fw hdr file "
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1697
wiphy_err(wl->wiphy, "%s: out of bounds fw file size %zu\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1703
for (entry = 0; entry < wl->fw.hdr_num_entries[i] &&
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1708
wiphy_err(wl->wiphy,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1716
if (rc == 0 && wl->fw.fw_cnt != i) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1717
wiphy_err(wl->wiphy, "%s: invalid fw_cnt=%d\n", __func__,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1718
wl->fw.fw_cnt);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1727
bool brcms_rfkill_set_hw_state(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1728
__must_hold(&wl->lock)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1730
bool blocked = brcms_c_check_radio_disabled(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1732
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1733
wiphy_rfkill_set_hw_state(wl->pub->ieee_hw->wiphy, blocked);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1735
wiphy_rfkill_start_polling(wl->pub->ieee_hw->wiphy);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
1736
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
286
static void brcms_free(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
291
if (wl->fw.fw_cnt)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
292
brcms_ucode_data_free(&wl->ucode);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
293
if (wl->irq)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
294
free_irq(wl->irq, wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
297
tasklet_kill(&wl->tasklet);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
299
if (wl->pub) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
300
brcms_debugfs_detach(wl->pub);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
301
brcms_c_module_unregister(wl->pub, "linux", wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
305
if (wl->wlc) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
306
brcms_c_detach(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
307
wl->wlc = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
308
wl->pub = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
314
while (atomic_read(&wl->callbacks) > 0)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
318
for (t = wl->timers; t; t = next) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
334
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
336
if (wl->wlc) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
337
brcms_led_unregister(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
338
wiphy_rfkill_set_hw_state(wl->pub->ieee_hw->wiphy, false);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
339
wiphy_rfkill_stop_polling(wl->pub->ieee_hw->wiphy);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
343
brcms_free(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
353
static void brcms_release_fw(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
357
release_firmware(wl->fw.fw_bin[i]);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
358
release_firmware(wl->fw.fw_hdr[i]);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
366
static int brcms_request_fw(struct brcms_info *wl, struct bcma_device *pdev)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
373
memset(&wl->fw, 0, sizeof(struct brcms_firmware));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
379
status = request_firmware(&wl->fw.fw_bin[i], fw_name, device);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
381
wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
387
status = request_firmware(&wl->fw.fw_hdr[i], fw_name, device);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
389
wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
393
wl->fw.hdr_num_entries[i] =
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
394
wl->fw.fw_hdr[i]->size / (sizeof(struct firmware_hdr));
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
396
wl->fw.fw_cnt = i;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
397
status = brcms_ucode_data_init(wl, &wl->ucode);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
398
brcms_release_fw(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
406
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
409
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
410
if (!wl->pub->up) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
411
brcms_err(wl->wlc->hw->d11core, "ops->tx called while down\n");
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
415
if (brcms_c_sendpkt_mac80211(wl->wlc, skb, hw))
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
418
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
423
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
427
if (!wl->ucode.bcm43xx_bomminor) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
428
err = brcms_request_fw(wl, wl->wlc->hw->d11core);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
434
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
435
blocked = brcms_rfkill_set_hw_state(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
436
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
438
wiphy_rfkill_stop_polling(wl->pub->ieee_hw->wiphy);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
440
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
442
wl->mute_tx = true;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
444
if (!wl->pub->up)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
446
err = brcms_up(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
451
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
454
brcms_err(wl->wlc->hw->d11core, "%s: brcms_up() returned %d\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
457
bcma_core_pci_power_save(wl->wlc->hw->d11core->bus, true);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
463
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
468
if (wl->wlc == NULL)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
471
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
472
status = brcms_c_chipmatch(wl->wlc->hw->d11core);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
473
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
475
brcms_err(wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
480
bcma_core_pci_power_save(wl->wlc->hw->d11core->bus, false);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
483
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
484
brcms_down(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
485
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
491
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
497
brcms_err(wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
503
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
504
wl->wlc->vif = vif;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
505
wl->mute_tx = false;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
506
brcms_c_mute(wl->wlc, false);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
508
brcms_c_start_station(wl->wlc, vif->addr);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
510
brcms_c_start_ap(wl->wlc, vif->addr, vif->bss_conf.bssid,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
513
brcms_c_start_adhoc(wl->wlc, vif->addr);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
514
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
522
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
524
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
525
wl->wlc->vif = NULL;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
526
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
533
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
534
struct bcma_device *core = wl->wlc->hw->d11core;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
538
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
540
brcms_c_set_beacon_listen_interval(wl->wlc,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
553
err = brcms_c_set_tx_power(wl->wlc, conf->power_level);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
559
new_int = brcms_c_get_tx_power(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
569
err = brcms_c_set_channel(wl->wlc,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
575
err = brcms_c_set_rate_limit(wl->wlc,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
580
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
589
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
590
struct bcma_device *core = wl->wlc->hw->d11core;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
598
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
599
brcms_c_associate_upd(wl->wlc, vif->cfg.assoc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
600
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
610
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
611
brcms_c_set_shortslot_override(wl->wlc, val);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
612
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
619
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
620
brcms_c_protection_upd(wl->wlc, BRCMS_PROT_N_CFG,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
622
brcms_c_protection_upd(wl->wlc, BRCMS_PROT_N_NONGF,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
624
brcms_c_protection_upd(wl->wlc, BRCMS_PROT_N_OBSS,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
626
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
636
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
637
brcms_c_get_current_rateset(wl->wlc, &rs);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
638
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
641
bi = hw->wiphy->bands[brcms_c_get_curband(wl->wlc)];
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
652
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
653
error = brcms_c_set_rateset(wl->wlc, &rs);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
654
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
661
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
662
brcms_c_set_beacon_period(wl->wlc, info->beacon_int);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
663
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
667
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
668
brcms_c_set_addrmatch(wl->wlc, RCM_BSSID_OFFSET, info->bssid);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
669
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
673
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
674
brcms_c_set_ssid(wl->wlc, vif->cfg.ssid, vif->cfg.ssid_len);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
675
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
682
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
684
brcms_c_set_new_beacon(wl->wlc, beacon, tim_offset,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
686
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
692
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
694
brcms_c_set_new_probe_resp(wl->wlc, probe_resp);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
695
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
704
brcms_c_enable_probe_resp(wl->wlc, true);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
706
brcms_c_enable_probe_resp(wl->wlc, false);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
745
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
746
struct bcma_device *core = wl->wlc->hw->d11core;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
764
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
765
brcms_c_mac_promisc(wl->wlc, *total_flags);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
766
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
774
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
775
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
776
brcms_c_scan_start(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
777
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
784
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
785
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
786
brcms_c_scan_stop(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
787
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
796
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
798
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
799
brcms_c_wme_setparams(wl->wlc, queue, params, true);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
800
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
809
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
810
struct scb *scb = &wl->wlc->pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
814
wl->pub->global_ampdu = &(scb->scb_ampdu);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
815
wl->pub->global_ampdu->max_pdu = 16;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
829
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
830
struct scb *scb = &wl->wlc->pri_scb;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
844
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
845
status = brcms_c_aggregatable(wl->wlc, tid);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
846
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
848
brcms_dbg_ht(wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
857
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
858
brcms_c_ampdu_flush(wl->wlc, sta, tid);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
859
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
869
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
870
brcms_c_ampdu_tx_operational(wl->wlc, tid,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
873
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
877
brcms_err(wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
886
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
889
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
890
blocked = brcms_c_check_radio_disabled(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
891
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
893
wiphy_rfkill_set_hw_state(wl->pub->ieee_hw->wiphy, blocked);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
896
static bool brcms_tx_flush_completed(struct brcms_info *wl)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
900
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
901
result = brcms_c_tx_flush_completed(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
902
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
909
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
914
ret = wait_event_timeout(wl->tx_flush_wq,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
915
brcms_tx_flush_completed(wl),
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
918
brcms_dbg_mac80211(wl->wlc->hw->d11core,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
924
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
927
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
928
tsf = brcms_c_tsf_get(wl->wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
929
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
937
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
939
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
940
brcms_c_tsf_set(wl->wlc, tsf);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
941
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
947
struct brcms_info *wl = hw->priv;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
951
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
952
if (wl->wlc->vif)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
953
beacon = ieee80211_beacon_get_tim(hw, wl->wlc->vif,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
956
brcms_c_set_new_beacon(wl->wlc, beacon, tim_offset,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
957
wl->wlc->vif->bss_conf.dtim_period);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
958
spin_unlock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
991
struct brcms_info *wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
993
wl = from_tasklet(wl, t, tasklet);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
995
spin_lock_bh(&wl->lock);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
998
if (wl->pub->up) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
999
if (wl->resched) {
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
100
bool brcms_rfkill_set_hw_state(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
103
struct brcms_timer *brcms_init_timer(struct brcms_info *wl,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
111
void brcms_fatal_error(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
38
struct brcms_info *wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
91
void brcms_init(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
92
uint brcms_reset(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
93
void brcms_intrson(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
94
u32 brcms_intrsoff(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
95
void brcms_intrsrestore(struct brcms_info *wl, u32 macintmask);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
96
int brcms_up(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
97
void brcms_down(struct brcms_info *wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h
98
void brcms_txflowcontrol(struct brcms_info *wl, struct brcms_if *wlif,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
1834
brcms_intrsrestore(wlc->wl, macintmask);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
2261
struct brcms_ucode *ucode = &wlc_hw->wlc->wl->ucode;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
2369
brcms_fatal_error(wlc_hw->wlc->wl); /* big hammer */
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
2646
brcms_down(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
2657
brcms_down(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
2682
brcms_down(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
3164
struct brcms_ucode *ucode = &wlc_hw->wlc->wl->ucode;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
3339
macintmask = brcms_intrsoff(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
3355
brcms_intrsrestore(wlc->wl, macintmask);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
4178
brcms_down(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
4216
brcms_down(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
4254
wlc->wdtimer = brcms_init_timer(wlc->wl, brcms_c_watchdog_by_timer,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
4262
wlc->radio_timer = brcms_init_timer(wlc->wl, brcms_c_radio_timer,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
4507
wlc_hw->physhim = wlc_phy_shim_attach(wlc_hw, wlc->wl, wlc);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
4962
brcms_intrson(wlc_hw->wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
5050
brcms_init(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
5093
brcms_intrsoff(wlc_hw->wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
5131
callbacks += brcms_reset(wlc_hw->wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
710
struct brcms_ucode *ucode = &wlc_hw->wlc->wl->ucode;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
7710
brcms_down(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
7763
brcms_fatal_error(wlc_hw->wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
7773
brcms_rfkill_set_hw_state(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
7784
brcms_fatal_error(wlc_hw->wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
7891
brcms_c_attach(struct brcms_info *wl, struct bcma_device *core, uint unit,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
7903
wlc->wiphy = wl->wiphy;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
7912
wlc->wl = wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
8007
wiphy_err(wl->wiphy, "wl%d: %s: init_timer failed\n", unit,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
8016
wiphy_err(wl->wiphy, "wl%d: %s: channel_mgr_attach failed"
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
8056
wiphy_err(wl->wiphy, "wl%d: %s: failed with err %d\n",
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
812
macintmask = brcms_intrsoff(wlc->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
457
struct brcms_info *wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c
35
struct brcms_info *wl; /* pointer to os-specific private state */
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c
39
struct brcms_info *wl,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c
49
physhim->wl = wl;
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c
64
brcms_init_timer(physhim->wl, fn, arg, name);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c
85
brcms_intrson(physhim->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c
90
return brcms_intrsoff(physhim->wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c
95
brcms_intrsrestore(physhim->wl, macintmask);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h
128
struct brcms_info *wl,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/pub.h
269
struct brcms_c_info *brcms_c_attach(struct brcms_info *wl,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
40
int brcms_ucode_data_init(struct brcms_info *wl, struct brcms_ucode *ucode)
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
44
rc = brcms_check_firmwares(wl);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
47
brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn0bsinitvals24,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
50
rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn0initvals24,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
53
rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn1bsinitvals24,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
56
rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn1initvals24,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
59
brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn2bsinitvals24,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
62
rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn2initvals24,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
65
rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11n0absinitvals16,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
68
rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11n0bsinitvals16,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
71
rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11n0initvals16,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
74
rc : brcms_ucode_init_buf(wl, (void **)&ucode->bcm43xx_16_mimo,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
77
rc : brcms_ucode_init_uint(wl, &ucode->bcm43xx_16_mimosz,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
80
rc : brcms_ucode_init_buf(wl, (void **)&ucode->bcm43xx_24_lcn,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
83
rc : brcms_ucode_init_uint(wl, &ucode->bcm43xx_24_lcnsz,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
86
rc : brcms_ucode_init_buf(wl, (void **)&ucode->bcm43xx_bommajor,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c
89
rc : brcms_ucode_init_buf(wl, (void **)&ucode->bcm43xx_bomminor,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.h
46
int brcms_ucode_data_init(struct brcms_info *wl, struct brcms_ucode *ucode);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.h
50
int brcms_ucode_init_buf(struct brcms_info *wl, void **pbuf, unsigned int idx);
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.h
51
int brcms_ucode_init_uint(struct brcms_info *wl, size_t *n_bytes,
drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.h
54
int brcms_check_firmwares(struct brcms_info *wl);
drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c
16
.w_low = wl, \
drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c
8
#define RADAR_SPEC(m, len, el, eh, wl, wh, \
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1007
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1011
freq = ieee80211_channel_to_frequency(wl->op_ch, NL80211_BAND_2GHZ);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1018
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1045
freq = ieee80211_channel_to_frequency(wl->op_ch, NL80211_BAND_2GHZ);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1269
struct wilc *wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1275
if (wl->initialized) {
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1351
struct wilc *wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1362
wilc_wfi_deinit_mon_interface(wl, true);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1365
if (wl->initialized)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1380
if (wl->initialized)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1390
if (wl->initialized)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1400
if (wl->initialized)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1509
static struct wilc_vif *wilc_get_vif_from_type(struct wilc *wl, int type)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1513
wilc_for_each_vif(wl, vif) {
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1527
struct wilc *wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1536
srcu_idx = srcu_read_lock(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1537
vif = wilc_get_vif_from_type(wl, WILC_AP_MODE);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1539
vif = wilc_get_vif_from_type(wl, WILC_GO_MODE);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1541
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1547
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1551
ndev = wilc_wfi_init_mon_interface(wl, name, vif->ndev);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1555
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1560
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1565
mutex_lock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1566
if (wl->vif_num == WILC_NUM_CONCURRENT_IFC) {
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1568
mutex_unlock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1571
mutex_unlock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1584
vif = wilc_netdev_ifc_init(wl, name, iftype, type, true);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1593
struct wilc *wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1598
wilc_wfi_deinit_mon_interface(wl, true);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1604
mutex_lock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1606
wl->vif_num--;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1607
mutex_unlock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1608
synchronize_srcu(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1614
struct wilc *wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1618
srcu_idx = srcu_read_lock(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1619
vif = wilc_get_wl_to_vif(wl);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1621
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1627
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1637
struct wilc *wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1640
if (!wl->initialized)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1643
srcu_idx = srcu_read_lock(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1644
vif = wilc_get_wl_to_vif(wl);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1646
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1658
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1668
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1671
if (!wl->initialized)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
168
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1723
static void wlan_init_locks(struct wilc *wl)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1725
mutex_init(&wl->hif_cs);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1726
mutex_init(&wl->rxq_cs);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1727
mutex_init(&wl->cfg_cmd_lock);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1728
mutex_init(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1729
mutex_init(&wl->deinit_lock);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1731
spin_lock_init(&wl->txq_spinlock);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1732
mutex_init(&wl->txq_add_to_head_cs);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1734
init_completion(&wl->txq_event);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1735
init_completion(&wl->cfg_event);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1736
init_completion(&wl->sync_event);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1737
init_completion(&wl->txq_thread_started);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1738
init_srcu_struct(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1755
struct wilc *wl;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1757
wiphy = wiphy_new(&wilc_cfg80211_ops, sizeof(*wl));
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1761
wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1763
memcpy(wl->bitrates, wilc_bitrates, sizeof(wilc_bitrates));
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1764
memcpy(wl->channels, wilc_2ghz_channels, sizeof(wilc_2ghz_channels));
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1765
wl->band.bitrates = wl->bitrates;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1766
wl->band.n_bitrates = ARRAY_SIZE(wl->bitrates);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1767
wl->band.channels = wl->channels;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1768
wl->band.n_channels = ARRAY_SIZE(wilc_2ghz_channels);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1770
wl->band.ht_cap.ht_supported = 1;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1771
wl->band.ht_cap.cap |= (1 << IEEE80211_HT_CAP_RX_STBC_SHIFT);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1772
wl->band.ht_cap.mcs.rx_mask[0] = 0xff;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1773
wl->band.ht_cap.ampdu_factor = IEEE80211_HT_MAX_AMPDU_8K;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1774
wl->band.ht_cap.ampdu_density = IEEE80211_HT_MPDU_DENSITY_NONE;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1776
wiphy->bands[NL80211_BAND_2GHZ] = &wl->band;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1785
memcpy(wl->cipher_suites, wilc_cipher_suites,
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1787
wiphy->cipher_suites = wl->cipher_suites;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1799
wl->wiphy = wiphy;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1800
return wl;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1806
struct wilc *wl;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1809
wl = wilc_create_wiphy(dev);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1810
if (!wl)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1813
wlan_init_locks(wl);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1815
ret = wilc_wlan_cfg_init(wl);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1819
*wilc = wl;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1820
wl->io_type = io_type;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1821
wl->hif_func = ops;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1824
INIT_LIST_HEAD(&wl->txq[i].txq_head.list);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1826
INIT_LIST_HEAD(&wl->rxq_head.list);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1827
INIT_LIST_HEAD(&wl->vif_list);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1829
wl->hif_workqueue = alloc_ordered_workqueue("%s", WQ_MEM_RECLAIM,
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1830
wiphy_name(wl->wiphy));
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1831
if (!wl->hif_workqueue) {
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1839
wilc_wlan_cfg_deinit(wl);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
184
wl->sta_ch = WILC_INVALID_CHANNEL;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1842
wlan_deinit_locks(wl);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
1843
wiphy_free(wl->wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
210
wl->sta_ch = WILC_INVALID_CHANNEL;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
222
struct wilc_vif *wilc_get_wl_to_vif(struct wilc *wl)
drivers/net/wireless/microchip/wilc1000/cfg80211.c
226
vif = list_first_or_null_rcu(&wl->vif_list, typeof(*vif), list);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
237
struct wilc *wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
243
srcu_idx = srcu_read_lock(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
244
vif = wilc_get_wl_to_vif(wl);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
246
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
252
wl->op_ch = channelnum;
drivers/net/wireless/microchip/wilc1000/cfg80211.c
257
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
798
struct wilc *wl = wiphy_priv(wiphy);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
803
srcu_idx = srcu_read_lock(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
804
vif = wilc_get_wl_to_vif(wl);
drivers/net/wireless/microchip/wilc1000/cfg80211.c
858
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/cfg80211.h
17
void wilc_wfi_deinit_mon_interface(struct wilc *wl, bool rtnl_locked);
drivers/net/wireless/microchip/wilc1000/cfg80211.h
18
struct net_device *wilc_wfi_init_mon_interface(struct wilc *wl,
drivers/net/wireless/microchip/wilc1000/cfg80211.h
24
struct wilc_vif *wilc_get_wl_to_vif(struct wilc *wl);
drivers/net/wireless/microchip/wilc1000/mon.c
217
struct net_device *wilc_wfi_init_mon_interface(struct wilc *wl,
drivers/net/wireless/microchip/wilc1000/mon.c
224
if (wl->monitor_dev)
drivers/net/wireless/microchip/wilc1000/mon.c
225
return wl->monitor_dev;
drivers/net/wireless/microchip/wilc1000/mon.c
227
wl->monitor_dev = alloc_etherdev(sizeof(struct wilc_wfi_mon_priv));
drivers/net/wireless/microchip/wilc1000/mon.c
228
if (!wl->monitor_dev)
drivers/net/wireless/microchip/wilc1000/mon.c
231
wl->monitor_dev->type = ARPHRD_IEEE80211_RADIOTAP;
drivers/net/wireless/microchip/wilc1000/mon.c
232
strscpy(wl->monitor_dev->name, name, IFNAMSIZ);
drivers/net/wireless/microchip/wilc1000/mon.c
233
wl->monitor_dev->netdev_ops = &wilc_wfi_netdev_ops;
drivers/net/wireless/microchip/wilc1000/mon.c
234
wl->monitor_dev->needs_free_netdev = true;
drivers/net/wireless/microchip/wilc1000/mon.c
236
if (register_netdevice(wl->monitor_dev)) {
drivers/net/wireless/microchip/wilc1000/mon.c
238
free_netdev(wl->monitor_dev);
drivers/net/wireless/microchip/wilc1000/mon.c
241
priv = netdev_priv(wl->monitor_dev);
drivers/net/wireless/microchip/wilc1000/mon.c
245
return wl->monitor_dev;
drivers/net/wireless/microchip/wilc1000/mon.c
248
void wilc_wfi_deinit_mon_interface(struct wilc *wl, bool rtnl_locked)
drivers/net/wireless/microchip/wilc1000/mon.c
250
if (!wl->monitor_dev)
drivers/net/wireless/microchip/wilc1000/mon.c
254
unregister_netdevice(wl->monitor_dev);
drivers/net/wireless/microchip/wilc1000/mon.c
256
unregister_netdev(wl->monitor_dev);
drivers/net/wireless/microchip/wilc1000/mon.c
257
wl->monitor_dev = NULL;
drivers/net/wireless/microchip/wilc1000/netdev.c
1012
mutex_lock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/netdev.c
1014
wl->vif_num -= 1;
drivers/net/wireless/microchip/wilc1000/netdev.c
1015
mutex_unlock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/netdev.c
1016
synchronize_srcu(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/netdev.c
149
static void wilc_wake_tx_queues(struct wilc *wl)
drivers/net/wireless/microchip/wilc1000/netdev.c
154
srcu_idx = srcu_read_lock(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/netdev.c
155
wilc_for_each_vif(wl, ifc) {
drivers/net/wireless/microchip/wilc1000/netdev.c
159
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/netdev.c
166
struct wilc *wl = vp;
drivers/net/wireless/microchip/wilc1000/netdev.c
168
complete(&wl->txq_thread_started);
drivers/net/wireless/microchip/wilc1000/netdev.c
170
if (wait_for_completion_interruptible(&wl->txq_event))
drivers/net/wireless/microchip/wilc1000/netdev.c
172
if (wl->close) {
drivers/net/wireless/microchip/wilc1000/netdev.c
173
complete(&wl->txq_thread_started);
drivers/net/wireless/microchip/wilc1000/netdev.c
180
ret = wilc_wlan_handle_txq(wl, &txq_count);
drivers/net/wireless/microchip/wilc1000/netdev.c
182
wilc_wake_tx_queues(wl);
drivers/net/wireless/microchip/wilc1000/netdev.c
195
} while (!wl->close);
drivers/net/wireless/microchip/wilc1000/netdev.c
444
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/netdev.c
446
wl->close = 1;
drivers/net/wireless/microchip/wilc1000/netdev.c
448
complete(&wl->txq_event);
drivers/net/wireless/microchip/wilc1000/netdev.c
450
if (wl->txq_thread) {
drivers/net/wireless/microchip/wilc1000/netdev.c
451
kthread_stop(wl->txq_thread);
drivers/net/wireless/microchip/wilc1000/netdev.c
452
wl->txq_thread = NULL;
drivers/net/wireless/microchip/wilc1000/netdev.c
459
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/netdev.c
461
if (!wl) {
drivers/net/wireless/microchip/wilc1000/netdev.c
466
if (wl->initialized) {
drivers/net/wireless/microchip/wilc1000/netdev.c
469
if (!wl->dev_irq_num &&
drivers/net/wireless/microchip/wilc1000/netdev.c
470
wl->hif_func->disable_interrupt) {
drivers/net/wireless/microchip/wilc1000/netdev.c
471
mutex_lock(&wl->hif_cs);
drivers/net/wireless/microchip/wilc1000/netdev.c
472
wl->hif_func->disable_interrupt(wl);
drivers/net/wireless/microchip/wilc1000/netdev.c
473
mutex_unlock(&wl->hif_cs);
drivers/net/wireless/microchip/wilc1000/netdev.c
475
complete(&wl->txq_event);
drivers/net/wireless/microchip/wilc1000/netdev.c
480
wilc_wlan_stop(wl, vif);
drivers/net/wireless/microchip/wilc1000/netdev.c
483
wl->initialized = false;
drivers/net/wireless/microchip/wilc1000/netdev.c
511
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/netdev.c
513
if (!wl->initialized) {
drivers/net/wireless/microchip/wilc1000/netdev.c
514
wl->mac_status = WILC_MAC_STATUS_INIT;
drivers/net/wireless/microchip/wilc1000/netdev.c
515
wl->close = 0;
drivers/net/wireless/microchip/wilc1000/netdev.c
525
if (wl->dev_irq_num && init_irq(dev)) {
drivers/net/wireless/microchip/wilc1000/netdev.c
530
if (!wl->dev_irq_num &&
drivers/net/wireless/microchip/wilc1000/netdev.c
531
wl->hif_func->enable_interrupt &&
drivers/net/wireless/microchip/wilc1000/netdev.c
532
wl->hif_func->enable_interrupt(wl)) {
drivers/net/wireless/microchip/wilc1000/netdev.c
553
size = wilc_wlan_cfg_get_val(wl, WID_FIRMWARE_VERSION,
drivers/net/wireless/microchip/wilc1000/netdev.c
565
wl->initialized = true;
drivers/net/wireless/microchip/wilc1000/netdev.c
569
wilc_wlan_stop(wl, vif);
drivers/net/wireless/microchip/wilc1000/netdev.c
572
if (!wl->dev_irq_num &&
drivers/net/wireless/microchip/wilc1000/netdev.c
573
wl->hif_func->disable_interrupt)
drivers/net/wireless/microchip/wilc1000/netdev.c
574
wl->hif_func->disable_interrupt(wl);
drivers/net/wireless/microchip/wilc1000/netdev.c
576
if (wl->dev_irq_num)
drivers/net/wireless/microchip/wilc1000/netdev.c
60
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/netdev.c
600
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/netdev.c
604
if (!wl || !wl->dev) {
drivers/net/wireless/microchip/wilc1000/netdev.c
629
if (!wl->open_ifcs)
drivers/net/wireless/microchip/wilc1000/netdev.c
63
ret = request_threaded_irq(wl->dev_irq_num, isr_uh_routine,
drivers/net/wireless/microchip/wilc1000/netdev.c
641
wl->open_ifcs++;
drivers/net/wireless/microchip/wilc1000/netdev.c
66
dev->name, wl);
drivers/net/wireless/microchip/wilc1000/netdev.c
71
netdev_dbg(dev, "IRQ request succeeded IRQ-NUM= %d\n", wl->dev_irq_num);
drivers/net/wireless/microchip/wilc1000/netdev.c
790
struct wilc *wl = vif->wilc;
drivers/net/wireless/microchip/wilc1000/netdev.c
794
if (wl->open_ifcs > 0)
drivers/net/wireless/microchip/wilc1000/netdev.c
795
wl->open_ifcs--;
drivers/net/wireless/microchip/wilc1000/netdev.c
806
if (wl->open_ifcs == 0) {
drivers/net/wireless/microchip/wilc1000/netdev.c
808
wl->close = 1;
drivers/net/wireless/microchip/wilc1000/netdev.c
931
static u8 wilc_get_available_idx(struct wilc *wl)
drivers/net/wireless/microchip/wilc1000/netdev.c
937
srcu_idx = srcu_read_lock(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/netdev.c
938
wilc_for_each_vif(wl, vif) {
drivers/net/wireless/microchip/wilc1000/netdev.c
944
srcu_read_unlock(&wl->srcu, srcu_idx);
drivers/net/wireless/microchip/wilc1000/netdev.c
948
struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
drivers/net/wireless/microchip/wilc1000/netdev.c
964
vif->wilc = wl;
drivers/net/wireless/microchip/wilc1000/netdev.c
970
SET_NETDEV_DEV(ndev, wiphy_dev(wl->wiphy));
drivers/net/wireless/microchip/wilc1000/netdev.c
972
vif->priv.wdev.wiphy = wl->wiphy;
drivers/net/wireless/microchip/wilc1000/netdev.c
979
vif->idx = wilc_get_available_idx(wl);
drivers/net/wireless/microchip/wilc1000/netdev.c
982
memcpy(mac_address, wl->nv_mac_address, ETH_ALEN);
drivers/net/wireless/microchip/wilc1000/netdev.c
993
mutex_lock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/netdev.c
994
list_add_tail_rcu(&vif->list, &wl->vif_list);
drivers/net/wireless/microchip/wilc1000/netdev.c
995
wl->vif_num += 1;
drivers/net/wireless/microchip/wilc1000/netdev.c
996
mutex_unlock(&wl->vif_mutex);
drivers/net/wireless/microchip/wilc1000/netdev.c
997
synchronize_srcu(&wl->srcu);
drivers/net/wireless/microchip/wilc1000/netdev.h
302
struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
drivers/net/wireless/microchip/wilc1000/spi.c
871
static void wilc_spi_reset_cmd_sequence(struct wilc *wl, u8 attempt, u32 addr)
drivers/net/wireless/microchip/wilc1000/spi.c
873
struct spi_device *spi = to_spi_device(wl->dev);
drivers/net/wireless/microchip/wilc1000/spi.c
874
struct wilc_spi *spi_priv = wl->bus_data;
drivers/net/wireless/microchip/wilc1000/spi.c
880
wilc_spi_reset(wl);
drivers/net/wireless/microchip/wilc1000/wlan.c
1686
int wilc_load_mac_from_nv(struct wilc *wl)
drivers/net/wireless/microchip/wilc1000/wlan.c
1691
ret = acquire_bus(wl, WILC_BUS_ACQUIRE_AND_WAKEUP);
drivers/net/wireless/microchip/wilc1000/wlan.c
1701
ret = wl->hif_func->hif_read_reg(wl,
drivers/net/wireless/microchip/wilc1000/wlan.c
1708
ret = wl->hif_func->hif_read_reg(wl,
drivers/net/wireless/microchip/wilc1000/wlan.c
1721
wl->nv_mac_address[0] = FIELD_GET(GENMASK(23, 16), reg1);
drivers/net/wireless/microchip/wilc1000/wlan.c
1722
wl->nv_mac_address[1] = FIELD_GET(GENMASK(15, 8), reg1);
drivers/net/wireless/microchip/wilc1000/wlan.c
1723
wl->nv_mac_address[2] = FIELD_GET(GENMASK(7, 0), reg1);
drivers/net/wireless/microchip/wilc1000/wlan.c
1724
wl->nv_mac_address[3] = FIELD_GET(GENMASK(31, 24), reg2);
drivers/net/wireless/microchip/wilc1000/wlan.c
1725
wl->nv_mac_address[4] = FIELD_GET(GENMASK(23, 16), reg2);
drivers/net/wireless/microchip/wilc1000/wlan.c
1726
wl->nv_mac_address[5] = FIELD_GET(GENMASK(15, 8), reg2);
drivers/net/wireless/microchip/wilc1000/wlan.c
1732
rv = release_bus(wl, WILC_BUS_RELEASE_ALLOW_SLEEP);
drivers/net/wireless/microchip/wilc1000/wlan.c
267
static bool is_ac_q_limit(struct wilc *wl, u8 q_num)
drivers/net/wireless/microchip/wilc1000/wlan.c
272
struct wilc_tx_queue_status *q = &wl->tx_q_limit;
drivers/net/wireless/microchip/wilc1000/wlan.c
277
spin_lock_irqsave(&wl->txq_spinlock, flags);
drivers/net/wireless/microchip/wilc1000/wlan.c
306
if (wl->txq[q_num].count <= q_limit)
drivers/net/wireless/microchip/wilc1000/wlan.c
309
spin_unlock_irqrestore(&wl->txq_spinlock, flags);
drivers/net/wireless/microchip/wilc1000/wlan.c
353
static inline int ac_balance(struct wilc *wl, u8 *ratio)
drivers/net/wireless/microchip/wilc1000/wlan.c
361
if (wl->txq[i].fw.count > max_count)
drivers/net/wireless/microchip/wilc1000/wlan.c
362
max_count = wl->txq[i].fw.count;
drivers/net/wireless/microchip/wilc1000/wlan.c
365
ratio[i] = max_count - wl->txq[i].fw.count;
drivers/net/wireless/microchip/wilc1000/wlan.c
370
static inline void ac_update_fw_ac_pkt_info(struct wilc *wl, u32 reg)
drivers/net/wireless/microchip/wilc1000/wlan.c
372
wl->txq[AC_BK_Q].fw.count = FIELD_GET(BK_AC_COUNT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
373
wl->txq[AC_BE_Q].fw.count = FIELD_GET(BE_AC_COUNT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
374
wl->txq[AC_VI_Q].fw.count = FIELD_GET(VI_AC_COUNT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
375
wl->txq[AC_VO_Q].fw.count = FIELD_GET(VO_AC_COUNT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
377
wl->txq[AC_BK_Q].fw.acm = FIELD_GET(BK_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
378
wl->txq[AC_BE_Q].fw.acm = FIELD_GET(BE_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
379
wl->txq[AC_VI_Q].fw.acm = FIELD_GET(VI_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.c
380
wl->txq[AC_VO_Q].fw.acm = FIELD_GET(VO_AC_ACM_STAT_FIELD, reg);
drivers/net/wireless/microchip/wilc1000/wlan.h
453
int wilc_wlan_handle_txq(struct wilc *wl, u32 *txq_count);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
138
static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
142
struct wilc_cfg *cfg = &wl->cfg;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
212
static void wilc_wlan_parse_info_frame(struct wilc *wl, u8 *info)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
223
while (wl->cfg.b[i].id != WID_NIL &&
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
224
wl->cfg.b[i].id != wid)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
227
if (wl->cfg.b[i].id == wid)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
228
wl->cfg.b[i].val = info[3];
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
283
int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer,
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
288
struct wilc_cfg *cfg = &wl->cfg;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
372
int wilc_wlan_cfg_init(struct wilc *wl)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
377
wl->cfg.b = kmemdup(g_cfg_byte, sizeof(g_cfg_byte), GFP_KERNEL);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
378
if (!wl->cfg.b)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
381
wl->cfg.hw = kmemdup(g_cfg_hword, sizeof(g_cfg_hword), GFP_KERNEL);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
382
if (!wl->cfg.hw)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
385
wl->cfg.w = kmemdup(g_cfg_word, sizeof(g_cfg_word), GFP_KERNEL);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
386
if (!wl->cfg.w)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
389
wl->cfg.s = kmemdup(g_cfg_str, sizeof(g_cfg_str), GFP_KERNEL);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
390
if (!wl->cfg.s)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
397
wl->cfg.str_vals = str_vals;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
399
wl->cfg.s[i].id = WID_FIRMWARE_VERSION;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
400
wl->cfg.s[i].str = str_vals->firmware_version;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
401
wl->cfg.s[i].len = sizeof(str_vals->firmware_version);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
403
wl->cfg.s[i].id = WID_MAC_ADDR;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
404
wl->cfg.s[i].str = str_vals->mac_address;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
405
wl->cfg.s[i].len = sizeof(str_vals->mac_address);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
407
wl->cfg.s[i].id = WID_ASSOC_RES_INFO;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
408
wl->cfg.s[i].str = str_vals->assoc_rsp;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
409
wl->cfg.s[i].len = sizeof(str_vals->assoc_rsp);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
411
wl->cfg.s[i].id = WID_NIL;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
412
wl->cfg.s[i].str = NULL;
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
416
kfree(wl->cfg.s);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
418
kfree(wl->cfg.w);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
420
kfree(wl->cfg.hw);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
422
kfree(wl->cfg.b);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
426
void wilc_wlan_cfg_deinit(struct wilc *wl)
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
428
kfree(wl->cfg.b);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
429
kfree(wl->cfg.hw);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
430
kfree(wl->cfg.w);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
431
kfree(wl->cfg.s);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.c
432
kfree(wl->cfg.str_vals);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.h
48
int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer,
drivers/net/wireless/microchip/wilc1000/wlan_cfg.h
52
int wilc_wlan_cfg_init(struct wilc *wl);
drivers/net/wireless/microchip/wilc1000/wlan_cfg.h
53
void wilc_wlan_cfg_deinit(struct wilc *wl);
drivers/net/wireless/realtek/rtw88/coex.c
1018
table_wl = chip->table_sant[table_case].wl;
drivers/net/wireless/realtek/rtw88/coex.c
1021
table_wl = chip->table_nsant[table_case].wl;
drivers/net/wireless/realtek/rtw88/coex.c
1105
chip->table_sant[type].wl);
drivers/net/wireless/realtek/rtw88/coex.c
1111
chip->table_nsant[type].wl);
drivers/net/wireless/realtek/rtw88/coex.c
3609
load_wl_val = chip->table_sant[i].wl;
drivers/net/wireless/realtek/rtw88/coex.c
3612
load_wl_val = chip->table_nsant[i].wl;
drivers/net/wireless/realtek/rtw88/coex.h
308
u32 wl;
drivers/net/wireless/realtek/rtw89/coex.c
10857
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
10872
"[scoreboard]", wl->scbd,
drivers/net/wireless/realtek/rtw89/coex.c
10942
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
10957
"[scoreboard]", wl->scbd,
drivers/net/wireless/realtek/rtw89/coex.c
10973
id_to_polut(wl->bt_polut_type[wl->pta_req_mac]));
drivers/net/wireless/realtek/rtw89/coex.c
11027
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
11042
"[scoreboard]", wl->scbd,
drivers/net/wireless/realtek/rtw89/coex.c
11055
wl->pta_req_mac,
drivers/net/wireless/realtek/rtw89/coex.c
11056
id_to_polut(wl->bt_polut_type[wl->pta_req_mac]));
drivers/net/wireless/realtek/rtw89/coex.c
1108
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
11105
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
11117
if (pcinfo->valid && !wl->status.map.lps && !wl->status.map.rf_off) {
drivers/net/wireless/realtek/rtw89/coex.c
1117
if ((wl->ver_info.fw_coex & 0xffff0000) !=
drivers/net/wireless/realtek/rtw89/coex.c
1119
wl->fw_ver_mismatch = true;
drivers/net/wireless/realtek/rtw89/coex.c
11214
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
1122
wl->fw_ver_mismatch = false;
drivers/net/wireless/realtek/rtw89/coex.c
11226
if (pcinfo->valid && !wl->status.map.lps && !wl->status.map.rf_off) {
drivers/net/wireless/realtek/rtw89/coex.c
11329
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
11340
if (pcinfo->valid && !wl->status.map.lps && !wl->status.map.rf_off) {
drivers/net/wireless/realtek/rtw89/coex.c
11407
wl->status.map.lps, wl->status.map.rf_off);
drivers/net/wireless/realtek/rtw89/coex.c
11450
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
11461
if (pcinfo->valid && !wl->status.map.lps && !wl->status.map.rf_off) {
drivers/net/wireless/realtek/rtw89/coex.c
11528
wl->status.map.lps, wl->status.map.rf_off);
drivers/net/wireless/realtek/rtw89/coex.c
11570
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
11583
if (pcinfo->valid && wl->status.map.lps != BTC_LPS_RF_OFF &&
drivers/net/wireless/realtek/rtw89/coex.c
11584
!wl->status.map.rf_off) {
drivers/net/wireless/realtek/rtw89/coex.c
11628
wl->rfk_info.proc_time);
drivers/net/wireless/realtek/rtw89/coex.c
11642
wl->status.map.lps, wl->status.map.rf_off);
drivers/net/wireless/realtek/rtw89/coex.c
11683
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
11696
if (pcinfo->valid && wl->status.map.lps != BTC_LPS_RF_OFF &&
drivers/net/wireless/realtek/rtw89/coex.c
11697
!wl->status.map.rf_off) {
drivers/net/wireless/realtek/rtw89/coex.c
11741
wl->rfk_info.proc_time);
drivers/net/wireless/realtek/rtw89/coex.c
11755
wl->status.map.lps, wl->status.map.rf_off);
drivers/net/wireless/realtek/rtw89/coex.c
11904
rtwdev->btc.cx.wl.rfk_info.con_rfk = state;
drivers/net/wireless/realtek/rtw89/coex.c
1417
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
1711
wl->ver_info.fw_coex = prpt->v1.wl_fw_coex_ver;
drivers/net/wireless/realtek/rtw89/coex.c
1712
wl->ver_info.fw = prpt->v1.wl_fw_ver;
drivers/net/wireless/realtek/rtw89/coex.c
1719
if (wl->status.map.lps != BTC_LPS_RF_OFF &&
drivers/net/wireless/realtek/rtw89/coex.c
1720
!wl->status.map.rf_off) {
drivers/net/wireless/realtek/rtw89/coex.c
1731
wl->ver_info.fw_coex = le32_to_cpu(prpt->v4.wl_fw_info.cx_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1732
wl->ver_info.fw = le32_to_cpu(prpt->v4.wl_fw_info.fw_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1763
wl->ver_info.fw_coex = le32_to_cpu(prpt->v5.rpt_info.cx_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1764
wl->ver_info.fw = le32_to_cpu(prpt->v5.rpt_info.fw_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1790
wl->ver_info.fw_coex = le32_to_cpu(prpt->v105.rpt_info.cx_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1791
wl->ver_info.fw = le32_to_cpu(prpt->v105.rpt_info.fw_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1817
wl->ver_info.fw_coex = le32_to_cpu(prpt->v7.rpt_info.cx_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1818
wl->ver_info.fw = le32_to_cpu(prpt->v7.rpt_info.fw_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1849
wl->ver_info.fw_coex = le32_to_cpu(prpt->v8.rpt_info.cx_ver);
drivers/net/wireless/realtek/rtw89/coex.c
1850
wl->ver_info.fw = le32_to_cpu(prpt->v8.rpt_info.fw_ver);
drivers/net/wireless/realtek/rtw89/coex.c
2597
struct rtw89_btc_wl_smap *wl_smap = &btc->cx.wl.status.map;
drivers/net/wireless/realtek/rtw89/coex.c
2777
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
2820
dm->trx_info.cn = wl->cn_report;
drivers/net/wireless/realtek/rtw89/coex.c
2821
dm->trx_info.nhm = wl->nhm.pwr;
drivers/net/wireless/realtek/rtw89/coex.c
3028
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
3031
if (wl->rf_para.tx_pwr_freerun == level)
drivers/net/wireless/realtek/rtw89/coex.c
3034
wl->rf_para.tx_pwr_freerun = level;
drivers/net/wireless/realtek/rtw89/coex.c
3060
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
3062
if (wl->rf_para.rx_gain_freerun == level)
drivers/net/wireless/realtek/rtw89/coex.c
3065
wl->rf_para.rx_gain_freerun = level;
drivers/net/wireless/realtek/rtw89/coex.c
3136
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
3139
struct rtw89_btc_wl_smap *wl_smap = &wl->status.map;
drivers/net/wireless/realtek/rtw89/coex.c
3145
link_mode = wl->role_info.link_mode;
drivers/net/wireless/realtek/rtw89/coex.c
3147
if (wl->dbcc_info.real_band[i] == RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/coex.c
3151
link_mode = wl->role_info_v1.link_mode;
drivers/net/wireless/realtek/rtw89/coex.c
3152
dbcc_2g_phy = wl->role_info_v1.dbcc_2g_phy;
drivers/net/wireless/realtek/rtw89/coex.c
3154
link_mode = wl->role_info_v2.link_mode;
drivers/net/wireless/realtek/rtw89/coex.c
3155
dbcc_2g_phy = wl->role_info_v2.dbcc_2g_phy;
drivers/net/wireless/realtek/rtw89/coex.c
3171
wl->status.map.traffic_dir & BIT(RTW89_TFC_UL)) { /* uplink */
drivers/net/wireless/realtek/rtw89/coex.c
3172
if (wl->rssi_level == 4 && bt->rssi_level > 2)
drivers/net/wireless/realtek/rtw89/coex.c
3174
else if (wl->rssi_level == 3 && bt->rssi_level > 3)
drivers/net/wireless/realtek/rtw89/coex.c
3188
if (wl->status.map.traffic_dir & BIT(RTW89_TFC_UL))
drivers/net/wireless/realtek/rtw89/coex.c
3222
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
3226
if (wl->status.map.connecting || wl->status.map._4way ||
drivers/net/wireless/realtek/rtw89/coex.c
3227
wl->status.map.roaming || wl->status.map.dbccing) {
drivers/net/wireless/realtek/rtw89/coex.c
3229
} else if (wl->status.map.scan) { /* wl scan */
drivers/net/wireless/realtek/rtw89/coex.c
3234
} else if (wl->status.map.busy) { /* only busy */
drivers/net/wireless/realtek/rtw89/coex.c
3249
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
3252
struct rtw89_btc_wl_role_info *wl_rinfo = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
3253
struct rtw89_btc_wl_role_info_v1 *wl_rinfo_v1 = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
3254
struct rtw89_btc_wl_role_info_v2 *wl_rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
3255
struct rtw89_btc_wl_role_info_v7 *wl_rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
3256
struct rtw89_btc_wl_role_info_v8 *wl_rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
3265
if (btc->manual_ctrl || wl->status.map.scan)
drivers/net/wireless/realtek/rtw89/coex.c
3287
if (wl->status.map.rf_off || bt->whql_test ||
drivers/net/wireless/realtek/rtw89/coex.c
3391
if (wl->afh_info.en == en &&
drivers/net/wireless/realtek/rtw89/coex.c
3392
wl->afh_info.ch == ch &&
drivers/net/wireless/realtek/rtw89/coex.c
3393
wl->afh_info.bw == bw &&
drivers/net/wireless/realtek/rtw89/coex.c
3401
wl->afh_info.en = en;
drivers/net/wireless/realtek/rtw89/coex.c
3402
wl->afh_info.ch = ch;
drivers/net/wireless/realtek/rtw89/coex.c
3403
wl->afh_info.bw = bw;
drivers/net/wireless/realtek/rtw89/coex.c
3405
_send_fw_cmd(rtwdev, BTFC_SET, SET_BT_WL_CH_INFO, &wl->afh_info, 3);
drivers/net/wireless/realtek/rtw89/coex.c
3417
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
3418
struct rtw89_btc_wl_role_info_v8 *wl_rinfo = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
3419
struct rtw89_btc_wl_afh_info *wl_afh = &wl->afh_info;
drivers/net/wireless/realtek/rtw89/coex.c
3425
if (btc->manual_ctrl || wl->status.map.scan)
drivers/net/wireless/realtek/rtw89/coex.c
3432
if (wl->status.map.rf_off || bt->whql_test ||
drivers/net/wireless/realtek/rtw89/coex.c
3505
if (_send_fw_cmd(rtwdev, BTFC_SET, SET_BT_WL_CH_INFO, &wl->afh_info, 3)) {
drivers/net/wireless/realtek/rtw89/coex.c
3525
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
3527
struct rtw89_btc_wl_role_info *wl_rinfo = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
3528
struct rtw89_btc_wl_role_info_v1 *wl_rinfo_v1 = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
3529
struct rtw89_btc_wl_role_info_v2 *wl_rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
3530
struct rtw89_btc_wl_role_info_v7 *wl_rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
3531
struct rtw89_btc_wl_role_info_v8 *wl_rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
3581
if (!wl->status.map.busy) {/* wl idle -> freerun */
drivers/net/wireless/realtek/rtw89/coex.c
3584
} else if (wl->rssi_level > 1) {/* WL rssi < 50% (-60dBm) */
drivers/net/wireless/realtek/rtw89/coex.c
3587
} else if (wl->status.map.traffic_dir & BIT(RTW89_TFC_UL)) {
drivers/net/wireless/realtek/rtw89/coex.c
3588
if (wl->rssi_level == 0 && bt_linfo->rssi > 31) {
drivers/net/wireless/realtek/rtw89/coex.c
3591
} else if (wl->rssi_level == 1 && bt_linfo->rssi > 36) {
drivers/net/wireless/realtek/rtw89/coex.c
3597
} else if (wl->status.map.traffic_dir & BIT(RTW89_TFC_DL)) {
drivers/net/wireless/realtek/rtw89/coex.c
3692
if (btc->cx.wl.status.map._4way)
drivers/net/wireless/realtek/rtw89/coex.c
3837
if (btc->cx.wl.role_info.role_map.role.ap)
drivers/net/wireless/realtek/rtw89/coex.c
3998
struct rtw89_btc_wl_role_info_v1 *wl_rinfo = &btc->cx.wl.role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
4002
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
4007
if (wl->status.map.lps) {
drivers/net/wireless/realtek/rtw89/coex.c
4019
if (btc->cx.wl.status.map._4way)
drivers/net/wireless/realtek/rtw89/coex.c
4041
if (wl->bg_mode)
drivers/net/wireless/realtek/rtw89/coex.c
4043
else if ((wl->status.map.traffic_dir & BIT(RTW89_TFC_UL)) &&
drivers/net/wireless/realtek/rtw89/coex.c
4447
struct rtw89_btc_wl_info *wl = &rtwdev->btc.cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
4454
plt.band = wl->pta_req_mac;
drivers/net/wireless/realtek/rtw89/coex.c
4455
if (wl->bt_polut_type[plt.band] == tx_val)
drivers/net/wireless/realtek/rtw89/coex.c
4458
wl->bt_polut_type[plt.band] = tx_val;
drivers/net/wireless/realtek/rtw89/coex.c
4481
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
4483
struct rtw89_btc_wl_dbcc_info *wl_dinfo = &wl->dbcc_info;
drivers/net/wireless/realtek/rtw89/coex.c
4491
dbcc_chg = wl->role_info_v1.dbcc_chg;
drivers/net/wireless/realtek/rtw89/coex.c
4493
dbcc_chg = wl->role_info_v2.dbcc_chg;
drivers/net/wireless/realtek/rtw89/coex.c
4495
dbcc_chg = wl->role_info_v7.dbcc_chg;
drivers/net/wireless/realtek/rtw89/coex.c
4497
dbcc_chg = wl->role_info_v8.dbcc_chg;
drivers/net/wireless/realtek/rtw89/coex.c
4514
wl->rfk_info.state != BTC_WRFK_STOP) {
drivers/net/wireless/realtek/rtw89/coex.c
4609
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
4611
struct rtw89_btc_wl_role_info_v8 *wl_rinfo = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
4613
struct rtw89_btc_wl_dbcc_info *wl_dinfo = &wl->dbcc_info;
drivers/net/wireless/realtek/rtw89/coex.c
4636
wl->rfk_info.state != BTC_WRFK_STOP) {
drivers/net/wireless/realtek/rtw89/coex.c
4733
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
4737
if (wl->status.map.rf_off || btc->dm.bt_only) {
drivers/net/wireless/realtek/rtw89/coex.c
4739
} else if (wl->status.map.lps == BTC_LPS_RF_ON) {
drivers/net/wireless/realtek/rtw89/coex.c
4748
} else if (wl->status.map.lps == BTC_LPS_RF_ON) {
drivers/net/wireless/realtek/rtw89/coex.c
4790
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
4800
else if (wl->status.map.traffic_dir & BIT(RTW89_TFC_DL))
drivers/net/wireless/realtek/rtw89/coex.c
4829
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
4834
if (btc->cx.wl.status.map._4way) {
drivers/net/wireless/realtek/rtw89/coex.c
4836
} else if (wl->status.map.traffic_dir & BIT(RTW89_TFC_UL)) {
drivers/net/wireless/realtek/rtw89/coex.c
4843
if (wl->bg_mode)
drivers/net/wireless/realtek/rtw89/coex.c
4845
else if (wl->status.map.traffic_dir & BIT(RTW89_TFC_UL))
drivers/net/wireless/realtek/rtw89/coex.c
4856
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
4864
if (wl->status.map._4way) {
drivers/net/wireless/realtek/rtw89/coex.c
4866
} else if (wl->status.map.traffic_dir & BIT(RTW89_TFC_UL)) {
drivers/net/wireless/realtek/rtw89/coex.c
4881
if (wl->bg_mode)
drivers/net/wireless/realtek/rtw89/coex.c
4883
else if (wl->status.map.traffic_dir & BIT(RTW89_TFC_UL))
drivers/net/wireless/realtek/rtw89/coex.c
4914
if (btc->cx.wl.rfk_info.con_rfk)
drivers/net/wireless/realtek/rtw89/coex.c
4945
if (btc->cx.wl.rfk_info.con_rfk)
drivers/net/wireless/realtek/rtw89/coex.c
5017
if (btc->cx.wl.rfk_info.con_rfk)
drivers/net/wireless/realtek/rtw89/coex.c
5139
struct rtw89_btc_wl_rfk_info rfk = btc->cx.wl.rfk_info;
drivers/net/wireless/realtek/rtw89/coex.c
5162
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5163
struct rtw89_btc_wl_role_info_v1 *wl_rinfo_v1 = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
5164
struct rtw89_btc_wl_role_info_v2 *wl_rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
5165
struct rtw89_btc_wl_role_info_v7 *wl_rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
5166
struct rtw89_btc_wl_role_info_v8 *wl_rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
5168
struct rtw89_btc_wl_role_info *wl_rinfo_v0 = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
5249
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5250
struct rtw89_btc_wl_role_info_v2 *rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
5251
struct rtw89_btc_wl_role_info_v7 *rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
5252
struct rtw89_btc_wl_role_info_v8 *rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
5308
if ((wl->coex_mode == BTC_MODE_NORMAL &&
drivers/net/wireless/realtek/rtw89/coex.c
5362
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
5371
plink = &wl->rlink_info[port][0];
drivers/net/wireless/realtek/rtw89/coex.c
5373
plink = &wl->link_info[port];
drivers/net/wireless/realtek/rtw89/coex.c
5433
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
5438
struct rtw89_btc_wl_role_info *wl_rinfo = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
5439
struct rtw89_btc_wl_role_info_v1 *wl_rinfo_v1 = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
5440
struct rtw89_btc_wl_role_info_v2 *wl_rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
5441
struct rtw89_btc_wl_role_info_v7 *wl_rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
5442
struct rtw89_btc_wl_role_info_v8 *wl_rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
5515
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5516
struct rtw89_btc_wl_role_info *wl_rinfo = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
5517
struct rtw89_btc_wl_role_info_v1 *wl_rinfo_v1 = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
5518
struct rtw89_btc_wl_role_info_v2 *wl_rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
5519
struct rtw89_btc_wl_role_info_v7 *wl_rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
5520
struct rtw89_btc_wl_role_info_v8 *wl_rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
5558
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5562
if (mac == wl->pta_req_mac)
drivers/net/wireless/realtek/rtw89/coex.c
5566
wl->pta_req_mac = mac;
drivers/net/wireless/realtek/rtw89/coex.c
5567
wl->pta_reg_mac_chg = true;
drivers/net/wireless/realtek/rtw89/coex.c
5586
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5587
struct rtw89_btc_wl_role_info_v8 *rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
5588
struct rtw89_btc_wl_smap *wl_smap = &wl->status.map;
drivers/net/wireless/realtek/rtw89/coex.c
5624
if (wl->scbd_change) {
drivers/net/wireless/realtek/rtw89/coex.c
5625
rtw89_mac_cfg_sb(rtwdev, wl->scbd);
drivers/net/wireless/realtek/rtw89/coex.c
5627
wl->scbd);
drivers/net/wireless/realtek/rtw89/coex.c
5628
wl->scbd_change = false;
drivers/net/wireless/realtek/rtw89/coex.c
5642
wl->pta_reg_mac_chg = false;
drivers/net/wireless/realtek/rtw89/coex.c
5741
if (btc->cx.wl.status.map._4way)
drivers/net/wireless/realtek/rtw89/coex.c
5743
else if (btc->cx.wl.status.val & btc_scanning_map.val)
drivers/net/wireless/realtek/rtw89/coex.c
5762
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5763
struct rtw89_btc_wl_dbcc_info *wl_dinfo = &wl->dbcc_info;
drivers/net/wireless/realtek/rtw89/coex.c
5776
if (wl->scan_info.band[RTW89_PHY_0] != RTW89_BAND_2G)
drivers/net/wireless/realtek/rtw89/coex.c
5821
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5824
struct rtw89_btc_wl_role_info_v1 *wl_rinfo = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
5852
if (wl->status.map._4way) {
drivers/net/wireless/realtek/rtw89/coex.c
5883
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5886
struct rtw89_btc_wl_role_info_v2 *rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
5887
struct rtw89_btc_wl_role_info_v7 *rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
5925
if (wl->status.map._4way) {
drivers/net/wireless/realtek/rtw89/coex.c
5956
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
5962
if (wl->status.map._4way)
drivers/net/wireless/realtek/rtw89/coex.c
6065
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
6072
scbd_val = state ? wl->scbd | val : wl->scbd & ~val;
drivers/net/wireless/realtek/rtw89/coex.c
6077
if (scbd_val != wl->scbd || force_exec) {
drivers/net/wireless/realtek/rtw89/coex.c
6078
wl->scbd = scbd_val;
drivers/net/wireless/realtek/rtw89/coex.c
6079
wl->scbd_change = true;
drivers/net/wireless/realtek/rtw89/coex.c
6110
btc->cx.wl.dbcc_info.real_band[phy_idx] =
drivers/net/wireless/realtek/rtw89/coex.c
6111
btc->cx.wl.scan_info.phy_map & BIT(phy_idx) ?
drivers/net/wireless/realtek/rtw89/coex.c
6112
btc->cx.wl.dbcc_info.scan_band[phy_idx] :
drivers/net/wireless/realtek/rtw89/coex.c
6113
btc->cx.wl.dbcc_info.op_band[phy_idx];
drivers/net/wireless/realtek/rtw89/coex.c
6119
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
6120
struct rtw89_btc_wl_link_info *wl_linfo = wl->link_info;
drivers/net/wireless/realtek/rtw89/coex.c
6121
struct rtw89_btc_wl_role_info *wl_rinfo = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
6122
struct rtw89_btc_wl_dbcc_info *wl_dinfo = &wl->dbcc_info;
drivers/net/wireless/realtek/rtw89/coex.c
6143
wl->port_id[wl_linfo[i].role] = wl_linfo[i].pid;
drivers/net/wireless/realtek/rtw89/coex.c
6270
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
6271
struct rtw89_btc_wl_link_info *wl_linfo = wl->link_info;
drivers/net/wireless/realtek/rtw89/coex.c
6272
struct rtw89_btc_wl_role_info_v1 *wl_rinfo = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
6273
struct rtw89_btc_wl_dbcc_info *wl_dinfo = &wl->dbcc_info;
drivers/net/wireless/realtek/rtw89/coex.c
6294
wl->port_id[wl_linfo[i].role] = wl_linfo[i].pid;
drivers/net/wireless/realtek/rtw89/coex.c
6420
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
6421
struct rtw89_btc_wl_link_info *wl_linfo = wl->link_info;
drivers/net/wireless/realtek/rtw89/coex.c
6422
struct rtw89_btc_wl_role_info_v2 *wl_rinfo = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
6423
struct rtw89_btc_wl_dbcc_info *wl_dinfo = &wl->dbcc_info;
drivers/net/wireless/realtek/rtw89/coex.c
6444
wl->port_id[wl_linfo[i].role] = wl_linfo[i].pid;
drivers/net/wireless/realtek/rtw89/coex.c
6602
struct rtw89_btc_wl_info *wl = &rtwdev->btc.cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
6603
struct rtw89_btc_wl_role_info_v7 *rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
6604
struct rtw89_btc_wl_role_info_v8 *rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
6667
struct rtw89_btc_wl_role_info_v8 *rinfo_v8 = &rtwdev->btc.cx.wl.role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
6668
struct rtw89_btc_wl_role_info_v7 *rinfo_v7 = &rtwdev->btc.cx.wl.role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
6739
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
6740
struct rtw89_btc_wl_role_info_v7 *wl_rinfo = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
6741
struct rtw89_btc_wl_dbcc_info *wl_dinfo = &wl->dbcc_info;
drivers/net/wireless/realtek/rtw89/coex.c
6742
struct rtw89_btc_wl_link_info *wl_linfo = wl->link_info;
drivers/net/wireless/realtek/rtw89/coex.c
6819
wl->bg_mode = 1;
drivers/net/wireless/realtek/rtw89/coex.c
6821
wl->he_mode = true;
drivers/net/wireless/realtek/rtw89/coex.c
6828
wl->is_5g_hi_channel = 1;
drivers/net/wireless/realtek/rtw89/coex.c
6830
wl->is_5g_hi_channel = 0;
drivers/net/wireless/realtek/rtw89/coex.c
6834
wl->client_cnt_inc_2g = client_inc_2g;
drivers/net/wireless/realtek/rtw89/coex.c
6893
struct rtw89_btc_wl_info *wl = &rtwdev->btc.cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
6894
struct rtw89_btc_wl_mlo_info *mlo_info = &wl->mlo_info;
drivers/net/wireless/realtek/rtw89/coex.c
6908
if (wl->role_info_v8.p2p_2g)
drivers/net/wireless/realtek/rtw89/coex.c
6930
else if (wl->role_info_v8.p2p_2g)
drivers/net/wireless/realtek/rtw89/coex.c
6949
if (wl->role_info_v8.p2p_2g)
drivers/net/wireless/realtek/rtw89/coex.c
6961
struct rtw89_btc_wl_info *wl = &rtwdev->btc.cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
6962
struct rtw89_btc_wl_role_info_v8 *wl_rinfo = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
6963
struct rtw89_btc_wl_mlo_info *mlo_info = &wl->mlo_info;
drivers/net/wireless/realtek/rtw89/coex.c
7093
struct rtw89_btc_wl_info *wl = &rtwdev->btc.cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7095
struct rtw89_btc_wl_role_info_v8 *wl_rinfo = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
7116
cid_ch[cnt] = wl->rlink_info[i][j].chdef;
drivers/net/wireless/realtek/rtw89/coex.c
7160
struct rtw89_btc_wl_info *wl = &rtwdev->btc.cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7161
struct rtw89_btc_wl_role_info_v8 *wl_rinfo = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
7162
u8 go_cleint_exist = wl->go_client_exist;
drivers/net/wireless/realtek/rtw89/coex.c
7165
u8 noa_exist = wl->noa_exist;
drivers/net/wireless/realtek/rtw89/coex.c
7213
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7214
struct rtw89_btc_wl_role_info_v8 *wl_rinfo = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
7229
wl_linfo = &wl->rlink_info[role_id][rlink_id];
drivers/net/wireless/realtek/rtw89/coex.c
7295
wl->is_5g_hi_channel = is_5g_hi_channel;
drivers/net/wireless/realtek/rtw89/coex.c
7296
wl->bg_mode = bg_mode;
drivers/net/wireless/realtek/rtw89/coex.c
7297
wl->go_client_exist = client_joined;
drivers/net/wireless/realtek/rtw89/coex.c
7298
wl->noa_exist = noa_exist;
drivers/net/wireless/realtek/rtw89/coex.c
7315
wl->link_mode_chg = true;
drivers/net/wireless/realtek/rtw89/coex.c
7318
wl->dbcc_chg = true;
drivers/net/wireless/realtek/rtw89/coex.c
7330
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
7336
if (wl->status.map._4way)
drivers/net/wireless/realtek/rtw89/coex.c
7337
wl->status.map._4way = false;
drivers/net/wireless/realtek/rtw89/coex.c
7338
if (wl->status.map.connecting)
drivers/net/wireless/realtek/rtw89/coex.c
7339
wl->status.map.connecting = false;
drivers/net/wireless/realtek/rtw89/coex.c
7367
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
7373
if (wl->rfk_info.state != BTC_WRFK_STOP) {
drivers/net/wireless/realtek/rtw89/coex.c
7378
wl->rfk_info.state = BTC_WRFK_STOP;
drivers/net/wireless/realtek/rtw89/coex.c
7497
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7499
struct rtw89_btc_wl_role_info *wl_rinfo = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
7500
struct rtw89_btc_wl_role_info_v1 *wl_rinfo_v1 = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
7501
struct rtw89_btc_wl_role_info_v2 *wl_rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
7502
struct rtw89_btc_wl_role_info_v7 *wl_rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
7503
struct rtw89_btc_wl_role_info_v8 *wl_rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
7555
if (!wl->status.map.init_ok) {
drivers/net/wireless/realtek/rtw89/coex.c
7562
if (wl->status.map.rf_off_pre == wl->status.map.rf_off &&
drivers/net/wireless/realtek/rtw89/coex.c
7563
wl->status.map.lps_pre == wl->status.map.lps) {
drivers/net/wireless/realtek/rtw89/coex.c
7571
if (wl->status.map.rf_off == 1 ||
drivers/net/wireless/realtek/rtw89/coex.c
7572
wl->status.map.lps == BTC_LPS_RF_OFF) {
drivers/net/wireless/realtek/rtw89/coex.c
7600
if (wl->status.map.rf_off || wl->status.map.lps || dm->bt_only) {
drivers/net/wireless/realtek/rtw89/coex.c
7621
if (wl->rfk_info.state != BTC_WRFK_STOP) {
drivers/net/wireless/realtek/rtw89/coex.c
7626
if (wl->status.val & btc_scanning_map.val && !wl->rfk_info.con_rfk) {
drivers/net/wireless/realtek/rtw89/coex.c
7637
if (wl->status.map.traffic_dir & BIT(RTW89_TFC_DL))
drivers/net/wireless/realtek/rtw89/coex.c
7703
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7708
btc->cx.wl.status.map.rf_off = 1;
drivers/net/wireless/realtek/rtw89/coex.c
7709
btc->cx.wl.status.map.busy = 0;
drivers/net/wireless/realtek/rtw89/coex.c
7710
wl->status.map.lps = BTC_LPS_OFF;
drivers/net/wireless/realtek/rtw89/coex.c
7717
btc->cx.wl.status.map.rf_off_pre = btc->cx.wl.status.map.rf_off;
drivers/net/wireless/realtek/rtw89/coex.c
7726
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7731
dm->init_info.init_v7.wl_init_ok = (u8)wl->status.map.init_ok;
drivers/net/wireless/realtek/rtw89/coex.c
7738
dm->init_info.init.wl_init_ok = (u8)wl->status.map.init_ok;
drivers/net/wireless/realtek/rtw89/coex.c
7750
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7765
wl->coex_mode = mode;
drivers/net/wireless/realtek/rtw89/coex.c
7769
wl->status.map.rf_off = mode == BTC_MODE_WLOFF ? 1 : 0;
drivers/net/wireless/realtek/rtw89/coex.c
7774
if (!wl->status.map.init_ok) {
drivers/net/wireless/realtek/rtw89/coex.c
7805
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7815
wl->status.map.scan = true;
drivers/net/wireless/realtek/rtw89/coex.c
7816
wl->scan_info.band[phy_idx] = band;
drivers/net/wireless/realtek/rtw89/coex.c
7817
wl->scan_info.phy_map |= BIT(phy_idx);
drivers/net/wireless/realtek/rtw89/coex.c
7821
wl->dbcc_info.scan_band[phy_idx] = band;
drivers/net/wireless/realtek/rtw89/coex.c
7832
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7838
wl->status.map.scan = false;
drivers/net/wireless/realtek/rtw89/coex.c
7839
wl->scan_info.phy_map &= ~BIT(phy_idx);
drivers/net/wireless/realtek/rtw89/coex.c
7855
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
7867
wl->dbcc_info.scan_band[phy_idx] = band;
drivers/net/wireless/realtek/rtw89/coex.c
7879
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
7892
wl->status.map.connecting = true;
drivers/net/wireless/realtek/rtw89/coex.c
7899
wl->status.map._4way = true;
drivers/net/wireless/realtek/rtw89/coex.c
7909
wl->status.map._4way = false;
drivers/net/wireless/realtek/rtw89/coex.c
8014
u8 mode = rtwdev->btc.cx.wl.role_info.link_mode;
drivers/net/wireless/realtek/rtw89/coex.c
8120
if (bt->igno_wl && !cx->wl.status.map.rf_off)
drivers/net/wireless/realtek/rtw89/coex.c
8177
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
8251
wlinfo = &wl->link_info[r.pid];
drivers/net/wireless/realtek/rtw89/coex.c
8267
wlinfo = &wl->rlink_info[r.pid][rlink_id];
drivers/net/wireless/realtek/rtw89/coex.c
8269
link_mode_ori = wl->role_info_v8.link_mode;
drivers/net/wireless/realtek/rtw89/coex.c
8270
pta_req_mac_ori = wl->pta_req_mac;
drivers/net/wireless/realtek/rtw89/coex.c
8273
if (wl->role_info_v8.link_mode != link_mode_ori) {
drivers/net/wireless/realtek/rtw89/coex.c
8274
wl->role_info_v8.link_mode_chg = 1;
drivers/net/wireless/realtek/rtw89/coex.c
8284
if (wl->pta_req_mac != pta_req_mac_ori)
drivers/net/wireless/realtek/rtw89/coex.c
8285
wl->pta_reg_mac_chg = 1;
drivers/net/wireless/realtek/rtw89/coex.c
8293
wl->status.map.connecting = 1;
drivers/net/wireless/realtek/rtw89/coex.c
8295
wl->status.map.connecting = 0;
drivers/net/wireless/realtek/rtw89/coex.c
8299
wl->status.map._4way = false;
drivers/net/wireless/realtek/rtw89/coex.c
8308
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
8317
wl->status.map.rf_off = 1;
drivers/net/wireless/realtek/rtw89/coex.c
8318
wl->status.map.lps = BTC_LPS_OFF;
drivers/net/wireless/realtek/rtw89/coex.c
8319
wl->status.map.busy = 0;
drivers/net/wireless/realtek/rtw89/coex.c
8322
wl->status.map.rf_off = 0;
drivers/net/wireless/realtek/rtw89/coex.c
8323
wl->status.map.lps = BTC_LPS_RF_OFF;
drivers/net/wireless/realtek/rtw89/coex.c
8324
wl->status.map.busy = 0;
drivers/net/wireless/realtek/rtw89/coex.c
8327
wl->status.map.rf_off = 0;
drivers/net/wireless/realtek/rtw89/coex.c
8328
wl->status.map.lps = BTC_LPS_RF_ON;
drivers/net/wireless/realtek/rtw89/coex.c
8329
wl->status.map.busy = 0;
drivers/net/wireless/realtek/rtw89/coex.c
8333
wl->status.map.rf_off = 0;
drivers/net/wireless/realtek/rtw89/coex.c
8334
wl->status.map.lps = BTC_LPS_OFF;
drivers/net/wireless/realtek/rtw89/coex.c
8354
wl->status.map.lps_pre != BTC_LPS_OFF)
drivers/net/wireless/realtek/rtw89/coex.c
8362
wl->status.map.rf_off_pre = wl->status.map.rf_off;
drivers/net/wireless/realtek/rtw89/coex.c
8363
wl->status.map.lps_pre = wl->status.map.lps;
drivers/net/wireless/realtek/rtw89/coex.c
8372
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
8375
wl->rfk_info.type = type;
drivers/net/wireless/realtek/rtw89/coex.c
8376
wl->rfk_info.path_map = FIELD_GET(BTC_RFK_PATH_MAP, phy_path);
drivers/net/wireless/realtek/rtw89/coex.c
8377
wl->rfk_info.phy_map = FIELD_GET(BTC_RFK_PHY_MAP, phy_path);
drivers/net/wireless/realtek/rtw89/coex.c
8378
wl->rfk_info.band = FIELD_GET(BTC_RFK_BAND_MAP, phy_path);
drivers/net/wireless/realtek/rtw89/coex.c
8382
__func__, wl->rfk_info.phy_map, wl->rfk_info.path_map,
drivers/net/wireless/realtek/rtw89/coex.c
8388
wl->rfk_info.state = result ? BTC_WRFK_START : BTC_WRFK_STOP;
drivers/net/wireless/realtek/rtw89/coex.c
8396
if (wl->rfk_info.state == BTC_WRFK_STOP) {
drivers/net/wireless/realtek/rtw89/coex.c
8400
wl->rfk_info.state = state;
drivers/net/wireless/realtek/rtw89/coex.c
8405
wl->rfk_info.state = BTC_WRFK_STOP;
drivers/net/wireless/realtek/rtw89/coex.c
8417
if (wl->rfk_info.state == BTC_WRFK_START ||
drivers/net/wireless/realtek/rtw89/coex.c
8418
wl->rfk_info.state == BTC_WRFK_STOP)
drivers/net/wireless/realtek/rtw89/coex.c
8421
if (wl->rfk_info.state == BTC_WRFK_START)
drivers/net/wireless/realtek/rtw89/coex.c
8491
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
8512
link_info = &wl->link_info[port];
drivers/net/wireless/realtek/rtw89/coex.c
8514
link_info = &wl->rlink_info[port][rtwvif_link->mac_idx];
drivers/net/wireless/realtek/rtw89/coex.c
8554
link_info = &wl->link_info[port];
drivers/net/wireless/realtek/rtw89/coex.c
8585
r = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
8591
r1 = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
8640
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
8648
wl->rssi_level = 0;
drivers/net/wireless/realtek/rtw89/coex.c
8653
wl->rssi_level = i;
drivers/net/wireless/realtek/rtw89/coex.c
8658
if (dm->trx_info.wl_rssi != wl->rssi_level)
drivers/net/wireless/realtek/rtw89/coex.c
8659
dm->trx_info.wl_rssi = wl->rssi_level;
drivers/net/wireless/realtek/rtw89/coex.c
8662
__func__, !!wl->status.map.busy);
drivers/net/wireless/realtek/rtw89/coex.c
8664
_write_scbd(rtwdev, BTC_WSCB_WLBUSY, (!!wl->status.map.busy));
drivers/net/wireless/realtek/rtw89/coex.c
8669
wl->status.map.busy = data.busy_all;
drivers/net/wireless/realtek/rtw89/coex.c
8670
wl->status.map.traffic_dir = data.dir_all;
drivers/net/wireless/realtek/rtw89/coex.c
8812
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
883
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
8832
ver_main = FIELD_GET(GENMASK(31, 24), wl->ver_info.fw_coex);
drivers/net/wireless/realtek/rtw89/coex.c
8833
ver_sub = FIELD_GET(GENMASK(23, 16), wl->ver_info.fw_coex);
drivers/net/wireless/realtek/rtw89/coex.c
8834
ver_hotfix = FIELD_GET(GENMASK(15, 8), wl->ver_info.fw_coex);
drivers/net/wireless/realtek/rtw89/coex.c
8835
id_branch = FIELD_GET(GENMASK(7, 0), wl->ver_info.fw_coex);
drivers/net/wireless/realtek/rtw89/coex.c
8843
(wl->ver_info.fw_coex >= chip->wlcx_desired ?
drivers/net/wireless/realtek/rtw89/coex.c
8856
ver_main = FIELD_GET(GENMASK(31, 24), wl->ver_info.fw);
drivers/net/wireless/realtek/rtw89/coex.c
8857
ver_sub = FIELD_GET(GENMASK(23, 16), wl->ver_info.fw);
drivers/net/wireless/realtek/rtw89/coex.c
8858
ver_hotfix = FIELD_GET(GENMASK(15, 8), wl->ver_info.fw);
drivers/net/wireless/realtek/rtw89/coex.c
8859
id_branch = FIELD_GET(GENMASK(7, 0), wl->ver_info.fw);
drivers/net/wireless/realtek/rtw89/coex.c
8905
plink = &btc->cx.wl.rlink_info[i][j];
drivers/net/wireless/realtek/rtw89/coex.c
8907
plink = &btc->cx.wl.link_info[i];
drivers/net/wireless/realtek/rtw89/coex.c
891
} else if (!wl->status.map.init_ok) {
drivers/net/wireless/realtek/rtw89/coex.c
8952
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
8953
struct rtw89_btc_wl_role_info *wl_rinfo = &wl->role_info;
drivers/net/wireless/realtek/rtw89/coex.c
8954
struct rtw89_btc_wl_role_info_v1 *wl_rinfo_v1 = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/coex.c
8955
struct rtw89_btc_wl_role_info_v2 *wl_rinfo_v2 = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/coex.c
8956
struct rtw89_btc_wl_role_info_v7 *wl_rinfo_v7 = &wl->role_info_v7;
drivers/net/wireless/realtek/rtw89/coex.c
8957
struct rtw89_btc_wl_role_info_v8 *wl_rinfo_v8 = &wl->role_info_v8;
drivers/net/wireless/realtek/rtw89/coex.c
896
} else if ((wl->status.map.rf_off_pre == BTC_LPS_RF_OFF &&
drivers/net/wireless/realtek/rtw89/coex.c
897
wl->status.map.rf_off == BTC_LPS_RF_OFF) ||
drivers/net/wireless/realtek/rtw89/coex.c
898
(wl->status.map.lps_pre == BTC_LPS_RF_OFF &&
drivers/net/wireless/realtek/rtw89/coex.c
8984
wl->status.map.rf_off, wl->status.map.lps,
drivers/net/wireless/realtek/rtw89/coex.c
8985
wl->status.map.scan ? "Y" : "N",
drivers/net/wireless/realtek/rtw89/coex.c
8986
wl->scan_info.band[RTW89_PHY_0], wl->scan_info.phy_map);
drivers/net/wireless/realtek/rtw89/coex.c
899
wl->status.map.lps == BTC_LPS_RF_OFF)) {
drivers/net/wireless/realtek/rtw89/coex.c
8990
wl->status.map.connecting ? "Y" : "N",
drivers/net/wireless/realtek/rtw89/coex.c
8991
wl->status.map.roaming ? "Y" : "N",
drivers/net/wireless/realtek/rtw89/coex.c
8992
wl->status.map._4way ? "Y" : "N",
drivers/net/wireless/realtek/rtw89/coex.c
8993
wl->status.map.init_ok ? "Y" : "N");
drivers/net/wireless/realtek/rtw89/coex.c
9069
struct rtw89_btc_wl_info *wl = &cx->wl;
drivers/net/wireless/realtek/rtw89/coex.c
9070
u32 ver_main = FIELD_GET(GENMASK(31, 24), wl->ver_info.fw_coex);
drivers/net/wireless/realtek/rtw89/coex.c
9143
wl->afh_info.en, wl->afh_info.ch, wl->afh_info.bw);
drivers/net/wireless/realtek/rtw89/coex.c
924
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
951
wl_linfo = &wl->rlink_info[i][0];
drivers/net/wireless/realtek/rtw89/coex.c
953
wl_linfo = &wl->link_info[i];
drivers/net/wireless/realtek/rtw89/coex.c
9590
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/coex.c
9609
id_to_mode(wl->coex_mode),
drivers/net/wireless/realtek/rtw89/coex.c
9633
"[trx_ctrl]", wl->rssi_level,
drivers/net/wireless/realtek/rtw89/coex.c
9639
"[trx_ctrl]", wl->rssi_level,
drivers/net/wireless/realtek/rtw89/core.h
2200
struct rtw89_btc_wl_info wl;
drivers/net/wireless/realtek/rtw89/core.h
3854
int (*cfg_ctrl_path)(struct rtw89_dev *rtwdev, bool wl);
drivers/net/wireless/realtek/rtw89/core.h
7456
static inline void rtw89_chip_cfg_ctrl_path(struct rtw89_dev *rtwdev, bool wl)
drivers/net/wireless/realtek/rtw89/core.h
7460
chip->ops->cfg_ctrl_path(rtwdev, wl);
drivers/net/wireless/realtek/rtw89/fw.c
5676
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/fw.c
5677
struct rtw89_btc_wl_role_info *role_info = &wl->role_info;
drivers/net/wireless/realtek/rtw89/fw.c
5757
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/fw.c
5758
struct rtw89_btc_wl_role_info_v1 *role_info = &wl->role_info_v1;
drivers/net/wireless/realtek/rtw89/fw.c
5847
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/fw.c
5848
struct rtw89_btc_wl_role_info_v2 *role_info = &wl->role_info_v2;
drivers/net/wireless/realtek/rtw89/fw.c
5929
struct rtw89_btc_wl_role_info_v7 *role = &btc->cx.wl.role_info_v7;
drivers/net/wireless/realtek/rtw89/fw.c
5975
struct rtw89_btc_wl_role_info_v8 *role = &btc->cx.wl.role_info_v8;
drivers/net/wireless/realtek/rtw89/fw.c
6199
struct rtw89_btc_wl_info *wl = &btc->cx.wl;
drivers/net/wireless/realtek/rtw89/fw.c
6200
struct rtw89_btc_wl_rfk_info *rfk_info = &wl->rfk_info;
drivers/net/wireless/realtek/rtw89/mac.c
6497
int rtw89_mac_cfg_ctrl_path(struct rtw89_dev *rtwdev, bool wl)
drivers/net/wireless/realtek/rtw89/mac.c
6501
val = wl ? val | BIT(2) : val & ~BIT(2);
drivers/net/wireless/realtek/rtw89/mac.c
6508
int rtw89_mac_cfg_ctrl_path_v1(struct rtw89_dev *rtwdev, bool wl)
drivers/net/wireless/realtek/rtw89/mac.c
6515
if (wl)
drivers/net/wireless/realtek/rtw89/mac.h
1451
int rtw89_mac_cfg_ctrl_path(struct rtw89_dev *rtwdev, bool wl);
drivers/net/wireless/realtek/rtw89/mac.h
1452
int rtw89_mac_cfg_ctrl_path_v1(struct rtw89_dev *rtwdev, bool wl);
drivers/net/wireless/realtek/rtw89/mac.h
1453
int rtw89_mac_cfg_ctrl_path_v2(struct rtw89_dev *rtwdev, bool wl);
drivers/net/wireless/realtek/rtw89/mac_be.c
2398
int rtw89_mac_cfg_ctrl_path_v2(struct rtw89_dev *rtwdev, bool wl)
drivers/net/wireless/realtek/rtw89/mac_be.c
2407
if (wl)
drivers/net/wireless/realtek/rtw89/rtw8851b.c
2233
btc->cx.wl.status.map.init_ok = true;
drivers/net/wireless/realtek/rtw89/rtw8852a.c
1900
btc->cx.wl.status.map.init_ok = true;
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c
1841
btc->cx.wl.status.map.init_ok = true;
drivers/net/wireless/realtek/rtw89/rtw8852c.c
2706
btc->cx.wl.status.map.init_ok = true;
drivers/net/wireless/realtek/rtw89/rtw8922a.c
2598
btc->cx.wl.status.map.init_ok = true;
drivers/net/wireless/ti/wl1251/acx.c
1003
ret = wl1251_cmd_configure(wl, ACX_TID_CFG, acx, sizeof(*acx));
drivers/net/wireless/ti/wl1251/acx.c
105
ret = wl1251_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS,
drivers/net/wireless/ti/wl1251/acx.c
117
int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth)
drivers/net/wireless/ti/wl1251/acx.c
13
int wl1251_acx_frame_rates(struct wl1251 *wl, u8 ctrl_rate, u8 ctrl_mod,
drivers/net/wireless/ti/wl1251/acx.c
130
ret = wl1251_cmd_configure(wl, ACX_SLEEP_AUTH, auth, sizeof(*auth));
drivers/net/wireless/ti/wl1251/acx.c
136
int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len)
drivers/net/wireless/ti/wl1251/acx.c
147
ret = wl1251_cmd_interrogate(wl, ACX_FW_REV, rev, sizeof(*rev));
drivers/net/wireless/ti/wl1251/acx.c
160
int wl1251_acx_tx_power(struct wl1251 *wl, int power)
drivers/net/wireless/ti/wl1251/acx.c
176
ret = wl1251_cmd_configure(wl, DOT11_CUR_TX_PWR, acx, sizeof(*acx));
drivers/net/wireless/ti/wl1251/acx.c
187
int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options)
drivers/net/wireless/ti/wl1251/acx.c
202
ret = wl1251_cmd_configure(wl, ACX_FEATURE_CFG,
drivers/net/wireless/ti/wl1251/acx.c
214
int wl1251_acx_mem_map(struct wl1251 *wl, struct acx_header *mem_map,
drivers/net/wireless/ti/wl1251/acx.c
221
ret = wl1251_cmd_interrogate(wl, ACX_MEM_MAP, mem_map, len);
drivers/net/wireless/ti/wl1251/acx.c
228
int wl1251_acx_data_path_params(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/acx.c
252
ret = wl1251_cmd_configure(wl, ACX_DATA_PATH_PARAMS,
drivers/net/wireless/ti/wl1251/acx.c
258
ret = wl1251_cmd_interrogate(wl, ACX_DATA_PATH_PARAMS,
drivers/net/wireless/ti/wl1251/acx.c
275
int wl1251_acx_rx_msdu_life_time(struct wl1251 *wl, u32 life_time)
drivers/net/wireless/ti/wl1251/acx.c
287
ret = wl1251_cmd_configure(wl, DOT11_RX_MSDU_LIFE_TIME,
drivers/net/wireless/ti/wl1251/acx.c
299
int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter)
drivers/net/wireless/ti/wl1251/acx.c
30
ret = wl1251_cmd_configure(wl, ACX_FW_GEN_FRAME_RATES,
drivers/net/wireless/ti/wl1251/acx.c
313
ret = wl1251_cmd_configure(wl, ACX_RX_CFG,
drivers/net/wireless/ti/wl1251/acx.c
325
int wl1251_acx_pd_threshold(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
338
ret = wl1251_cmd_configure(wl, ACX_PD_THRESHOLD, pd, sizeof(*pd));
drivers/net/wireless/ti/wl1251/acx.c
349
int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time)
drivers/net/wireless/ti/wl1251/acx.c
363
ret = wl1251_cmd_configure(wl, ACX_SLOT, slot, sizeof(*slot));
drivers/net/wireless/ti/wl1251/acx.c
374
int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable,
drivers/net/wireless/ti/wl1251/acx.c
391
ret = wl1251_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL,
drivers/net/wireless/ti/wl1251/acx.c
403
int wl1251_acx_service_period_timeout(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
417
ret = wl1251_cmd_configure(wl, ACX_SERVICE_PERIOD_TIMEOUT,
drivers/net/wireless/ti/wl1251/acx.c
43
int wl1251_acx_station_id(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
430
int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold)
drivers/net/wireless/ti/wl1251/acx.c
443
ret = wl1251_cmd_configure(wl, DOT11_RTS_THRESHOLD, rts, sizeof(*rts));
drivers/net/wireless/ti/wl1251/acx.c
454
int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter)
drivers/net/wireless/ti/wl1251/acx.c
468
ret = wl1251_cmd_configure(wl, ACX_BEACON_FILTER_OPT,
drivers/net/wireless/ti/wl1251/acx.c
480
int wl1251_acx_beacon_filter_table(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
497
ret = wl1251_cmd_configure(wl, ACX_BEACON_FILTER_TABLE,
drivers/net/wireless/ti/wl1251/acx.c
509
int wl1251_acx_conn_monit_params(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
523
ret = wl1251_cmd_configure(wl, ACX_CONN_MONIT_PARAMS,
drivers/net/wireless/ti/wl1251/acx.c
536
int wl1251_acx_sg_enable(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
549
ret = wl1251_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta));
drivers/net/wireless/ti/wl1251/acx.c
55
mac->mac[i] = wl->mac_addr[ETH_ALEN - 1 - i];
drivers/net/wireless/ti/wl1251/acx.c
560
int wl1251_acx_sg_cfg(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
57
ret = wl1251_cmd_configure(wl, DOT11_STATION_ID, mac, sizeof(*mac));
drivers/net/wireless/ti/wl1251/acx.c
601
ret = wl1251_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
drivers/net/wireless/ti/wl1251/acx.c
612
int wl1251_acx_cca_threshold(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
626
ret = wl1251_cmd_configure(wl, ACX_CCA_THRESHOLD,
drivers/net/wireless/ti/wl1251/acx.c
63
int wl1251_acx_default_key(struct wl1251 *wl, u8 key_id)
drivers/net/wireless/ti/wl1251/acx.c
635
int wl1251_acx_bcn_dtim_options(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
651
ret = wl1251_cmd_configure(wl, ACX_BCN_DTIM_OPTIONS, bb, sizeof(*bb));
drivers/net/wireless/ti/wl1251/acx.c
662
int wl1251_acx_aid(struct wl1251 *wl, u16 aid)
drivers/net/wireless/ti/wl1251/acx.c
675
ret = wl1251_cmd_configure(wl, ACX_AID, acx_aid, sizeof(*acx_aid));
drivers/net/wireless/ti/wl1251/acx.c
686
int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask)
drivers/net/wireless/ti/wl1251/acx.c
702
ret = wl1251_cmd_configure(wl, ACX_EVENT_MBOX_MASK,
drivers/net/wireless/ti/wl1251/acx.c
714
int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight,
drivers/net/wireless/ti/wl1251/acx.c
731
ret = wl1251_cmd_configure(wl, ACX_LOW_RSSI, rssi, sizeof(*rssi));
drivers/net/wireless/ti/wl1251/acx.c
739
int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble)
drivers/net/wireless/ti/wl1251/acx.c
752
ret = wl1251_cmd_configure(wl, ACX_PREAMBLE_TYPE, acx, sizeof(*acx));
drivers/net/wireless/ti/wl1251/acx.c
76
ret = wl1251_cmd_configure(wl, DOT11_DEFAULT_KEY,
drivers/net/wireless/ti/wl1251/acx.c
763
int wl1251_acx_cts_protect(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/acx.c
777
ret = wl1251_cmd_configure(wl, ACX_CTS_PROTECTION, acx, sizeof(*acx));
drivers/net/wireless/ti/wl1251/acx.c
788
int wl1251_acx_tsf_info(struct wl1251 *wl, u64 *mactime)
drivers/net/wireless/ti/wl1251/acx.c
797
ret = wl1251_cmd_interrogate(wl, ACX_TSF_INFO,
drivers/net/wireless/ti/wl1251/acx.c
812
int wl1251_acx_statistics(struct wl1251 *wl, struct acx_statistics *stats)
drivers/net/wireless/ti/wl1251/acx.c
818
ret = wl1251_cmd_interrogate(wl, ACX_STATISTICS, stats,
drivers/net/wireless/ti/wl1251/acx.c
828
int wl1251_acx_mem_cfg(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/acx.c
83
wl->default_key = key_id;
drivers/net/wireless/ti/wl1251/acx.c
861
ret = wl1251_cmd_configure(wl, ACX_MEM_CFG, mem_conf,
drivers/net/wireless/ti/wl1251/acx.c
873
int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim)
drivers/net/wireless/ti/wl1251/acx.c
887
ret = wl1251_cmd_configure(wl, ACX_WR_TBTT_AND_DTIM,
drivers/net/wireless/ti/wl1251/acx.c
899
int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode,
drivers/net/wireless/ti/wl1251/acx.c
90
int wl1251_acx_wake_up_conditions(struct wl1251 *wl, u8 wake_up_event,
drivers/net/wireless/ti/wl1251/acx.c
914
ret = wl1251_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx));
drivers/net/wireless/ti/wl1251/acx.c
925
int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address)
drivers/net/wireless/ti/wl1251/acx.c
942
ret = wl1251_cmd_configure(wl, ACX_ARP_IP_FILTER,
drivers/net/wireless/ti/wl1251/acx.c
951
int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max,
drivers/net/wireless/ti/wl1251/acx.c
970
ret = wl1251_cmd_configure(wl, ACX_AC_CFG, acx, sizeof(*acx));
drivers/net/wireless/ti/wl1251/acx.c
981
int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue,
drivers/net/wireless/ti/wl1251/acx.h
1434
int wl1251_acx_frame_rates(struct wl1251 *wl, u8 ctrl_rate, u8 ctrl_mod,
drivers/net/wireless/ti/wl1251/acx.h
1436
int wl1251_acx_station_id(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1437
int wl1251_acx_default_key(struct wl1251 *wl, u8 key_id);
drivers/net/wireless/ti/wl1251/acx.h
1438
int wl1251_acx_wake_up_conditions(struct wl1251 *wl, u8 wake_up_event,
drivers/net/wireless/ti/wl1251/acx.h
1440
int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth);
drivers/net/wireless/ti/wl1251/acx.h
1441
int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len);
drivers/net/wireless/ti/wl1251/acx.h
1442
int wl1251_acx_tx_power(struct wl1251 *wl, int power);
drivers/net/wireless/ti/wl1251/acx.h
1443
int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options);
drivers/net/wireless/ti/wl1251/acx.h
1444
int wl1251_acx_mem_map(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/acx.h
1446
int wl1251_acx_data_path_params(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/acx.h
1448
int wl1251_acx_rx_msdu_life_time(struct wl1251 *wl, u32 life_time);
drivers/net/wireless/ti/wl1251/acx.h
1449
int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter);
drivers/net/wireless/ti/wl1251/acx.h
1450
int wl1251_acx_pd_threshold(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1451
int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time);
drivers/net/wireless/ti/wl1251/acx.h
1452
int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable,
drivers/net/wireless/ti/wl1251/acx.h
1454
int wl1251_acx_service_period_timeout(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1455
int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold);
drivers/net/wireless/ti/wl1251/acx.h
1456
int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter);
drivers/net/wireless/ti/wl1251/acx.h
1457
int wl1251_acx_beacon_filter_table(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1458
int wl1251_acx_conn_monit_params(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1459
int wl1251_acx_sg_enable(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1460
int wl1251_acx_sg_cfg(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1461
int wl1251_acx_cca_threshold(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1462
int wl1251_acx_bcn_dtim_options(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1463
int wl1251_acx_aid(struct wl1251 *wl, u16 aid);
drivers/net/wireless/ti/wl1251/acx.h
1464
int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask);
drivers/net/wireless/ti/wl1251/acx.h
1465
int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight,
drivers/net/wireless/ti/wl1251/acx.h
1467
int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble);
drivers/net/wireless/ti/wl1251/acx.h
1468
int wl1251_acx_cts_protect(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/acx.h
1470
int wl1251_acx_statistics(struct wl1251 *wl, struct acx_statistics *stats);
drivers/net/wireless/ti/wl1251/acx.h
1471
int wl1251_acx_tsf_info(struct wl1251 *wl, u64 *mactime);
drivers/net/wireless/ti/wl1251/acx.h
1472
int wl1251_acx_mem_cfg(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/acx.h
1473
int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim);
drivers/net/wireless/ti/wl1251/acx.h
1474
int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode,
drivers/net/wireless/ti/wl1251/acx.h
1476
int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address);
drivers/net/wireless/ti/wl1251/acx.h
1477
int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max,
drivers/net/wireless/ti/wl1251/acx.h
1479
int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue,
drivers/net/wireless/ti/wl1251/boot.c
104
wl1251_reg_write32(wl, ELP_CFG_MODE, tmp);
drivers/net/wireless/ti/wl1251/boot.c
108
wl1251_reg_write32(wl, ELP_CMD, elp_cmd);
drivers/net/wireless/ti/wl1251/boot.c
112
wl1251_reg_write32(wl, CFG_PLL_SYNC_CNT, 0x20);
drivers/net/wireless/ti/wl1251/boot.c
115
init_data = wl1251_reg_read32(wl, CLK_REQ_TIME);
drivers/net/wireless/ti/wl1251/boot.c
125
wl1251_reg_write32(wl, CLK_REQ_TIME, tmp);
drivers/net/wireless/ti/wl1251/boot.c
128
wl1251_reg_write32(wl, 0x003058cc, 0x4B5);
drivers/net/wireless/ti/wl1251/boot.c
131
wl1251_reg_write32(wl, 0x003058d4, 0x50);
drivers/net/wireless/ti/wl1251/boot.c
134
wl1251_reg_write32(wl, 0x00305948, 0x11c001);
drivers/net/wireless/ti/wl1251/boot.c
140
wl1251_reg_write32(wl, 0x003058f4, 0x1e);
drivers/net/wireless/ti/wl1251/boot.c
144
wl1251_reg_write32(wl, 0x00305840, tmp);
drivers/net/wireless/ti/wl1251/boot.c
150
wl1251_reg_write32(wl, 0x00305844, tmp);
drivers/net/wireless/ti/wl1251/boot.c
153
wl1251_reg_write32(wl, 0x00305848, 0x3039);
drivers/net/wireless/ti/wl1251/boot.c
162
wl1251_reg_write32(wl, 0x00305854, tmp);
drivers/net/wireless/ti/wl1251/boot.c
169
wl1251_reg_write32(wl, 0x00305858, tmp);
drivers/net/wireless/ti/wl1251/boot.c
17
void wl1251_boot_target_enable_interrupts(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/boot.c
177
wl1251_reg_write32(wl, 0x003058f8, tmp);
drivers/net/wireless/ti/wl1251/boot.c
185
wl1251_reg_write32(wl, 0x003058f0, 0x29);
drivers/net/wireless/ti/wl1251/boot.c
188
wl1251_reg_write32(wl, ELP_CMD, elp_cmd | 0x1);
drivers/net/wireless/ti/wl1251/boot.c
19
wl1251_reg_write32(wl, ACX_REG_INTERRUPT_MASK, ~(wl->intr_mask));
drivers/net/wireless/ti/wl1251/boot.c
196
static void wl1251_boot_set_ecpu_ctrl(struct wl1251 *wl, u32 flag)
drivers/net/wireless/ti/wl1251/boot.c
20
wl1251_reg_write32(wl, HI_CFG, HI_CFG_DEF_VAL);
drivers/net/wireless/ti/wl1251/boot.c
201
cpu_ctrl = wl1251_reg_read32(wl, ACX_REG_ECPU_CONTROL);
drivers/net/wireless/ti/wl1251/boot.c
205
wl1251_reg_write32(wl, ACX_REG_ECPU_CONTROL, cpu_ctrl);
drivers/net/wireless/ti/wl1251/boot.c
208
int wl1251_boot_run_firmware(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/boot.c
213
wl1251_boot_set_ecpu_ctrl(wl, ECPU_CONTROL_HALT);
drivers/net/wireless/ti/wl1251/boot.c
215
chip_id = wl1251_reg_read32(wl, CHIP_ID_B);
drivers/net/wireless/ti/wl1251/boot.c
219
if (chip_id != wl->chip_id) {
drivers/net/wireless/ti/wl1251/boot.c
228
acx_intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_NO_CLEAR);
drivers/net/wireless/ti/wl1251/boot.c
23
int wl1251_boot_soft_reset(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/boot.c
237
wl1251_reg_write32(wl, ACX_REG_INTERRUPT_ACK,
drivers/net/wireless/ti/wl1251/boot.c
250
wl->cmd_box_addr = wl1251_reg_read32(wl, REG_COMMAND_MAILBOX_PTR);
drivers/net/wireless/ti/wl1251/boot.c
253
wl->event_box_addr = wl1251_reg_read32(wl, REG_EVENT_MAILBOX_PTR);
drivers/net/wireless/ti/wl1251/boot.c
256
wl1251_set_partition(wl, WL1251_PART_WORK_MEM_START,
drivers/net/wireless/ti/wl1251/boot.c
262
wl->cmd_box_addr, wl->event_box_addr);
drivers/net/wireless/ti/wl1251/boot.c
264
wl1251_acx_fw_version(wl, wl->fw_ver, sizeof(wl->fw_ver));
drivers/net/wireless/ti/wl1251/boot.c
272
wl1251_enable_interrupts(wl);
drivers/net/wireless/ti/wl1251/boot.c
275
wl->intr_mask = WL1251_ACX_INTR_RX0_DATA |
drivers/net/wireless/ti/wl1251/boot.c
281
wl1251_boot_target_enable_interrupts(wl);
drivers/net/wireless/ti/wl1251/boot.c
283
wl->event_mask = SCAN_COMPLETE_EVENT_ID | BSS_LOSE_EVENT_ID |
drivers/net/wireless/ti/wl1251/boot.c
29
wl1251_reg_write32(wl, ACX_REG_SLV_SOFT_RESET, ACX_SLV_SOFT_RESET_BIT);
drivers/net/wireless/ti/wl1251/boot.c
291
ret = wl1251_event_unmask(wl);
drivers/net/wireless/ti/wl1251/boot.c
297
wl1251_event_mbox_config(wl);
drivers/net/wireless/ti/wl1251/boot.c
303
static int wl1251_boot_upload_firmware(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/boot.c
312
wl1251_reg_read32(wl, CHIP_ID_B));
drivers/net/wireless/ti/wl1251/boot.c
315
fw_data_len = (wl->fw[4] << 24) | (wl->fw[5] << 16) |
drivers/net/wireless/ti/wl1251/boot.c
316
(wl->fw[6] << 8) | (wl->fw[7]);
drivers/net/wireless/ti/wl1251/boot.c
332
wl1251_set_partition(wl, WL1251_PART_DOWN_MEM_START,
drivers/net/wireless/ti/wl1251/boot.c
34
boot_data = wl1251_reg_read32(wl, ACX_REG_SLV_SOFT_RESET);
drivers/net/wireless/ti/wl1251/boot.c
350
wl1251_set_partition(wl,
drivers/net/wireless/ti/wl1251/boot.c
359
p = wl->fw + FW_HDR_SIZE + chunk_num * CHUNK_SIZE;
drivers/net/wireless/ti/wl1251/boot.c
366
wl1251_mem_write(wl, addr, buf, len);
drivers/net/wireless/ti/wl1251/boot.c
373
p = wl->fw + FW_HDR_SIZE + chunk_num * CHUNK_SIZE;
drivers/net/wireless/ti/wl1251/boot.c
381
wl1251_mem_write(wl, addr, buf, len);
drivers/net/wireless/ti/wl1251/boot.c
388
static int wl1251_boot_upload_nvs(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/boot.c
395
nvs = wl->nvs;
drivers/net/wireless/ti/wl1251/boot.c
401
nvs_len = wl->nvs_len;
drivers/net/wireless/ti/wl1251/boot.c
402
nvs_start = wl->fw_len;
drivers/net/wireless/ti/wl1251/boot.c
427
wl1251_mem_write32(wl, dest_addr, val);
drivers/net/wireless/ti/wl1251/boot.c
443
wl1251_set_partition(wl, nvs_start,
drivers/net/wireless/ti/wl1251/boot.c
457
wl1251_mem_write32(wl, nvs_start, val);
drivers/net/wireless/ti/wl1251/boot.c
467
int wl1251_boot(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/boot.c
473
wl1251_reg_write32(wl, ACX_REG_ECPU_CONTROL, ECPU_CONTROL_HALT);
drivers/net/wireless/ti/wl1251/boot.c
475
ret = wl1251_boot_soft_reset(wl);
drivers/net/wireless/ti/wl1251/boot.c
480
if (wl->use_eeprom) {
drivers/net/wireless/ti/wl1251/boot.c
481
wl1251_reg_write32(wl, ACX_REG_EE_START, START_EEPROM_MGR);
drivers/net/wireless/ti/wl1251/boot.c
484
wl1251_reg_write32(wl, ACX_EEPROMLESS_IND_REG, USE_EEPROM);
drivers/net/wireless/ti/wl1251/boot.c
486
ret = wl1251_boot_upload_nvs(wl);
drivers/net/wireless/ti/wl1251/boot.c
492
wl1251_reg_write32(wl, ACX_EEPROMLESS_IND_REG, wl->fw_len);
drivers/net/wireless/ti/wl1251/boot.c
496
tmp = wl1251_reg_read32(wl, SCR_PAD2);
drivers/net/wireless/ti/wl1251/boot.c
499
wl->boot_attr.radio_type = (tmp & 0x0000FF00) >> 8;
drivers/net/wireless/ti/wl1251/boot.c
50
wl1251_reg_write32(wl, ENABLE, 0x0);
drivers/net/wireless/ti/wl1251/boot.c
500
wl->boot_attr.major = (tmp & 0x00FF0000) >> 16;
drivers/net/wireless/ti/wl1251/boot.c
501
tmp = wl1251_reg_read32(wl, SCR_PAD3);
drivers/net/wireless/ti/wl1251/boot.c
504
wl->boot_attr.minor = (tmp & 0x00FF0000) >> 16;
drivers/net/wireless/ti/wl1251/boot.c
509
wl->boot_attr.radio_type, wl->boot_attr.major,
drivers/net/wireless/ti/wl1251/boot.c
510
wl->boot_attr.minor, minor_minor_e2_ver);
drivers/net/wireless/ti/wl1251/boot.c
512
ret = wl1251_boot_init_seq(wl);
drivers/net/wireless/ti/wl1251/boot.c
517
boot_data = wl1251_reg_read32(wl, ACX_REG_ECPU_CONTROL);
drivers/net/wireless/ti/wl1251/boot.c
53
wl1251_reg_write32(wl, SPARE_A2, 0xffff);
drivers/net/wireless/ti/wl1251/boot.c
530
ret = wl1251_boot_upload_firmware(wl);
drivers/net/wireless/ti/wl1251/boot.c
535
ret = wl1251_boot_run_firmware(wl);
drivers/net/wireless/ti/wl1251/boot.c
58
int wl1251_boot_init_seq(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/boot.c
80
scr_pad6 = wl1251_reg_read32(wl, SCR_PAD6);
drivers/net/wireless/ti/wl1251/boot.c
84
elp_cmd = wl1251_reg_read32(wl, ELP_CMD);
drivers/net/wireless/ti/wl1251/boot.c
91
wl1251_reg_write32(wl, PLL_CAL_TIME, 0x9);
drivers/net/wireless/ti/wl1251/boot.c
96
wl1251_reg_write32(wl, CLK_BUF_TIME, 0x6);
drivers/net/wireless/ti/wl1251/boot.h
13
int wl1251_boot_soft_reset(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/boot.h
14
int wl1251_boot_init_seq(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/boot.h
15
int wl1251_boot_run_firmware(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/boot.h
16
void wl1251_boot_target_enable_interrupts(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/boot.h
17
int wl1251_boot(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/cmd.c
107
int wl1251_cmd_configure(struct wl1251 *wl, u16 id, void *buf, size_t len)
drivers/net/wireless/ti/wl1251/cmd.c
119
ret = wl1251_cmd_send(wl, CMD_CONFIGURE, acx, len);
drivers/net/wireless/ti/wl1251/cmd.c
128
int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity,
drivers/net/wireless/ti/wl1251/cmd.c
153
ret = wl1251_cmd_send(wl, CMD_VBM, vbm, sizeof(*vbm));
drivers/net/wireless/ti/wl1251/cmd.c
164
int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable)
drivers/net/wireless/ti/wl1251/cmd.c
183
ret = wl1251_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd));
drivers/net/wireless/ti/wl1251/cmd.c
198
int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable)
drivers/net/wireless/ti/wl1251/cmd.c
217
ret = wl1251_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd));
drivers/net/wireless/ti/wl1251/cmd.c
22
int wl1251_cmd_send(struct wl1251 *wl, u16 id, void *buf, size_t len)
drivers/net/wireless/ti/wl1251/cmd.c
229
int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel,
drivers/net/wireless/ti/wl1251/cmd.c
247
bssid[i] = wl->bssid[ETH_ALEN - i - 1];
drivers/net/wireless/ti/wl1251/cmd.c
249
join->rx_config_options = wl->rx_config;
drivers/net/wireless/ti/wl1251/cmd.c
250
join->rx_filter_options = wl->rx_filter;
drivers/net/wireless/ti/wl1251/cmd.c
261
ret = wl1251_cmd_send(wl, CMD_START_JOIN, join, sizeof(*join));
drivers/net/wireless/ti/wl1251/cmd.c
272
int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode)
drivers/net/wireless/ti/wl1251/cmd.c
289
ret = wl1251_cmd_send(wl, CMD_SET_PS_MODE, ps_params,
drivers/net/wireless/ti/wl1251/cmd.c
301
int wl1251_cmd_template_set(struct wl1251 *wl, u16 cmd_id,
drivers/net/wireless/ti/wl1251/cmd.c
323
ret = wl1251_cmd_send(wl, cmd_id, cmd, cmd_len);
drivers/net/wireless/ti/wl1251/cmd.c
334
int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len,
drivers/net/wireless/ti/wl1251/cmd.c
35
wl1251_mem_write(wl, wl->cmd_box_addr, buf, len);
drivers/net/wireless/ti/wl1251/cmd.c
359
if (is_zero_ether_addr(wl->bssid))
drivers/net/wireless/ti/wl1251/cmd.c
37
wl1251_reg_write32(wl, ACX_REG_INTERRUPT_TRIG, INTR_TRIG_CMD);
drivers/net/wireless/ti/wl1251/cmd.c
385
ret = wl1251_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd));
drivers/net/wireless/ti/wl1251/cmd.c
391
wl1251_mem_read(wl, wl->cmd_box_addr, cmd, sizeof(*cmd));
drivers/net/wireless/ti/wl1251/cmd.c
405
int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout)
drivers/net/wireless/ti/wl1251/cmd.c
41
intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_NO_CLEAR);
drivers/net/wireless/ti/wl1251/cmd.c
418
ret = wl1251_cmd_send(wl, CMD_TRIGGER_SCAN_TO, cmd, sizeof(*cmd));
drivers/net/wireless/ti/wl1251/cmd.c
51
intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_NO_CLEAR);
drivers/net/wireless/ti/wl1251/cmd.c
54
wl1251_reg_write32(wl, ACX_REG_INTERRUPT_ACK,
drivers/net/wireless/ti/wl1251/cmd.c
69
int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len)
drivers/net/wireless/ti/wl1251/cmd.c
81
ret = wl1251_cmd_send(wl, CMD_INTERROGATE, acx, sizeof(*acx));
drivers/net/wireless/ti/wl1251/cmd.c
88
wl1251_mem_read(wl, wl->cmd_box_addr, buf, len);
drivers/net/wireless/ti/wl1251/cmd.h
18
int wl1251_cmd_send(struct wl1251 *wl, u16 type, void *buf, size_t buf_len);
drivers/net/wireless/ti/wl1251/cmd.h
19
int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len);
drivers/net/wireless/ti/wl1251/cmd.h
20
int wl1251_cmd_configure(struct wl1251 *wl, u16 id, void *buf, size_t len);
drivers/net/wireless/ti/wl1251/cmd.h
21
int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity,
drivers/net/wireless/ti/wl1251/cmd.h
23
int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable);
drivers/net/wireless/ti/wl1251/cmd.h
24
int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable);
drivers/net/wireless/ti/wl1251/cmd.h
25
int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel,
drivers/net/wireless/ti/wl1251/cmd.h
27
int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode);
drivers/net/wireless/ti/wl1251/cmd.h
28
int wl1251_cmd_template_set(struct wl1251 *wl, u16 cmd_id,
drivers/net/wireless/ti/wl1251/cmd.h
30
int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len,
drivers/net/wireless/ti/wl1251/cmd.h
33
int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout);
drivers/net/wireless/ti/wl1251/debugfs.c
193
DEBUGFS_READONLY_FILE(retry_count, 20, "%u", wl->stats.retry_count);
drivers/net/wireless/ti/wl1251/debugfs.c
195
wl->stats.excessive_retries);
drivers/net/wireless/ti/wl1251/debugfs.c
200
struct wl1251 *wl = file->private_data;
drivers/net/wireless/ti/wl1251/debugfs.c
205
queue_len = skb_queue_len(&wl->tx_queue);
drivers/net/wireless/ti/wl1251/debugfs.c
220
struct wl1251 *wl = file->private_data;
drivers/net/wireless/ti/wl1251/debugfs.c
224
if (wl->tx_queue_stopped)
drivers/net/wireless/ti/wl1251/debugfs.c
239
static void wl1251_debugfs_delete_files(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/debugfs.c
26
struct wl1251 *wl = file->private_data; \
drivers/net/wireless/ti/wl1251/debugfs.c
338
static void wl1251_debugfs_add_files(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/debugfs.c
41
wl->debugfs.name = debugfs_create_file(#name, 0400, parent, \
drivers/net/wireless/ti/wl1251/debugfs.c
42
wl, &name## _ops) \
drivers/net/wireless/ti/wl1251/debugfs.c
431
DEBUGFS_ADD(tx_queue_len, wl->debugfs.rootdir);
drivers/net/wireless/ti/wl1251/debugfs.c
432
DEBUGFS_ADD(tx_queue_status, wl->debugfs.rootdir);
drivers/net/wireless/ti/wl1251/debugfs.c
433
DEBUGFS_ADD(retry_count, wl->debugfs.rootdir);
drivers/net/wireless/ti/wl1251/debugfs.c
434
DEBUGFS_ADD(excessive_retries, wl->debugfs.rootdir);
drivers/net/wireless/ti/wl1251/debugfs.c
437
void wl1251_debugfs_reset(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/debugfs.c
439
if (wl->stats.fw_stats != NULL)
drivers/net/wireless/ti/wl1251/debugfs.c
440
memset(wl->stats.fw_stats, 0, sizeof(*wl->stats.fw_stats));
drivers/net/wireless/ti/wl1251/debugfs.c
441
wl->stats.retry_count = 0;
drivers/net/wireless/ti/wl1251/debugfs.c
442
wl->stats.excessive_retries = 0;
drivers/net/wireless/ti/wl1251/debugfs.c
445
int wl1251_debugfs_init(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/debugfs.c
447
wl->stats.fw_stats = kzalloc_obj(*wl->stats.fw_stats);
drivers/net/wireless/ti/wl1251/debugfs.c
448
if (!wl->stats.fw_stats)
drivers/net/wireless/ti/wl1251/debugfs.c
451
wl->debugfs.rootdir = debugfs_create_dir(KBUILD_MODNAME, NULL);
drivers/net/wireless/ti/wl1251/debugfs.c
453
wl->debugfs.fw_statistics = debugfs_create_dir("fw-statistics",
drivers/net/wireless/ti/wl1251/debugfs.c
454
wl->debugfs.rootdir);
drivers/net/wireless/ti/wl1251/debugfs.c
456
wl->stats.fw_stats_update = jiffies;
drivers/net/wireless/ti/wl1251/debugfs.c
458
wl1251_debugfs_add_files(wl);
drivers/net/wireless/ti/wl1251/debugfs.c
46
debugfs_remove(wl->debugfs.name); \
drivers/net/wireless/ti/wl1251/debugfs.c
463
void wl1251_debugfs_exit(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/debugfs.c
465
wl1251_debugfs_delete_files(wl);
drivers/net/wireless/ti/wl1251/debugfs.c
467
kfree(wl->stats.fw_stats);
drivers/net/wireless/ti/wl1251/debugfs.c
468
wl->stats.fw_stats = NULL;
drivers/net/wireless/ti/wl1251/debugfs.c
47
wl->debugfs.name = NULL; \
drivers/net/wireless/ti/wl1251/debugfs.c
470
debugfs_remove(wl->debugfs.fw_statistics);
drivers/net/wireless/ti/wl1251/debugfs.c
471
wl->debugfs.fw_statistics = NULL;
drivers/net/wireless/ti/wl1251/debugfs.c
473
debugfs_remove(wl->debugfs.rootdir);
drivers/net/wireless/ti/wl1251/debugfs.c
474
wl->debugfs.rootdir = NULL;
drivers/net/wireless/ti/wl1251/debugfs.c
55
struct wl1251 *wl = file->private_data; \
drivers/net/wireless/ti/wl1251/debugfs.c
59
wl1251_debugfs_update_stats(wl); \
drivers/net/wireless/ti/wl1251/debugfs.c
62
wl->stats.fw_stats->sub.name); \
drivers/net/wireless/ti/wl1251/debugfs.c
73
DEBUGFS_ADD(sub## _ ##name, wl->debugfs.fw_statistics)
drivers/net/wireless/ti/wl1251/debugfs.c
78
static void wl1251_debugfs_update_stats(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/debugfs.c
82
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/debugfs.c
84
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/debugfs.c
88
if (wl->state == WL1251_STATE_ON &&
drivers/net/wireless/ti/wl1251/debugfs.c
89
time_after(jiffies, wl->stats.fw_stats_update +
drivers/net/wireless/ti/wl1251/debugfs.c
91
wl1251_acx_statistics(wl, wl->stats.fw_stats);
drivers/net/wireless/ti/wl1251/debugfs.c
92
wl->stats.fw_stats_update = jiffies;
drivers/net/wireless/ti/wl1251/debugfs.c
95
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/debugfs.c
98
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/debugfs.h
13
int wl1251_debugfs_init(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/debugfs.h
14
void wl1251_debugfs_exit(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/debugfs.h
15
void wl1251_debugfs_reset(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/event.c
102
if (wl->psm_requested &&
drivers/net/wireless/ti/wl1251/event.c
103
wl->station_mode != STATION_ACTIVE_MODE) {
drivers/net/wireless/ti/wl1251/event.c
104
ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE);
drivers/net/wireless/ti/wl1251/event.c
112
ret = wl1251_event_ps_report(wl, mbox);
drivers/net/wireless/ti/wl1251/event.c
121
if (wl->vif && wl->vif->type == NL80211_IFTYPE_STATION)
drivers/net/wireless/ti/wl1251/event.c
122
ieee80211_beacon_loss(wl->vif);
drivers/net/wireless/ti/wl1251/event.c
126
if (wl->psm_requested) {
drivers/net/wireless/ti/wl1251/event.c
127
ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE);
drivers/net/wireless/ti/wl1251/event.c
133
if (wl->vif && wl->rssi_thold) {
drivers/net/wireless/ti/wl1251/event.c
137
ieee80211_cqm_rssi_notify(wl->vif,
drivers/net/wireless/ti/wl1251/event.c
145
ieee80211_cqm_rssi_notify(wl->vif,
drivers/net/wireless/ti/wl1251/event.c
15
static int wl1251_event_scan_complete(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/event.c
158
int wl1251_event_wait(struct wl1251 *wl, u32 mask, int timeout_ms)
drivers/net/wireless/ti/wl1251/event.c
172
events_vector = wl1251_mem_read32(wl, wl->mbox_ptr[0]);
drivers/net/wireless/ti/wl1251/event.c
174
events_vector = wl1251_mem_read32(wl, wl->mbox_ptr[1]);
drivers/net/wireless/ti/wl1251/event.c
181
int wl1251_event_unmask(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/event.c
185
ret = wl1251_acx_event_mbox_mask(wl, ~(wl->event_mask));
drivers/net/wireless/ti/wl1251/event.c
192
void wl1251_event_mbox_config(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/event.c
194
wl->mbox_ptr[0] = wl1251_reg_read32(wl, REG_EVENT_MAILBOX_PTR);
drivers/net/wireless/ti/wl1251/event.c
195
wl->mbox_ptr[1] = wl->mbox_ptr[0] + sizeof(struct event_mailbox);
drivers/net/wireless/ti/wl1251/event.c
198
wl->mbox_ptr[0], wl->mbox_ptr[1]);
drivers/net/wireless/ti/wl1251/event.c
201
int wl1251_event_handle(struct wl1251 *wl, u8 mbox_num)
drivers/net/wireless/ti/wl1251/event.c
218
wl1251_mem_read(wl, wl->mbox_ptr[mbox_num], mbox,
drivers/net/wireless/ti/wl1251/event.c
222
ret = wl1251_event_process(wl, mbox);
drivers/net/wireless/ti/wl1251/event.c
229
wl1251_reg_write32(wl, ACX_REG_INTERRUPT_TRIG, INTR_TRIG_EVENT_ACK);
drivers/net/wireless/ti/wl1251/event.c
24
if (wl->scanning) {
drivers/net/wireless/ti/wl1251/event.c
29
ieee80211_scan_completed(wl->hw, &info);
drivers/net/wireless/ti/wl1251/event.c
31
wl->scanning = false;
drivers/net/wireless/ti/wl1251/event.c
32
if (wl->hw->conf.flags & IEEE80211_CONF_IDLE)
drivers/net/wireless/ti/wl1251/event.c
33
ret = wl1251_ps_set_mode(wl, STATION_IDLE);
drivers/net/wireless/ti/wl1251/event.c
40
static int wl1251_event_ps_report(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/event.c
51
if (wl->station_mode != STATION_POWER_SAVE_MODE) {
drivers/net/wireless/ti/wl1251/event.c
53
wl->psm_entry_retry = 0;
drivers/net/wireless/ti/wl1251/event.c
57
if (wl->psm_entry_retry < WL1251_PSM_ENTRY_RETRIES) {
drivers/net/wireless/ti/wl1251/event.c
58
wl->psm_entry_retry++;
drivers/net/wireless/ti/wl1251/event.c
59
ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE);
drivers/net/wireless/ti/wl1251/event.c
62
wl->psm_entry_retry = 0;
drivers/net/wireless/ti/wl1251/event.c
69
wl->psm_entry_retry = 0;
drivers/net/wireless/ti/wl1251/event.c
83
static int wl1251_event_process(struct wl1251 *wl, struct event_mailbox *mbox)
drivers/net/wireless/ti/wl1251/event.c
94
ret = wl1251_event_scan_complete(wl, mbox);
drivers/net/wireless/ti/wl1251/event.h
108
int wl1251_event_unmask(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/event.h
109
void wl1251_event_mbox_config(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/event.h
110
int wl1251_event_handle(struct wl1251 *wl, u8 mbox);
drivers/net/wireless/ti/wl1251/event.h
111
int wl1251_event_wait(struct wl1251 *wl, u32 mask, int timeout_ms);
drivers/net/wireless/ti/wl1251/init.c
104
int wl1251_hw_init_phy_config(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
108
ret = wl1251_acx_pd_threshold(wl);
drivers/net/wireless/ti/wl1251/init.c
112
ret = wl1251_acx_slot(wl, DEFAULT_SLOT_TIME);
drivers/net/wireless/ti/wl1251/init.c
116
ret = wl1251_acx_group_address_tbl(wl, true, NULL, 0);
drivers/net/wireless/ti/wl1251/init.c
120
ret = wl1251_acx_service_period_timeout(wl);
drivers/net/wireless/ti/wl1251/init.c
124
ret = wl1251_acx_rts_threshold(wl, RTS_THRESHOLD_DEF);
drivers/net/wireless/ti/wl1251/init.c
131
int wl1251_hw_init_beacon_filter(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
136
ret = wl1251_acx_beacon_filter_opt(wl, false);
drivers/net/wireless/ti/wl1251/init.c
140
ret = wl1251_acx_beacon_filter_table(wl);
drivers/net/wireless/ti/wl1251/init.c
147
int wl1251_hw_init_pta(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
151
ret = wl1251_acx_sg_enable(wl);
drivers/net/wireless/ti/wl1251/init.c
155
ret = wl1251_acx_sg_cfg(wl);
drivers/net/wireless/ti/wl1251/init.c
162
int wl1251_hw_init_energy_detection(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
166
ret = wl1251_acx_cca_threshold(wl);
drivers/net/wireless/ti/wl1251/init.c
173
int wl1251_hw_init_beacon_broadcast(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
177
ret = wl1251_acx_bcn_dtim_options(wl);
drivers/net/wireless/ti/wl1251/init.c
18
int wl1251_hw_init_hwenc_config(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
184
int wl1251_hw_init_power_auth(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
186
return wl1251_acx_sleep_auth(wl, WL1251_PSM_CAM);
drivers/net/wireless/ti/wl1251/init.c
189
int wl1251_hw_init_mem_config(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
193
ret = wl1251_acx_mem_cfg(wl);
drivers/net/wireless/ti/wl1251/init.c
197
wl->target_mem_map = kzalloc_obj(struct wl1251_acx_mem_map);
drivers/net/wireless/ti/wl1251/init.c
198
if (!wl->target_mem_map) {
drivers/net/wireless/ti/wl1251/init.c
204
ret = wl1251_acx_mem_map(wl, wl->target_mem_map,
drivers/net/wireless/ti/wl1251/init.c
208
kfree(wl->target_mem_map);
drivers/net/wireless/ti/wl1251/init.c
209
wl->target_mem_map = NULL;
drivers/net/wireless/ti/wl1251/init.c
22
ret = wl1251_acx_feature_cfg(wl, 0);
drivers/net/wireless/ti/wl1251/init.c
255
static int wl1251_hw_init_tx_queue_config(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
258
struct wl1251_acx_mem_map *wl_mem_map = wl->target_mem_map;
drivers/net/wireless/ti/wl1251/init.c
275
ret = wl1251_cmd_configure(wl, ACX_TX_QUEUE_CFG,
drivers/net/wireless/ti/wl1251/init.c
28
ret = wl1251_acx_default_key(wl, wl->default_key);
drivers/net/wireless/ti/wl1251/init.c
281
wl1251_acx_ac_cfg(wl, AC_BE, CWMIN_BE, CWMAX_BE, AIFS_DIFS, TXOP_BE);
drivers/net/wireless/ti/wl1251/init.c
282
wl1251_acx_ac_cfg(wl, AC_BK, CWMIN_BK, CWMAX_BK, AIFS_DIFS, TXOP_BK);
drivers/net/wireless/ti/wl1251/init.c
283
wl1251_acx_ac_cfg(wl, AC_VI, CWMIN_VI, CWMAX_VI, AIFS_DIFS, TXOP_VI);
drivers/net/wireless/ti/wl1251/init.c
284
wl1251_acx_ac_cfg(wl, AC_VO, CWMIN_VO, CWMAX_VO, AIFS_DIFS, TXOP_VO);
drivers/net/wireless/ti/wl1251/init.c
291
static int wl1251_hw_init_data_path_config(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
296
wl->data_path = kzalloc_obj(struct acx_data_path_params_resp);
drivers/net/wireless/ti/wl1251/init.c
297
if (!wl->data_path)
drivers/net/wireless/ti/wl1251/init.c
300
ret = wl1251_acx_data_path_params(wl, wl->data_path);
drivers/net/wireless/ti/wl1251/init.c
302
kfree(wl->data_path);
drivers/net/wireless/ti/wl1251/init.c
303
wl->data_path = NULL;
drivers/net/wireless/ti/wl1251/init.c
311
int wl1251_hw_init(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
316
ret = wl1251_hw_init_hwenc_config(wl);
drivers/net/wireless/ti/wl1251/init.c
321
ret = wl1251_hw_init_templates_config(wl);
drivers/net/wireless/ti/wl1251/init.c
326
ret = wl1251_hw_init_mem_config(wl);
drivers/net/wireless/ti/wl1251/init.c
331
ret = wl1251_hw_init_data_path_config(wl);
drivers/net/wireless/ti/wl1251/init.c
336
ret = wl1251_hw_init_rx_config(wl,
drivers/net/wireless/ti/wl1251/init.c
345
ret = wl1251_hw_init_tx_queue_config(wl);
drivers/net/wireless/ti/wl1251/init.c
350
ret = wl1251_hw_init_phy_config(wl);
drivers/net/wireless/ti/wl1251/init.c
355
ret = wl1251_acx_conn_monit_params(wl);
drivers/net/wireless/ti/wl1251/init.c
360
ret = wl1251_hw_init_beacon_filter(wl);
drivers/net/wireless/ti/wl1251/init.c
365
ret = wl1251_hw_init_pta(wl);
drivers/net/wireless/ti/wl1251/init.c
37
int wl1251_hw_init_templates_config(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/init.c
370
ret = wl1251_hw_init_energy_detection(wl);
drivers/net/wireless/ti/wl1251/init.c
375
ret = wl1251_hw_init_beacon_broadcast(wl);
drivers/net/wireless/ti/wl1251/init.c
380
ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1);
drivers/net/wireless/ti/wl1251/init.c
385
ret = wl1251_cmd_data_path_tx(wl, wl->channel, 1);
drivers/net/wireless/ti/wl1251/init.c
390
ret = wl1251_hw_init_power_auth(wl);
drivers/net/wireless/ti/wl1251/init.c
394
wl_mem_map = wl->target_mem_map;
drivers/net/wireless/ti/wl1251/init.c
397
wl->data_path->tx_control_addr,
drivers/net/wireless/ti/wl1251/init.c
399
wl->data_path->rx_control_addr);
drivers/net/wireless/ti/wl1251/init.c
404
kfree(wl->data_path);
drivers/net/wireless/ti/wl1251/init.c
407
kfree(wl->target_mem_map);
drivers/net/wireless/ti/wl1251/init.c
43
ret = wl1251_cmd_template_set(wl, CMD_PROBE_REQ, NULL,
drivers/net/wireless/ti/wl1251/init.c
48
ret = wl1251_cmd_template_set(wl, CMD_NULL_DATA, NULL,
drivers/net/wireless/ti/wl1251/init.c
53
ret = wl1251_cmd_template_set(wl, CMD_PS_POLL, NULL,
drivers/net/wireless/ti/wl1251/init.c
58
ret = wl1251_cmd_template_set(wl, CMD_QOS_NULL_DATA, NULL,
drivers/net/wireless/ti/wl1251/init.c
64
ret = wl1251_cmd_template_set(wl, CMD_PROBE_RESP, NULL,
drivers/net/wireless/ti/wl1251/init.c
70
ret = wl1251_cmd_template_set(wl, CMD_BEACON, NULL,
drivers/net/wireless/ti/wl1251/init.c
78
ret = wl1251_cmd_vbm(wl, TIM_ELE_ID, partial_vbm, PARTIAL_VBM_MAX, 0);
drivers/net/wireless/ti/wl1251/init.c
82
ret = wl1251_cmd_vbm(wl, TIM_ELE_ID, partial_vbm, 1, 0);
drivers/net/wireless/ti/wl1251/init.c
89
int wl1251_hw_init_rx_config(struct wl1251 *wl, u32 config, u32 filter)
drivers/net/wireless/ti/wl1251/init.c
93
ret = wl1251_acx_rx_msdu_life_time(wl, RX_MSDU_LIFETIME_DEF);
drivers/net/wireless/ti/wl1251/init.c
97
ret = wl1251_acx_rx_config(wl, config, filter);
drivers/net/wireless/ti/wl1251/init.h
60
int wl1251_hw_init_hwenc_config(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
61
int wl1251_hw_init_templates_config(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
62
int wl1251_hw_init_rx_config(struct wl1251 *wl, u32 config, u32 filter);
drivers/net/wireless/ti/wl1251/init.h
63
int wl1251_hw_init_phy_config(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
64
int wl1251_hw_init_beacon_filter(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
65
int wl1251_hw_init_pta(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
66
int wl1251_hw_init_energy_detection(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
67
int wl1251_hw_init_beacon_broadcast(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
68
int wl1251_hw_init_power_auth(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
69
int wl1251_hw_init_mem_config(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/init.h
70
int wl1251_hw_init(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/io.c
120
void wl1251_set_partition(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/io.c
178
wl->physical_mem_addr = mem_start;
drivers/net/wireless/ti/wl1251/io.c
179
wl->physical_reg_addr = reg_start;
drivers/net/wireless/ti/wl1251/io.c
181
wl->virtual_mem_addr = 0;
drivers/net/wireless/ti/wl1251/io.c
182
wl->virtual_reg_addr = mem_size;
drivers/net/wireless/ti/wl1251/io.c
184
wl->if_ops->write(wl, HW_ACCESS_PART0_SIZE_ADDR, partition,
drivers/net/wireless/ti/wl1251/io.c
27
static int wl1251_translate_reg_addr(struct wl1251 *wl, int addr)
drivers/net/wireless/ti/wl1251/io.c
41
return addr - wl->physical_reg_addr + wl->virtual_reg_addr;
drivers/net/wireless/ti/wl1251/io.c
44
static int wl1251_translate_mem_addr(struct wl1251 *wl, int addr)
drivers/net/wireless/ti/wl1251/io.c
46
return addr - wl->physical_mem_addr + wl->virtual_mem_addr;
drivers/net/wireless/ti/wl1251/io.c
49
void wl1251_mem_read(struct wl1251 *wl, int addr, void *buf, size_t len)
drivers/net/wireless/ti/wl1251/io.c
53
physical = wl1251_translate_mem_addr(wl, addr);
drivers/net/wireless/ti/wl1251/io.c
55
wl->if_ops->read(wl, physical, buf, len);
drivers/net/wireless/ti/wl1251/io.c
58
void wl1251_mem_write(struct wl1251 *wl, int addr, void *buf, size_t len)
drivers/net/wireless/ti/wl1251/io.c
62
physical = wl1251_translate_mem_addr(wl, addr);
drivers/net/wireless/ti/wl1251/io.c
64
wl->if_ops->write(wl, physical, buf, len);
drivers/net/wireless/ti/wl1251/io.c
67
u32 wl1251_mem_read32(struct wl1251 *wl, int addr)
drivers/net/wireless/ti/wl1251/io.c
69
return wl1251_read32(wl, wl1251_translate_mem_addr(wl, addr));
drivers/net/wireless/ti/wl1251/io.c
72
void wl1251_mem_write32(struct wl1251 *wl, int addr, u32 val)
drivers/net/wireless/ti/wl1251/io.c
74
wl1251_write32(wl, wl1251_translate_mem_addr(wl, addr), val);
drivers/net/wireless/ti/wl1251/io.c
77
u32 wl1251_reg_read32(struct wl1251 *wl, int addr)
drivers/net/wireless/ti/wl1251/io.c
79
return wl1251_read32(wl, wl1251_translate_reg_addr(wl, addr));
drivers/net/wireless/ti/wl1251/io.c
82
void wl1251_reg_write32(struct wl1251 *wl, int addr, u32 val)
drivers/net/wireless/ti/wl1251/io.c
84
wl1251_write32(wl, wl1251_translate_reg_addr(wl, addr), val);
drivers/net/wireless/ti/wl1251/io.h
23
static inline u32 wl1251_read32(struct wl1251 *wl, int addr)
drivers/net/wireless/ti/wl1251/io.h
25
wl->if_ops->read(wl, addr, &wl->buffer_32, sizeof(wl->buffer_32));
drivers/net/wireless/ti/wl1251/io.h
27
return le32_to_cpu(wl->buffer_32);
drivers/net/wireless/ti/wl1251/io.h
30
static inline void wl1251_write32(struct wl1251 *wl, int addr, u32 val)
drivers/net/wireless/ti/wl1251/io.h
32
wl->buffer_32 = cpu_to_le32(val);
drivers/net/wireless/ti/wl1251/io.h
33
wl->if_ops->write(wl, addr, &wl->buffer_32, sizeof(wl->buffer_32));
drivers/net/wireless/ti/wl1251/io.h
36
static inline u32 wl1251_read_elp(struct wl1251 *wl, int addr)
drivers/net/wireless/ti/wl1251/io.h
40
if (wl->if_ops->read_elp)
drivers/net/wireless/ti/wl1251/io.h
41
wl->if_ops->read_elp(wl, addr, &response);
drivers/net/wireless/ti/wl1251/io.h
43
wl->if_ops->read(wl, addr, &response, sizeof(u32));
drivers/net/wireless/ti/wl1251/io.h
48
static inline void wl1251_write_elp(struct wl1251 *wl, int addr, u32 val)
drivers/net/wireless/ti/wl1251/io.h
50
if (wl->if_ops->write_elp)
drivers/net/wireless/ti/wl1251/io.h
51
wl->if_ops->write_elp(wl, addr, val);
drivers/net/wireless/ti/wl1251/io.h
53
wl->if_ops->write(wl, addr, &val, sizeof(u32));
drivers/net/wireless/ti/wl1251/io.h
57
void wl1251_mem_read(struct wl1251 *wl, int addr, void *buf, size_t len);
drivers/net/wireless/ti/wl1251/io.h
58
void wl1251_mem_write(struct wl1251 *wl, int addr, void *buf, size_t len);
drivers/net/wireless/ti/wl1251/io.h
59
u32 wl1251_mem_read32(struct wl1251 *wl, int addr);
drivers/net/wireless/ti/wl1251/io.h
60
void wl1251_mem_write32(struct wl1251 *wl, int addr, u32 val);
drivers/net/wireless/ti/wl1251/io.h
62
u32 wl1251_reg_read32(struct wl1251 *wl, int addr);
drivers/net/wireless/ti/wl1251/io.h
63
void wl1251_reg_write32(struct wl1251 *wl, int addr, u32 val);
drivers/net/wireless/ti/wl1251/io.h
65
void wl1251_set_partition(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/main.c
1003
ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE);
drivers/net/wireless/ti/wl1251/main.c
1006
ret = wl1251_join(wl, wl->bss_type, wl->channel,
drivers/net/wireless/ti/wl1251/main.c
1007
wl->beacon_int, wl->dtim_period);
drivers/net/wireless/ti/wl1251/main.c
1012
skb = ieee80211_probereq_get(wl->hw, wl->vif->addr, ssid, ssid_len,
drivers/net/wireless/ti/wl1251/main.c
1021
ret = wl1251_cmd_template_set(wl, CMD_PROBE_REQ, skb->data,
drivers/net/wireless/ti/wl1251/main.c
1027
ret = wl1251_cmd_trigger_scan_to(wl, 0);
drivers/net/wireless/ti/wl1251/main.c
1031
wl->scanning = true;
drivers/net/wireless/ti/wl1251/main.c
1033
ret = wl1251_cmd_scan(wl, ssid, ssid_len, req->channels,
drivers/net/wireless/ti/wl1251/main.c
1037
wl->scanning = false;
drivers/net/wireless/ti/wl1251/main.c
1044
ret = wl1251_ps_set_mode(wl, STATION_IDLE);
drivers/net/wireless/ti/wl1251/main.c
1046
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/main.c
1049
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
1057
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
1060
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
1062
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
1066
ret = wl1251_acx_rts_threshold(wl, (u16) value);
drivers/net/wireless/ti/wl1251/main.c
1070
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/main.c
1073
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
1083
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
1090
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
1092
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
1097
ret = wl1251_acx_low_rssi(wl, bss_conf->cqm_rssi_thold,
drivers/net/wireless/ti/wl1251/main.c
1103
wl->rssi_thold = bss_conf->cqm_rssi_thold;
drivers/net/wireless/ti/wl1251/main.c
1107
memcmp(wl->bssid, bss_conf->bssid, ETH_ALEN)) {
drivers/net/wireless/ti/wl1251/main.c
1108
memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN);
drivers/net/wireless/ti/wl1251/main.c
111
wl->nvs = kmemdup(fw->data, fw->size, GFP_KERNEL);
drivers/net/wireless/ti/wl1251/main.c
1110
if (!is_zero_ether_addr(wl->bssid)) {
drivers/net/wireless/ti/wl1251/main.c
1111
ret = wl1251_build_null_data(wl);
drivers/net/wireless/ti/wl1251/main.c
1115
ret = wl1251_build_qos_null_data(wl);
drivers/net/wireless/ti/wl1251/main.c
1119
ret = wl1251_join(wl, wl->bss_type, wl->channel,
drivers/net/wireless/ti/wl1251/main.c
1120
wl->beacon_int, wl->dtim_period);
drivers/net/wireless/ti/wl1251/main.c
1128
wl->beacon_int = bss_conf->beacon_int;
drivers/net/wireless/ti/wl1251/main.c
113
if (!wl->nvs) {
drivers/net/wireless/ti/wl1251/main.c
1130
skb = ieee80211_pspoll_get(wl->hw, wl->vif);
drivers/net/wireless/ti/wl1251/main.c
1134
ret = wl1251_cmd_template_set(wl, CMD_PS_POLL,
drivers/net/wireless/ti/wl1251/main.c
1141
ret = wl1251_acx_aid(wl, vif->cfg.aid);
drivers/net/wireless/ti/wl1251/main.c
1146
wl->beacon_int = WL1251_DEFAULT_BEACON_INT;
drivers/net/wireless/ti/wl1251/main.c
1147
wl->dtim_period = WL1251_DEFAULT_DTIM_PERIOD;
drivers/net/wireless/ti/wl1251/main.c
1152
ret = wl1251_acx_slot(wl, SLOT_TIME_SHORT);
drivers/net/wireless/ti/wl1251/main.c
1154
ret = wl1251_acx_slot(wl, SLOT_TIME_LONG);
drivers/net/wireless/ti/wl1251/main.c
1163
wl1251_acx_set_preamble(wl, ACX_PREAMBLE_SHORT);
drivers/net/wireless/ti/wl1251/main.c
1165
wl1251_acx_set_preamble(wl, ACX_PREAMBLE_LONG);
drivers/net/wireless/ti/wl1251/main.c
1170
ret = wl1251_acx_cts_protect(wl, CTSPROTECT_ENABLE);
drivers/net/wireless/ti/wl1251/main.c
1172
ret = wl1251_acx_cts_protect(wl, CTSPROTECT_DISABLE);
drivers/net/wireless/ti/wl1251/main.c
1181
WARN_ON(wl->bss_type != BSS_TYPE_STA_BSS);
drivers/net/wireless/ti/wl1251/main.c
1184
ret = wl1251_acx_arp_ip_filter(wl, enable, addr);
drivers/net/wireless/ti/wl1251/main.c
119
wl->nvs_len = fw->size;
drivers/net/wireless/ti/wl1251/main.c
1194
ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data,
drivers/net/wireless/ti/wl1251/main.c
1202
ret = wl1251_cmd_template_set(wl, CMD_PROBE_RESP, beacon->data,
drivers/net/wireless/ti/wl1251/main.c
1210
ret = wl1251_join(wl, wl->bss_type, wl->channel,
drivers/net/wireless/ti/wl1251/main.c
1211
wl->beacon_int, wl->dtim_period);
drivers/net/wireless/ti/wl1251/main.c
1218
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/main.c
1221
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
129
static void wl1251_fw_wakeup(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1291
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
1294
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
1298
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
1303
ret = wl1251_acx_ac_cfg(wl, wl1251_tx_get_queue(queue),
drivers/net/wireless/ti/wl1251/main.c
1314
ret = wl1251_acx_tid_cfg(wl, wl1251_tx_get_queue(queue),
drivers/net/wireless/ti/wl1251/main.c
1322
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/main.c
1325
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
1333
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
134
wl1251_write_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR, elp_reg);
drivers/net/wireless/ti/wl1251/main.c
1341
survey->noise = wl->noise;
drivers/net/wireless/ti/wl1251/main.c
135
elp_reg = wl1251_read_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR);
drivers/net/wireless/ti/wl1251/main.c
1376
static int wl1251_read_eeprom_byte(struct wl1251 *wl, off_t offset, u8 *data)
drivers/net/wireless/ti/wl1251/main.c
1380
wl1251_reg_write32(wl, EE_ADDR, offset);
drivers/net/wireless/ti/wl1251/main.c
1381
wl1251_reg_write32(wl, EE_CTL, EE_CTL_READ);
drivers/net/wireless/ti/wl1251/main.c
1386
if (!(wl1251_reg_read32(wl, EE_CTL) & EE_CTL_READ))
drivers/net/wireless/ti/wl1251/main.c
1395
*data = wl1251_reg_read32(wl, EE_DATA);
drivers/net/wireless/ti/wl1251/main.c
1399
static int wl1251_read_eeprom(struct wl1251 *wl, off_t offset,
drivers/net/wireless/ti/wl1251/main.c
1405
wl1251_reg_write32(wl, EE_START, 0);
drivers/net/wireless/ti/wl1251/main.c
1408
ret = wl1251_read_eeprom_byte(wl, offset + i, &data[i]);
drivers/net/wireless/ti/wl1251/main.c
141
static int wl1251_chip_wakeup(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1416
static int wl1251_read_eeprom_mac(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1421
wl1251_set_partition(wl, 0, 0, REGISTERS_BASE, REGISTERS_DOWN_SIZE);
drivers/net/wireless/ti/wl1251/main.c
1423
ret = wl1251_read_eeprom(wl, 0x1c, mac, sizeof(mac));
drivers/net/wireless/ti/wl1251/main.c
1431
wl->mac_addr[i] = mac[ETH_ALEN - i - 1];
drivers/net/wireless/ti/wl1251/main.c
1441
static int wl1251_check_nvs_mac(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1443
if (wl->nvs_len < 0x24)
drivers/net/wireless/ti/wl1251/main.c
1447
if (wl->nvs[NVS_OFF_MAC_LEN] != 2 ||
drivers/net/wireless/ti/wl1251/main.c
1448
wl->nvs[NVS_OFF_MAC_ADDR_LO] != 0x6d ||
drivers/net/wireless/ti/wl1251/main.c
1449
wl->nvs[NVS_OFF_MAC_ADDR_HI] != 0x54)
drivers/net/wireless/ti/wl1251/main.c
145
ret = wl1251_power_on(wl);
drivers/net/wireless/ti/wl1251/main.c
1455
static int wl1251_read_nvs_mac(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1460
ret = wl1251_check_nvs_mac(wl);
drivers/net/wireless/ti/wl1251/main.c
1466
mac[i] = wl->nvs[NVS_OFF_MAC_DATA + ETH_ALEN - i - 1];
drivers/net/wireless/ti/wl1251/main.c
1472
memcpy(wl->mac_addr, mac, ETH_ALEN);
drivers/net/wireless/ti/wl1251/main.c
1476
static int wl1251_write_nvs_mac(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1480
ret = wl1251_check_nvs_mac(wl);
drivers/net/wireless/ti/wl1251/main.c
1486
wl->nvs[NVS_OFF_MAC_DATA + i] = wl->mac_addr[ETH_ALEN - i - 1];
drivers/net/wireless/ti/wl1251/main.c
1491
static int wl1251_register_hw(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1495
if (wl->mac80211_registered)
drivers/net/wireless/ti/wl1251/main.c
1498
SET_IEEE80211_PERM_ADDR(wl->hw, wl->mac_addr);
drivers/net/wireless/ti/wl1251/main.c
150
wl->if_ops->reset(wl);
drivers/net/wireless/ti/wl1251/main.c
1500
ret = ieee80211_register_hw(wl->hw);
drivers/net/wireless/ti/wl1251/main.c
1506
wl->mac80211_registered = true;
drivers/net/wireless/ti/wl1251/main.c
1513
int wl1251_init_ieee80211(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1518
wl->hw->extra_tx_headroom = sizeof(struct tx_double_buffer_desc)
drivers/net/wireless/ti/wl1251/main.c
1524
ieee80211_hw_set(wl->hw, SIGNAL_DBM);
drivers/net/wireless/ti/wl1251/main.c
1525
ieee80211_hw_set(wl->hw, SUPPORTS_PS);
drivers/net/wireless/ti/wl1251/main.c
1527
wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
drivers/net/wireless/ti/wl1251/main.c
1529
wl->hw->wiphy->max_scan_ssids = 1;
drivers/net/wireless/ti/wl1251/main.c
1534
wl->hw->wiphy->max_scan_ie_len = 512;
drivers/net/wireless/ti/wl1251/main.c
1536
wl->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wl1251_band_2ghz;
drivers/net/wireless/ti/wl1251/main.c
1538
wl->hw->queues = 4;
drivers/net/wireless/ti/wl1251/main.c
154
wl1251_set_partition(wl,
drivers/net/wireless/ti/wl1251/main.c
1540
if (wl->nvs == NULL && !wl->use_eeprom) {
drivers/net/wireless/ti/wl1251/main.c
1541
ret = wl1251_fetch_nvs(wl);
drivers/net/wireless/ti/wl1251/main.c
1546
if (wl->use_eeprom)
drivers/net/wireless/ti/wl1251/main.c
1547
ret = wl1251_read_eeprom_mac(wl);
drivers/net/wireless/ti/wl1251/main.c
1549
ret = wl1251_read_nvs_mac(wl);
drivers/net/wireless/ti/wl1251/main.c
1551
if (ret == 0 && !is_valid_ether_addr(wl->mac_addr))
drivers/net/wireless/ti/wl1251/main.c
1560
memcpy(wl->mac_addr, nokia_oui, 3);
drivers/net/wireless/ti/wl1251/main.c
1561
get_random_bytes(wl->mac_addr + 3, 3);
drivers/net/wireless/ti/wl1251/main.c
1562
if (!wl->use_eeprom)
drivers/net/wireless/ti/wl1251/main.c
1563
wl1251_write_nvs_mac(wl);
drivers/net/wireless/ti/wl1251/main.c
1565
wl1251_warning("Setting random MAC address: %pM", wl->mac_addr);
drivers/net/wireless/ti/wl1251/main.c
1568
ret = wl1251_register_hw(wl);
drivers/net/wireless/ti/wl1251/main.c
1572
wl1251_debugfs_init(wl);
drivers/net/wireless/ti/wl1251/main.c
1585
struct wl1251 *wl;
drivers/net/wireless/ti/wl1251/main.c
1588
hw = ieee80211_alloc_hw(sizeof(*wl), &wl1251_ops);
drivers/net/wireless/ti/wl1251/main.c
1594
wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
1595
memset(wl, 0, sizeof(*wl));
drivers/net/wireless/ti/wl1251/main.c
1597
wl->hw = hw;
drivers/net/wireless/ti/wl1251/main.c
1599
wl->data_in_count = 0;
drivers/net/wireless/ti/wl1251/main.c
1601
skb_queue_head_init(&wl->tx_queue);
drivers/net/wireless/ti/wl1251/main.c
1603
INIT_DELAYED_WORK(&wl->elp_work, wl1251_elp_work);
drivers/net/wireless/ti/wl1251/main.c
1604
wl->channel = WL1251_DEFAULT_CHANNEL;
drivers/net/wireless/ti/wl1251/main.c
1605
wl->monitor_present = false;
drivers/net/wireless/ti/wl1251/main.c
1606
wl->joined = false;
drivers/net/wireless/ti/wl1251/main.c
1607
wl->scanning = false;
drivers/net/wireless/ti/wl1251/main.c
1608
wl->bss_type = MAX_BSS_TYPE;
drivers/net/wireless/ti/wl1251/main.c
1609
wl->default_key = 0;
drivers/net/wireless/ti/wl1251/main.c
161
wl1251_fw_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
1610
wl->listen_int = 1;
drivers/net/wireless/ti/wl1251/main.c
1611
wl->rx_counter = 0;
drivers/net/wireless/ti/wl1251/main.c
1612
wl->rx_handled = 0;
drivers/net/wireless/ti/wl1251/main.c
1613
wl->rx_current_buffer = 0;
drivers/net/wireless/ti/wl1251/main.c
1614
wl->rx_last_id = 0;
drivers/net/wireless/ti/wl1251/main.c
1615
wl->rx_config = WL1251_DEFAULT_RX_CONFIG;
drivers/net/wireless/ti/wl1251/main.c
1616
wl->rx_filter = WL1251_DEFAULT_RX_FILTER;
drivers/net/wireless/ti/wl1251/main.c
1617
wl->elp = false;
drivers/net/wireless/ti/wl1251/main.c
1618
wl->station_mode = STATION_ACTIVE_MODE;
drivers/net/wireless/ti/wl1251/main.c
1619
wl->psm_requested = false;
drivers/net/wireless/ti/wl1251/main.c
1620
wl->psm_entry_retry = 0;
drivers/net/wireless/ti/wl1251/main.c
1621
wl->tx_queue_stopped = false;
drivers/net/wireless/ti/wl1251/main.c
1622
wl->power_level = WL1251_DEFAULT_POWER_LEVEL;
drivers/net/wireless/ti/wl1251/main.c
1623
wl->rssi_thold = 0;
drivers/net/wireless/ti/wl1251/main.c
1624
wl->beacon_int = WL1251_DEFAULT_BEACON_INT;
drivers/net/wireless/ti/wl1251/main.c
1625
wl->dtim_period = WL1251_DEFAULT_DTIM_PERIOD;
drivers/net/wireless/ti/wl1251/main.c
1626
wl->vif = NULL;
drivers/net/wireless/ti/wl1251/main.c
1629
wl->tx_frames[i] = NULL;
drivers/net/wireless/ti/wl1251/main.c
1631
wl->next_tx_complete = 0;
drivers/net/wireless/ti/wl1251/main.c
1633
INIT_WORK(&wl->irq_work, wl1251_irq_work);
drivers/net/wireless/ti/wl1251/main.c
1634
INIT_WORK(&wl->tx_work, wl1251_tx_work);
drivers/net/wireless/ti/wl1251/main.c
1636
wl->state = WL1251_STATE_OFF;
drivers/net/wireless/ti/wl1251/main.c
1637
mutex_init(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
1638
spin_lock_init(&wl->wl_lock);
drivers/net/wireless/ti/wl1251/main.c
1640
wl->tx_mgmt_frm_rate = DEFAULT_HW_GEN_TX_RATE;
drivers/net/wireless/ti/wl1251/main.c
1641
wl->tx_mgmt_frm_mod = DEFAULT_HW_GEN_MODULATION_TYPE;
drivers/net/wireless/ti/wl1251/main.c
1643
wl->rx_descriptor = kmalloc_obj(*wl->rx_descriptor);
drivers/net/wireless/ti/wl1251/main.c
1644
if (!wl->rx_descriptor) {
drivers/net/wireless/ti/wl1251/main.c
1654
int wl1251_free_hw(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
1656
ieee80211_unregister_hw(wl->hw);
drivers/net/wireless/ti/wl1251/main.c
1658
wl1251_debugfs_exit(wl);
drivers/net/wireless/ti/wl1251/main.c
166
wl->chip_id = wl1251_reg_read32(wl, CHIP_ID_B);
drivers/net/wireless/ti/wl1251/main.c
1660
kfree(wl->target_mem_map);
drivers/net/wireless/ti/wl1251/main.c
1661
kfree(wl->data_path);
drivers/net/wireless/ti/wl1251/main.c
1662
vfree(wl->fw);
drivers/net/wireless/ti/wl1251/main.c
1663
wl->fw = NULL;
drivers/net/wireless/ti/wl1251/main.c
1664
kfree(wl->nvs);
drivers/net/wireless/ti/wl1251/main.c
1665
wl->nvs = NULL;
drivers/net/wireless/ti/wl1251/main.c
1667
kfree(wl->rx_descriptor);
drivers/net/wireless/ti/wl1251/main.c
1668
wl->rx_descriptor = NULL;
drivers/net/wireless/ti/wl1251/main.c
1670
ieee80211_free_hw(wl->hw);
drivers/net/wireless/ti/wl1251/main.c
170
switch (wl->chip_id) {
drivers/net/wireless/ti/wl1251/main.c
173
wl->chip_id);
drivers/net/wireless/ti/wl1251/main.c
177
wl->chip_id);
drivers/net/wireless/ti/wl1251/main.c
181
wl1251_error("unsupported chip id: 0x%x", wl->chip_id);
drivers/net/wireless/ti/wl1251/main.c
186
if (wl->fw == NULL) {
drivers/net/wireless/ti/wl1251/main.c
187
ret = wl1251_fetch_firmware(wl);
drivers/net/wireless/ti/wl1251/main.c
200
struct wl1251 *wl =
drivers/net/wireless/ti/wl1251/main.c
204
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
208
if (wl->state == WL1251_STATE_OFF)
drivers/net/wireless/ti/wl1251/main.c
211
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
215
wl1251_reg_write32(wl, ACX_REG_INTERRUPT_MASK, WL1251_ACX_INTR_ALL);
drivers/net/wireless/ti/wl1251/main.c
217
intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_CLEAR);
drivers/net/wireless/ti/wl1251/main.c
221
if (wl->data_path) {
drivers/net/wireless/ti/wl1251/main.c
222
wl->rx_counter = wl1251_mem_read32(
drivers/net/wireless/ti/wl1251/main.c
223
wl, wl->data_path->rx_control_addr);
drivers/net/wireless/ti/wl1251/main.c
226
switch ((wl->rx_counter - wl->rx_handled) & 0xf) {
drivers/net/wireless/ti/wl1251/main.c
246
wl->rx_counter - wl->rx_handled);
drivers/net/wireless/ti/wl1251/main.c
250
wl->rx_handled = wl->rx_counter;
drivers/net/wireless/ti/wl1251/main.c
253
wl->rx_counter);
drivers/net/wireless/ti/wl1251/main.c
256
intr &= wl->intr_mask;
drivers/net/wireless/ti/wl1251/main.c
265
wl1251_rx(wl);
drivers/net/wireless/ti/wl1251/main.c
270
wl1251_rx(wl);
drivers/net/wireless/ti/wl1251/main.c
275
wl1251_tx_complete(wl);
drivers/net/wireless/ti/wl1251/main.c
280
wl1251_event_handle(wl, 0);
drivers/net/wireless/ti/wl1251/main.c
285
wl1251_event_handle(wl, 1);
drivers/net/wireless/ti/wl1251/main.c
295
intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_CLEAR);
drivers/net/wireless/ti/wl1251/main.c
299
wl1251_reg_write32(wl, ACX_REG_INTERRUPT_MASK, ~(wl->intr_mask));
drivers/net/wireless/ti/wl1251/main.c
300
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/main.c
303
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
306
static int wl1251_join(struct wl1251 *wl, u8 bss_type, u8 channel,
drivers/net/wireless/ti/wl1251/main.c
311
ret = wl1251_acx_frame_rates(wl, DEFAULT_HW_GEN_TX_RATE,
drivers/net/wireless/ti/wl1251/main.c
313
wl->tx_mgmt_frm_rate,
drivers/net/wireless/ti/wl1251/main.c
314
wl->tx_mgmt_frm_mod);
drivers/net/wireless/ti/wl1251/main.c
32
void wl1251_enable_interrupts(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
322
if (is_zero_ether_addr(wl->bssid))
drivers/net/wireless/ti/wl1251/main.c
323
wl->rx_config &= ~CFG_BSSID_FILTER_EN;
drivers/net/wireless/ti/wl1251/main.c
325
ret = wl1251_cmd_join(wl, bss_type, channel, beacon_interval,
drivers/net/wireless/ti/wl1251/main.c
330
ret = wl1251_event_wait(wl, JOIN_EVENT_COMPLETE_ID, 100);
drivers/net/wireless/ti/wl1251/main.c
34
wl->if_ops->enable_irq(wl);
drivers/net/wireless/ti/wl1251/main.c
342
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
345
skb_queue_tail(&wl->tx_queue, skb);
drivers/net/wireless/ti/wl1251/main.c
352
ieee80211_queue_work(wl->hw, &wl->tx_work);
drivers/net/wireless/ti/wl1251/main.c
358
if (skb_queue_len(&wl->tx_queue) >= WL1251_TX_QUEUE_HIGH_WATERMARK) {
drivers/net/wireless/ti/wl1251/main.c
361
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wl1251/main.c
362
ieee80211_stop_queues(wl->hw);
drivers/net/wireless/ti/wl1251/main.c
363
wl->tx_queue_stopped = true;
drivers/net/wireless/ti/wl1251/main.c
364
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wl1251/main.c
37
void wl1251_disable_interrupts(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
370
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
376
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
378
if (wl->state != WL1251_STATE_OFF) {
drivers/net/wireless/ti/wl1251/main.c
380
wl->state);
drivers/net/wireless/ti/wl1251/main.c
385
ret = wl1251_chip_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
389
ret = wl1251_boot(wl);
drivers/net/wireless/ti/wl1251/main.c
39
wl->if_ops->disable_irq(wl);
drivers/net/wireless/ti/wl1251/main.c
393
ret = wl1251_hw_init(wl);
drivers/net/wireless/ti/wl1251/main.c
397
ret = wl1251_acx_station_id(wl);
drivers/net/wireless/ti/wl1251/main.c
401
wl->state = WL1251_STATE_ON;
drivers/net/wireless/ti/wl1251/main.c
403
wl1251_info("firmware booted (%s)", wl->fw_ver);
drivers/net/wireless/ti/wl1251/main.c
406
wiphy->hw_version = wl->chip_id;
drivers/net/wireless/ti/wl1251/main.c
407
strscpy(wiphy->fw_version, wl->fw_ver, sizeof(wiphy->fw_version));
drivers/net/wireless/ti/wl1251/main.c
411
wl1251_power_off(wl);
drivers/net/wireless/ti/wl1251/main.c
413
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
42
static int wl1251_power_off(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
420
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
426
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
428
WARN_ON(wl->state != WL1251_STATE_ON);
drivers/net/wireless/ti/wl1251/main.c
430
if (wl->scanning) {
drivers/net/wireless/ti/wl1251/main.c
435
ieee80211_scan_completed(wl->hw, &info);
drivers/net/wireless/ti/wl1251/main.c
436
wl->scanning = false;
drivers/net/wireless/ti/wl1251/main.c
439
wl->state = WL1251_STATE_OFF;
drivers/net/wireless/ti/wl1251/main.c
44
return wl->if_ops->power(wl, false);
drivers/net/wireless/ti/wl1251/main.c
441
wl1251_disable_interrupts(wl);
drivers/net/wireless/ti/wl1251/main.c
443
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
445
cancel_work_sync(&wl->irq_work);
drivers/net/wireless/ti/wl1251/main.c
446
cancel_work_sync(&wl->tx_work);
drivers/net/wireless/ti/wl1251/main.c
447
cancel_delayed_work_sync(&wl->elp_work);
drivers/net/wireless/ti/wl1251/main.c
449
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
452
wl1251_tx_flush(wl);
drivers/net/wireless/ti/wl1251/main.c
453
wl1251_power_off(wl);
drivers/net/wireless/ti/wl1251/main.c
455
eth_zero_addr(wl->bssid);
drivers/net/wireless/ti/wl1251/main.c
456
wl->listen_int = 1;
drivers/net/wireless/ti/wl1251/main.c
457
wl->bss_type = MAX_BSS_TYPE;
drivers/net/wireless/ti/wl1251/main.c
459
wl->data_in_count = 0;
drivers/net/wireless/ti/wl1251/main.c
460
wl->rx_counter = 0;
drivers/net/wireless/ti/wl1251/main.c
461
wl->rx_handled = 0;
drivers/net/wireless/ti/wl1251/main.c
462
wl->rx_current_buffer = 0;
drivers/net/wireless/ti/wl1251/main.c
463
wl->rx_last_id = 0;
drivers/net/wireless/ti/wl1251/main.c
464
wl->next_tx_complete = 0;
drivers/net/wireless/ti/wl1251/main.c
465
wl->elp = false;
drivers/net/wireless/ti/wl1251/main.c
466
wl->station_mode = STATION_ACTIVE_MODE;
drivers/net/wireless/ti/wl1251/main.c
467
wl->psm_entry_retry = 0;
drivers/net/wireless/ti/wl1251/main.c
468
wl->tx_queue_stopped = false;
drivers/net/wireless/ti/wl1251/main.c
469
wl->power_level = WL1251_DEFAULT_POWER_LEVEL;
drivers/net/wireless/ti/wl1251/main.c
47
static int wl1251_power_on(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
470
wl->rssi_thold = 0;
drivers/net/wireless/ti/wl1251/main.c
471
wl->channel = WL1251_DEFAULT_CHANNEL;
drivers/net/wireless/ti/wl1251/main.c
472
wl->monitor_present = false;
drivers/net/wireless/ti/wl1251/main.c
473
wl->joined = false;
drivers/net/wireless/ti/wl1251/main.c
475
wl1251_debugfs_reset(wl);
drivers/net/wireless/ti/wl1251/main.c
477
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
483
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
49
return wl->if_ops->power(wl, true);
drivers/net/wireless/ti/wl1251/main.c
493
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
494
if (wl->vif) {
drivers/net/wireless/ti/wl1251/main.c
499
wl->vif = vif;
drivers/net/wireless/ti/wl1251/main.c
503
wl->bss_type = BSS_TYPE_STA_BSS;
drivers/net/wireless/ti/wl1251/main.c
506
wl->bss_type = BSS_TYPE_IBSS;
drivers/net/wireless/ti/wl1251/main.c
513
if (!ether_addr_equal_unaligned(wl->mac_addr, vif->addr)) {
drivers/net/wireless/ti/wl1251/main.c
514
memcpy(wl->mac_addr, vif->addr, ETH_ALEN);
drivers/net/wireless/ti/wl1251/main.c
515
SET_IEEE80211_PERM_ADDR(wl->hw, wl->mac_addr);
drivers/net/wireless/ti/wl1251/main.c
516
ret = wl1251_acx_station_id(wl);
drivers/net/wireless/ti/wl1251/main.c
52
static int wl1251_fetch_firmware(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
522
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
529
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
531
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
533
wl->vif = NULL;
drivers/net/wireless/ti/wl1251/main.c
534
eth_zero_addr(wl->bssid);
drivers/net/wireless/ti/wl1251/main.c
535
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
538
static int wl1251_build_null_data(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
545
if (wl->bss_type == BSS_TYPE_IBSS) {
drivers/net/wireless/ti/wl1251/main.c
549
skb = ieee80211_nullfunc_get(wl->hw, wl->vif, -1, false);
drivers/net/wireless/ti/wl1251/main.c
55
struct device *dev = wiphy_dev(wl->hw->wiphy);
drivers/net/wireless/ti/wl1251/main.c
556
ret = wl1251_cmd_template_set(wl, CMD_NULL_DATA, ptr, size);
drivers/net/wireless/ti/wl1251/main.c
566
static int wl1251_build_qos_null_data(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
572
memcpy(template.addr1, wl->bssid, ETH_ALEN);
drivers/net/wireless/ti/wl1251/main.c
573
memcpy(template.addr2, wl->mac_addr, ETH_ALEN);
drivers/net/wireless/ti/wl1251/main.c
574
memcpy(template.addr3, wl->bssid, ETH_ALEN);
drivers/net/wireless/ti/wl1251/main.c
583
return wl1251_cmd_template_set(wl, CMD_QOS_NULL_DATA, &template,
drivers/net/wireless/ti/wl1251/main.c
587
static bool wl1251_can_do_pm(struct ieee80211_conf *conf, struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
589
return (conf->flags & IEEE80211_CONF_PS) && !wl->monitor_present;
drivers/net/wireless/ti/wl1251/main.c
594
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
608
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
610
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
618
wl->monitor_present = true;
drivers/net/wireless/ti/wl1251/main.c
621
wl->monitor_present = false;
drivers/net/wireless/ti/wl1251/main.c
625
ret = wl1251_acx_feature_cfg(wl, mode);
drivers/net/wireless/ti/wl1251/main.c
630
if (channel != wl->channel) {
drivers/net/wireless/ti/wl1251/main.c
631
wl->channel = channel;
drivers/net/wireless/ti/wl1251/main.c
640
if (wl->vif == NULL) {
drivers/net/wireless/ti/wl1251/main.c
641
wl->joined = false;
drivers/net/wireless/ti/wl1251/main.c
642
ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1);
drivers/net/wireless/ti/wl1251/main.c
644
ret = wl1251_join(wl, wl->bss_type, wl->channel,
drivers/net/wireless/ti/wl1251/main.c
645
wl->beacon_int, wl->dtim_period);
drivers/net/wireless/ti/wl1251/main.c
651
if (wl1251_can_do_pm(conf, wl) && !wl->psm_requested) {
drivers/net/wireless/ti/wl1251/main.c
654
wl->psm_requested = true;
drivers/net/wireless/ti/wl1251/main.c
656
wl->dtim_period = conf->ps_dtim_period;
drivers/net/wireless/ti/wl1251/main.c
658
ret = wl1251_acx_wr_tbtt_and_dtim(wl, wl->beacon_int,
drivers/net/wireless/ti/wl1251/main.c
659
wl->dtim_period);
drivers/net/wireless/ti/wl1251/main.c
664
ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE);
drivers/net/wireless/ti/wl1251/main.c
667
} else if (!wl1251_can_do_pm(conf, wl) && wl->psm_requested) {
drivers/net/wireless/ti/wl1251/main.c
670
wl->psm_requested = false;
drivers/net/wireless/ti/wl1251/main.c
672
if (wl->station_mode != STATION_ACTIVE_MODE) {
drivers/net/wireless/ti/wl1251/main.c
673
ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE);
drivers/net/wireless/ti/wl1251/main.c
679
if (changed & IEEE80211_CONF_CHANGE_IDLE && !wl->scanning) {
drivers/net/wireless/ti/wl1251/main.c
681
ret = wl1251_ps_set_mode(wl, STATION_IDLE);
drivers/net/wireless/ti/wl1251/main.c
685
ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE);
drivers/net/wireless/ti/wl1251/main.c
688
ret = wl1251_join(wl, wl->bss_type, wl->channel,
drivers/net/wireless/ti/wl1251/main.c
689
wl->beacon_int, wl->dtim_period);
drivers/net/wireless/ti/wl1251/main.c
695
if (conf->power_level != wl->power_level) {
drivers/net/wireless/ti/wl1251/main.c
696
ret = wl1251_acx_tx_power(wl, conf->power_level);
drivers/net/wireless/ti/wl1251/main.c
700
wl->power_level = conf->power_level;
drivers/net/wireless/ti/wl1251/main.c
704
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/main.c
707
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
72
wl->fw_len = fw->size;
drivers/net/wireless/ti/wl1251/main.c
723
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
725
if (unlikely(wl->state == WL1251_STATE_OFF))
drivers/net/wireless/ti/wl1251/main.c
73
wl->fw = vmalloc(wl->fw_len);
drivers/net/wireless/ti/wl1251/main.c
75
if (!wl->fw) {
drivers/net/wireless/ti/wl1251/main.c
762
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
776
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
778
wl->rx_config = WL1251_DEFAULT_RX_CONFIG;
drivers/net/wireless/ti/wl1251/main.c
779
wl->rx_filter = WL1251_DEFAULT_RX_FILTER;
drivers/net/wireless/ti/wl1251/main.c
786
wl->rx_config &= ~CFG_MC_FILTER_EN;
drivers/net/wireless/ti/wl1251/main.c
788
wl->rx_filter |= CFG_RX_FCS_ERROR;
drivers/net/wireless/ti/wl1251/main.c
790
wl->rx_config &= ~CFG_BSSID_FILTER_EN;
drivers/net/wireless/ti/wl1251/main.c
791
wl->rx_config &= ~CFG_SSID_FILTER_EN;
drivers/net/wireless/ti/wl1251/main.c
794
wl->rx_filter |= CFG_RX_CTL_EN;
drivers/net/wireless/ti/wl1251/main.c
795
if (*total & FIF_OTHER_BSS || is_zero_ether_addr(wl->bssid))
drivers/net/wireless/ti/wl1251/main.c
796
wl->rx_config &= ~CFG_BSSID_FILTER_EN;
drivers/net/wireless/ti/wl1251/main.c
798
wl->rx_filter |= CFG_RX_PREQ_EN;
drivers/net/wireless/ti/wl1251/main.c
800
if (wl->state == WL1251_STATE_OFF)
drivers/net/wireless/ti/wl1251/main.c
803
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
808
ret = wl1251_acx_group_address_tbl(wl, false, NULL, 0);
drivers/net/wireless/ti/wl1251/main.c
81
memcpy(wl->fw, fw->data, wl->fw_len);
drivers/net/wireless/ti/wl1251/main.c
810
ret = wl1251_acx_group_address_tbl(wl, fp->enabled,
drivers/net/wireless/ti/wl1251/main.c
817
wl1251_acx_rx_config(wl, wl->rx_config, wl->rx_filter);
drivers/net/wireless/ti/wl1251/main.c
819
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/main.c
822
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
827
static int wl1251_set_key_type(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/main.c
871
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
901
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
905
if (wl->monitor_present) {
drivers/net/wireless/ti/wl1251/main.c
91
static int wl1251_fetch_nvs(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/main.c
919
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/main.c
923
ret = wl1251_set_key_type(wl, wl_cmd, cmd, key, addr);
drivers/net/wireless/ti/wl1251/main.c
94
struct device *dev = wiphy_dev(wl->hw->wiphy);
drivers/net/wireless/ti/wl1251/main.c
954
ret = wl1251_cmd_send(wl, CMD_SET_KEYS, wl_cmd, sizeof(*wl_cmd));
drivers/net/wireless/ti/wl1251/main.c
961
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/main.c
964
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
977
struct wl1251 *wl = hw->priv;
drivers/net/wireless/ti/wl1251/main.c
990
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/main.c
992
if (wl->scanning) {
drivers/net/wireless/ti/wl1251/main.c
998
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/ps.c
101
ret = wl1251_acx_beacon_filter_opt(wl, true);
drivers/net/wireless/ti/wl1251/ps.c
105
ret = wl1251_acx_wake_up_conditions(wl,
drivers/net/wireless/ti/wl1251/ps.c
107
wl->listen_int);
drivers/net/wireless/ti/wl1251/ps.c
111
ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_ENABLE,
drivers/net/wireless/ti/wl1251/ps.c
116
ret = wl1251_cmd_ps_mode(wl, CHIP_POWER_SAVE_MODE);
drivers/net/wireless/ti/wl1251/ps.c
120
ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_ELP);
drivers/net/wireless/ti/wl1251/ps.c
127
ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_ELP);
drivers/net/wireless/ti/wl1251/ps.c
131
ret = wl1251_cmd_template_set(wl, CMD_DISCONNECT, NULL, 0);
drivers/net/wireless/ti/wl1251/ps.c
139
ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_CAM);
drivers/net/wireless/ti/wl1251/ps.c
144
ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_DISABLE,
drivers/net/wireless/ti/wl1251/ps.c
150
ret = wl1251_acx_beacon_filter_opt(wl, false);
drivers/net/wireless/ti/wl1251/ps.c
154
ret = wl1251_acx_wake_up_conditions(wl,
drivers/net/wireless/ti/wl1251/ps.c
156
wl->listen_int);
drivers/net/wireless/ti/wl1251/ps.c
160
ret = wl1251_cmd_ps_mode(wl, CHIP_ACTIVE_MODE);
drivers/net/wireless/ti/wl1251/ps.c
166
wl->station_mode = mode;
drivers/net/wireless/ti/wl1251/ps.c
19
struct wl1251 *wl;
drivers/net/wireless/ti/wl1251/ps.c
22
wl = container_of(dwork, struct wl1251, elp_work);
drivers/net/wireless/ti/wl1251/ps.c
26
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/ps.c
28
if (wl->elp || wl->station_mode == STATION_ACTIVE_MODE)
drivers/net/wireless/ti/wl1251/ps.c
32
wl1251_write_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR, ELPCTRL_SLEEP);
drivers/net/wireless/ti/wl1251/ps.c
33
wl->elp = true;
drivers/net/wireless/ti/wl1251/ps.c
36
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/ps.c
42
void wl1251_ps_elp_sleep(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/ps.c
46
if (wl->station_mode != STATION_ACTIVE_MODE) {
drivers/net/wireless/ti/wl1251/ps.c
48
ieee80211_queue_delayed_work(wl->hw, &wl->elp_work, delay);
drivers/net/wireless/ti/wl1251/ps.c
52
int wl1251_ps_elp_wakeup(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/ps.c
57
cancel_delayed_work(&wl->elp_work);
drivers/net/wireless/ti/wl1251/ps.c
59
if (!wl->elp)
drivers/net/wireless/ti/wl1251/ps.c
67
wl1251_write_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR, ELPCTRL_WAKE_UP);
drivers/net/wireless/ti/wl1251/ps.c
69
elp_reg = wl1251_read_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR);
drivers/net/wireless/ti/wl1251/ps.c
81
elp_reg = wl1251_read_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR);
drivers/net/wireless/ti/wl1251/ps.c
87
wl->elp = false;
drivers/net/wireless/ti/wl1251/ps.c
92
int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode)
drivers/net/wireless/ti/wl1251/ps.h
15
int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode);
drivers/net/wireless/ti/wl1251/ps.h
16
void wl1251_ps_elp_sleep(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/ps.h
17
int wl1251_ps_elp_wakeup(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/rx.c
133
static void wl1251_rx_body(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/rx.c
144
last_id_inc = (wl->rx_last_id + 1) % (RX_MAX_PACKET_ID + 1);
drivers/net/wireless/ti/wl1251/rx.c
149
wl->rx_last_id = curr_id;
drivers/net/wireless/ti/wl1251/rx.c
151
wl->rx_last_id = last_id_inc;
drivers/net/wireless/ti/wl1251/rx.c
154
rx_packet_ring_addr = wl->data_path->rx_packet_ring_addr +
drivers/net/wireless/ti/wl1251/rx.c
156
if (wl->rx_current_buffer)
drivers/net/wireless/ti/wl1251/rx.c
157
rx_packet_ring_addr += wl->data_path->rx_packet_ring_chunk_size;
drivers/net/wireless/ti/wl1251/rx.c
166
wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length);
drivers/net/wireless/ti/wl1251/rx.c
176
wl1251_rx_status(wl, desc, &status, beacon);
drivers/net/wireless/ti/wl1251/rx.c
182
ieee80211_rx_ni(wl->hw, skb);
drivers/net/wireless/ti/wl1251/rx.c
185
static void wl1251_rx_ack(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/rx.c
189
if (wl->rx_current_buffer) {
drivers/net/wireless/ti/wl1251/rx.c
197
wl1251_reg_write32(wl, addr, data);
drivers/net/wireless/ti/wl1251/rx.c
20
static void wl1251_rx_header(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/rx.c
200
wl->rx_current_buffer = !wl->rx_current_buffer;
drivers/net/wireless/ti/wl1251/rx.c
204
void wl1251_rx(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/rx.c
208
if (wl->state != WL1251_STATE_ON)
drivers/net/wireless/ti/wl1251/rx.c
211
rx_desc = wl->rx_descriptor;
drivers/net/wireless/ti/wl1251/rx.c
214
wl1251_rx_header(wl, rx_desc);
drivers/net/wireless/ti/wl1251/rx.c
217
wl1251_rx_body(wl, rx_desc);
drivers/net/wireless/ti/wl1251/rx.c
220
wl1251_rx_ack(wl);
drivers/net/wireless/ti/wl1251/rx.c
25
rx_packet_ring_addr = wl->data_path->rx_packet_ring_addr;
drivers/net/wireless/ti/wl1251/rx.c
26
if (wl->rx_current_buffer)
drivers/net/wireless/ti/wl1251/rx.c
27
rx_packet_ring_addr += wl->data_path->rx_packet_ring_chunk_size;
drivers/net/wireless/ti/wl1251/rx.c
29
wl1251_mem_read(wl, rx_packet_ring_addr, desc, sizeof(*desc));
drivers/net/wireless/ti/wl1251/rx.c
32
static void wl1251_rx_status(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/rx.c
53
if ((wl->bss_type == BSS_TYPE_IBSS) && beacon) {
drivers/net/wireless/ti/wl1251/rx.c
54
ret = wl1251_acx_tsf_info(wl, &mactime);
drivers/net/wireless/ti/wl1251/rx.c
65
wl->noise = desc->rssi - desc->snr / 2;
drivers/net/wireless/ti/wl1251/rx.c
72
if (!wl->monitor_present && (desc->flags & RX_DESC_ENCRYPTION_MASK)) {
drivers/net/wireless/ti/wl1251/rx.h
106
void wl1251_rx(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/sdio.c
112
static void wl1251_sdio_reset(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/sdio.c
116
static void wl1251_sdio_enable_irq(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/sdio.c
118
struct sdio_func *func = wl_to_func(wl);
drivers/net/wireless/ti/wl1251/sdio.c
125
static void wl1251_sdio_disable_irq(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/sdio.c
127
struct sdio_func *func = wl_to_func(wl);
drivers/net/wireless/ti/wl1251/sdio.c
137
struct wl1251 *wl = cookie;
drivers/net/wireless/ti/wl1251/sdio.c
139
ieee80211_queue_work(wl->hw, &wl->irq_work);
drivers/net/wireless/ti/wl1251/sdio.c
144
static void wl1251_enable_line_irq(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/sdio.c
146
return enable_irq(wl->irq);
drivers/net/wireless/ti/wl1251/sdio.c
149
static void wl1251_disable_line_irq(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/sdio.c
151
return disable_irq(wl->irq);
drivers/net/wireless/ti/wl1251/sdio.c
154
static int wl1251_sdio_set_power(struct wl1251 *wl, bool enable)
drivers/net/wireless/ti/wl1251/sdio.c
156
struct sdio_func *func = wl_to_func(wl);
drivers/net/wireless/ti/wl1251/sdio.c
196
struct wl1251 *wl;
drivers/net/wireless/ti/wl1251/sdio.c
205
wl = hw->priv;
drivers/net/wireless/ti/wl1251/sdio.c
223
wl->if_priv = wl_sdio;
drivers/net/wireless/ti/wl1251/sdio.c
224
wl->if_ops = &wl1251_sdio_ops;
drivers/net/wireless/ti/wl1251/sdio.c
227
wl->use_eeprom = of_property_read_bool(np, "ti,wl1251-has-eeprom");
drivers/net/wireless/ti/wl1251/sdio.c
228
wl->irq = of_irq_get(np, 0);
drivers/net/wireless/ti/wl1251/sdio.c
229
if (wl->irq == -EPROBE_DEFER) {
drivers/net/wireless/ti/wl1251/sdio.c
235
if (wl->irq) {
drivers/net/wireless/ti/wl1251/sdio.c
236
ret = request_irq(wl->irq, wl1251_line_irq, IRQF_NO_AUTOEN,
drivers/net/wireless/ti/wl1251/sdio.c
237
"wl1251", wl);
drivers/net/wireless/ti/wl1251/sdio.c
243
irq_set_irq_type(wl->irq, IRQ_TYPE_EDGE_RISING);
drivers/net/wireless/ti/wl1251/sdio.c
256
ret = wl1251_init_ieee80211(wl);
drivers/net/wireless/ti/wl1251/sdio.c
260
sdio_set_drvdata(func, wl);
drivers/net/wireless/ti/wl1251/sdio.c
268
if (wl->irq)
drivers/net/wireless/ti/wl1251/sdio.c
269
free_irq(wl->irq, wl);
drivers/net/wireless/ti/wl1251/sdio.c
27
static struct sdio_func *wl_to_func(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/sdio.c
277
wl1251_free_hw(wl);
drivers/net/wireless/ti/wl1251/sdio.c
283
struct wl1251 *wl = sdio_get_drvdata(func);
drivers/net/wireless/ti/wl1251/sdio.c
284
struct wl1251_sdio *wl_sdio = wl->if_priv;
drivers/net/wireless/ti/wl1251/sdio.c
289
if (wl->irq)
drivers/net/wireless/ti/wl1251/sdio.c
29
struct wl1251_sdio *wl_sdio = wl->if_priv;
drivers/net/wireless/ti/wl1251/sdio.c
290
free_irq(wl->irq, wl);
drivers/net/wireless/ti/wl1251/sdio.c
291
wl1251_free_hw(wl);
drivers/net/wireless/ti/wl1251/sdio.c
35
struct wl1251 *wl = sdio_get_drvdata(func);
drivers/net/wireless/ti/wl1251/sdio.c
40
ieee80211_queue_work(wl->hw, &wl->irq_work);
drivers/net/wireless/ti/wl1251/sdio.c
50
static void wl1251_sdio_read(struct wl1251 *wl, int addr,
drivers/net/wireless/ti/wl1251/sdio.c
54
struct sdio_func *func = wl_to_func(wl);
drivers/net/wireless/ti/wl1251/sdio.c
63
static void wl1251_sdio_write(struct wl1251 *wl, int addr,
drivers/net/wireless/ti/wl1251/sdio.c
67
struct sdio_func *func = wl_to_func(wl);
drivers/net/wireless/ti/wl1251/sdio.c
76
static void wl1251_sdio_read_elp(struct wl1251 *wl, int addr, u32 *val)
drivers/net/wireless/ti/wl1251/sdio.c
79
struct wl1251_sdio *wl_sdio = wl->if_priv;
drivers/net/wireless/ti/wl1251/sdio.c
96
static void wl1251_sdio_write_elp(struct wl1251 *wl, int addr, u32 val)
drivers/net/wireless/ti/wl1251/sdio.c
99
struct wl1251_sdio *wl_sdio = wl->if_priv;
drivers/net/wireless/ti/wl1251/spi.c
124
static void wl1251_spi_reset_wake(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/spi.c
126
wl1251_spi_reset(wl);
drivers/net/wireless/ti/wl1251/spi.c
127
wl1251_spi_wake(wl);
drivers/net/wireless/ti/wl1251/spi.c
130
static void wl1251_spi_read(struct wl1251 *wl, int addr, void *buf,
drivers/net/wireless/ti/wl1251/spi.c
133
struct wl1251_spi *wl_spi = wl->if_priv;
drivers/net/wireless/ti/wl1251/spi.c
139
cmd = &wl->buffer_cmd;
drivers/net/wireless/ti/wl1251/spi.c
140
busy_buf = wl->buffer_busyword;
drivers/net/wireless/ti/wl1251/spi.c
171
static void wl1251_spi_write(struct wl1251 *wl, int addr, void *buf,
drivers/net/wireless/ti/wl1251/spi.c
174
struct wl1251_spi *wl_spi = wl->if_priv;
drivers/net/wireless/ti/wl1251/spi.c
179
cmd = &wl->buffer_cmd;
drivers/net/wireless/ti/wl1251/spi.c
203
static void wl1251_spi_enable_irq(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/spi.c
205
return enable_irq(wl->irq);
drivers/net/wireless/ti/wl1251/spi.c
208
static void wl1251_spi_disable_irq(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/spi.c
210
return disable_irq(wl->irq);
drivers/net/wireless/ti/wl1251/spi.c
213
static int wl1251_spi_set_power(struct wl1251 *wl, bool enable)
drivers/net/wireless/ti/wl1251/spi.c
215
struct wl1251_spi *wl_spi = wl->if_priv;
drivers/net/wireless/ti/wl1251/spi.c
237
struct wl1251 *wl;
drivers/net/wireless/ti/wl1251/spi.c
253
wl = hw->priv;
drivers/net/wireless/ti/wl1251/spi.c
256
spi_set_drvdata(spi, wl);
drivers/net/wireless/ti/wl1251/spi.c
257
wl->if_priv = wl_spi;
drivers/net/wireless/ti/wl1251/spi.c
258
wl->if_ops = &wl1251_spi_ops;
drivers/net/wireless/ti/wl1251/spi.c
271
wl->use_eeprom = of_property_read_bool(np, "ti,wl1251-has-eeprom");
drivers/net/wireless/ti/wl1251/spi.c
284
wl->irq = spi->irq;
drivers/net/wireless/ti/wl1251/spi.c
285
if (wl->irq < 0) {
drivers/net/wireless/ti/wl1251/spi.c
291
irq_set_status_flags(wl->irq, IRQ_NOAUTOEN);
drivers/net/wireless/ti/wl1251/spi.c
292
ret = devm_request_irq(&spi->dev, wl->irq, wl1251_irq, 0,
drivers/net/wireless/ti/wl1251/spi.c
293
DRIVER_NAME, wl);
drivers/net/wireless/ti/wl1251/spi.c
299
irq_set_irq_type(wl->irq, IRQ_TYPE_EDGE_RISING);
drivers/net/wireless/ti/wl1251/spi.c
301
wl->vio = devm_regulator_get(&spi->dev, "vio");
drivers/net/wireless/ti/wl1251/spi.c
302
if (IS_ERR(wl->vio)) {
drivers/net/wireless/ti/wl1251/spi.c
303
ret = PTR_ERR(wl->vio);
drivers/net/wireless/ti/wl1251/spi.c
308
ret = regulator_enable(wl->vio);
drivers/net/wireless/ti/wl1251/spi.c
31
struct wl1251 *wl;
drivers/net/wireless/ti/wl1251/spi.c
312
ret = wl1251_init_ieee80211(wl);
drivers/net/wireless/ti/wl1251/spi.c
319
regulator_disable(wl->vio);
drivers/net/wireless/ti/wl1251/spi.c
328
struct wl1251 *wl = spi_get_drvdata(spi);
drivers/net/wireless/ti/wl1251/spi.c
330
wl1251_free_hw(wl);
drivers/net/wireless/ti/wl1251/spi.c
331
regulator_disable(wl->vio);
drivers/net/wireless/ti/wl1251/spi.c
35
wl = cookie;
drivers/net/wireless/ti/wl1251/spi.c
37
ieee80211_queue_work(wl->hw, &wl->irq_work);
drivers/net/wireless/ti/wl1251/spi.c
42
static void wl1251_spi_reset(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/spi.c
44
struct wl1251_spi *wl_spi = wl->if_priv;
drivers/net/wireless/ti/wl1251/spi.c
71
static void wl1251_spi_wake(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/spi.c
73
struct wl1251_spi *wl_spi = wl->if_priv;
drivers/net/wireless/ti/wl1251/tx.c
134
static int wl1251_tx_fill_hdr(struct wl1251 *wl, struct sk_buff *skb,
drivers/net/wireless/ti/wl1251/tx.c
145
id = wl1251_tx_id(wl, skb);
drivers/net/wireless/ti/wl1251/tx.c
153
rate = ieee80211_get_tx_rate(wl->hw, control);
drivers/net/wireless/ti/wl1251/tx.c
167
static int wl1251_tx_send_packet(struct wl1251 *wl, struct sk_buff *skb,
drivers/net/wireless/ti/wl1251/tx.c
19
static bool wl1251_tx_double_buffer_busy(struct wl1251 *wl, u32 data_out_count)
drivers/net/wireless/ti/wl1251/tx.c
216
wl->tx_frames[tx_hdr->id] = skb = newskb;
drivers/net/wireless/ti/wl1251/tx.c
23
data_in_count = wl->data_in_count;
drivers/net/wireless/ti/wl1251/tx.c
234
if (wl->data_in_count & 0x1)
drivers/net/wireless/ti/wl1251/tx.c
235
addr = wl->data_path->tx_packet_ring_addr +
drivers/net/wireless/ti/wl1251/tx.c
236
wl->data_path->tx_packet_ring_chunk_size;
drivers/net/wireless/ti/wl1251/tx.c
238
addr = wl->data_path->tx_packet_ring_addr;
drivers/net/wireless/ti/wl1251/tx.c
240
wl1251_mem_write(wl, addr, skb->data, len);
drivers/net/wireless/ti/wl1251/tx.c
249
static void wl1251_tx_trigger(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/tx.c
253
if (wl->data_in_count & 0x1) {
drivers/net/wireless/ti/wl1251/tx.c
261
wl1251_reg_write32(wl, addr, data);
drivers/net/wireless/ti/wl1251/tx.c
264
wl->data_in_count = (wl->data_in_count + 1) &
drivers/net/wireless/ti/wl1251/tx.c
268
static void enable_tx_for_packet_injection(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/tx.c
272
ret = wl1251_cmd_join(wl, BSS_TYPE_STA_BSS, wl->channel,
drivers/net/wireless/ti/wl1251/tx.c
273
wl->beacon_int, wl->dtim_period);
drivers/net/wireless/ti/wl1251/tx.c
279
ret = wl1251_event_wait(wl, JOIN_EVENT_COMPLETE_ID, 100);
drivers/net/wireless/ti/wl1251/tx.c
285
wl->joined = true;
drivers/net/wireless/ti/wl1251/tx.c
289
static int wl1251_tx_frame(struct wl1251 *wl, struct sk_buff *skb)
drivers/net/wireless/ti/wl1251/tx.c
298
if (unlikely(wl->monitor_present))
drivers/net/wireless/ti/wl1251/tx.c
302
if (unlikely(wl->default_key != idx)) {
drivers/net/wireless/ti/wl1251/tx.c
303
ret = wl1251_acx_default_key(wl, idx);
drivers/net/wireless/ti/wl1251/tx.c
310
if ((wl->vif == NULL) && !wl->joined)
drivers/net/wireless/ti/wl1251/tx.c
311
enable_tx_for_packet_injection(wl);
drivers/net/wireless/ti/wl1251/tx.c
313
ret = wl1251_tx_path_status(wl);
drivers/net/wireless/ti/wl1251/tx.c
317
ret = wl1251_tx_fill_hdr(wl, skb, info);
drivers/net/wireless/ti/wl1251/tx.c
321
ret = wl1251_tx_send_packet(wl, skb, info);
drivers/net/wireless/ti/wl1251/tx.c
325
wl1251_tx_trigger(wl);
drivers/net/wireless/ti/wl1251/tx.c
332
struct wl1251 *wl = container_of(work, struct wl1251, tx_work);
drivers/net/wireless/ti/wl1251/tx.c
337
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl1251/tx.c
339
if (unlikely(wl->state == WL1251_STATE_OFF))
drivers/net/wireless/ti/wl1251/tx.c
342
while ((skb = skb_dequeue(&wl->tx_queue))) {
drivers/net/wireless/ti/wl1251/tx.c
344
ret = wl1251_ps_elp_wakeup(wl);
drivers/net/wireless/ti/wl1251/tx.c
346
skb_queue_head(&wl->tx_queue, skb);
drivers/net/wireless/ti/wl1251/tx.c
352
ret = wl1251_tx_frame(wl, skb);
drivers/net/wireless/ti/wl1251/tx.c
354
skb_queue_head(&wl->tx_queue, skb);
drivers/net/wireless/ti/wl1251/tx.c
364
wl1251_ps_elp_sleep(wl);
drivers/net/wireless/ti/wl1251/tx.c
366
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl1251/tx.c
397
static void wl1251_tx_packet_cb(struct wl1251 *wl,
drivers/net/wireless/ti/wl1251/tx.c
40
static int wl1251_tx_path_status(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/tx.c
405
if (unlikely(result->id >= ARRAY_SIZE(wl->tx_frames) ||
drivers/net/wireless/ti/wl1251/tx.c
406
wl->tx_frames[result->id] == NULL)) {
drivers/net/wireless/ti/wl1251/tx.c
411
skb = wl->tx_frames[result->id];
drivers/net/wireless/ti/wl1251/tx.c
421
wl->stats.retry_count += result->ack_failures;
drivers/net/wireless/ti/wl1251/tx.c
441
ieee80211_tx_status_skb(wl->hw, skb);
drivers/net/wireless/ti/wl1251/tx.c
443
wl->tx_frames[result->id] = NULL;
drivers/net/wireless/ti/wl1251/tx.c
447
void wl1251_tx_complete(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/tx.c
45
addr = wl->data_path->tx_control_addr;
drivers/net/wireless/ti/wl1251/tx.c
453
if (unlikely(wl->state != WL1251_STATE_ON))
drivers/net/wireless/ti/wl1251/tx.c
46
status = wl1251_mem_read32(wl, addr);
drivers/net/wireless/ti/wl1251/tx.c
463
wl1251_mem_read(wl, wl->data_path->tx_complete_addr, result,
drivers/net/wireless/ti/wl1251/tx.c
466
result_index = wl->next_tx_complete;
drivers/net/wireless/ti/wl1251/tx.c
473
wl1251_tx_packet_cb(wl, result_ptr);
drivers/net/wireless/ti/wl1251/tx.c
48
busy = wl1251_tx_double_buffer_busy(wl, data_out_count);
drivers/net/wireless/ti/wl1251/tx.c
486
queue_len = skb_queue_len(&wl->tx_queue);
drivers/net/wireless/ti/wl1251/tx.c
491
ieee80211_queue_work(wl->hw, &wl->tx_work);
drivers/net/wireless/ti/wl1251/tx.c
494
if (wl->tx_queue_stopped &&
drivers/net/wireless/ti/wl1251/tx.c
498
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wl1251/tx.c
499
ieee80211_wake_queues(wl->hw);
drivers/net/wireless/ti/wl1251/tx.c
500
wl->tx_queue_stopped = false;
drivers/net/wireless/ti/wl1251/tx.c
501
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wl1251/tx.c
510
if (result_index > wl->next_tx_complete) {
drivers/net/wireless/ti/wl1251/tx.c
512
wl1251_mem_write(wl,
drivers/net/wireless/ti/wl1251/tx.c
513
wl->data_path->tx_complete_addr +
drivers/net/wireless/ti/wl1251/tx.c
514
(wl->next_tx_complete *
drivers/net/wireless/ti/wl1251/tx.c
516
&result[wl->next_tx_complete],
drivers/net/wireless/ti/wl1251/tx.c
521
} else if (result_index < wl->next_tx_complete) {
drivers/net/wireless/ti/wl1251/tx.c
523
wl1251_mem_write(wl,
drivers/net/wireless/ti/wl1251/tx.c
524
wl->data_path->tx_complete_addr +
drivers/net/wireless/ti/wl1251/tx.c
525
(wl->next_tx_complete *
drivers/net/wireless/ti/wl1251/tx.c
527
&result[wl->next_tx_complete],
drivers/net/wireless/ti/wl1251/tx.c
529
wl->next_tx_complete) *
drivers/net/wireless/ti/wl1251/tx.c
532
wl1251_mem_write(wl,
drivers/net/wireless/ti/wl1251/tx.c
533
wl->data_path->tx_complete_addr,
drivers/net/wireless/ti/wl1251/tx.c
537
wl->next_tx_complete) *
drivers/net/wireless/ti/wl1251/tx.c
542
wl1251_mem_write(wl,
drivers/net/wireless/ti/wl1251/tx.c
543
wl->data_path->tx_complete_addr,
drivers/net/wireless/ti/wl1251/tx.c
552
wl->next_tx_complete = result_index;
drivers/net/wireless/ti/wl1251/tx.c
556
void wl1251_tx_flush(struct wl1251 *wl)
drivers/net/wireless/ti/wl1251/tx.c
56
static int wl1251_tx_id(struct wl1251 *wl, struct sk_buff *skb)
drivers/net/wireless/ti/wl1251/tx.c
565
while ((skb = skb_dequeue(&wl->tx_queue))) {
drivers/net/wireless/ti/wl1251/tx.c
573
ieee80211_tx_status_skb(wl->hw, skb);
drivers/net/wireless/ti/wl1251/tx.c
577
if (wl->tx_frames[i] != NULL) {
drivers/net/wireless/ti/wl1251/tx.c
578
skb = wl->tx_frames[i];
drivers/net/wireless/ti/wl1251/tx.c
584
ieee80211_tx_status_skb(wl->hw, skb);
drivers/net/wireless/ti/wl1251/tx.c
585
wl->tx_frames[i] = NULL;
drivers/net/wireless/ti/wl1251/tx.c
61
if (wl->tx_frames[i] == NULL) {
drivers/net/wireless/ti/wl1251/tx.c
62
wl->tx_frames[i] = skb;
drivers/net/wireless/ti/wl1251/tx.h
214
void wl1251_tx_complete(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/tx.h
215
void wl1251_tx_flush(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
248
void (*read)(struct wl1251 *wl, int addr, void *buf, size_t len);
drivers/net/wireless/ti/wl1251/wl1251.h
249
void (*write)(struct wl1251 *wl, int addr, void *buf, size_t len);
drivers/net/wireless/ti/wl1251/wl1251.h
250
void (*read_elp)(struct wl1251 *wl, int addr, u32 *val);
drivers/net/wireless/ti/wl1251/wl1251.h
251
void (*write_elp)(struct wl1251 *wl, int addr, u32 val);
drivers/net/wireless/ti/wl1251/wl1251.h
252
int (*power)(struct wl1251 *wl, bool enable);
drivers/net/wireless/ti/wl1251/wl1251.h
253
void (*reset)(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
254
void (*enable_irq)(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
255
void (*disable_irq)(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
389
int wl1251_plt_start(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
390
int wl1251_plt_stop(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
393
int wl1251_free_hw(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
394
int wl1251_init_ieee80211(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
395
void wl1251_enable_interrupts(struct wl1251 *wl);
drivers/net/wireless/ti/wl1251/wl1251.h
396
void wl1251_disable_interrupts(struct wl1251 *wl);
drivers/net/wireless/ti/wl12xx/acx.c
15
int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap)
drivers/net/wireless/ti/wl12xx/acx.c
28
ret = wl1271_cmd_configure(wl, ACX_HOST_IF_CFG_BITMAP,
drivers/net/wireless/ti/wl12xx/acx.h
257
int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap);
drivers/net/wireless/ti/wl12xx/cmd.c
100
if (wl->plt_mode == PLT_FEM_DETECT)
drivers/net/wireless/ti/wl12xx/cmd.c
101
wl->fem_manuf = gp->tx_bip_fem_manufacturer;
drivers/net/wireless/ti/wl12xx/cmd.c
106
wl->plt_mode == PLT_FEM_DETECT ?
drivers/net/wireless/ti/wl12xx/cmd.c
116
int wl128x_cmd_general_parms(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/cmd.c
120
&((struct wl128x_nvs_file *)wl->nvs)->general_params;
drivers/net/wireless/ti/wl12xx/cmd.c
121
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/cmd.c
125
if (!wl->nvs)
drivers/net/wireless/ti/wl12xx/cmd.c
142
if (wl->plt_mode == PLT_FEM_DETECT)
drivers/net/wireless/ti/wl12xx/cmd.c
15
int wl1271_cmd_ext_radio_parms(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/cmd.c
152
ret = wl1271_cmd_test(wl, gen_parms, sizeof(*gen_parms), answer);
drivers/net/wireless/ti/wl12xx/cmd.c
168
if (wl->plt_mode == PLT_FEM_DETECT)
drivers/net/wireless/ti/wl12xx/cmd.c
169
wl->fem_manuf = gp->tx_bip_fem_manufacturer;
drivers/net/wireless/ti/wl12xx/cmd.c
174
wl->plt_mode == PLT_FEM_DETECT ?
drivers/net/wireless/ti/wl12xx/cmd.c
18
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/cmd.c
184
int wl1271_cmd_radio_parms(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/cmd.c
186
struct wl1271_nvs_file *nvs = (struct wl1271_nvs_file *)wl->nvs;
drivers/net/wireless/ti/wl12xx/cmd.c
191
if (!wl->nvs)
drivers/net/wireless/ti/wl12xx/cmd.c
22
if (!wl->nvs)
drivers/net/wireless/ti/wl12xx/cmd.c
220
ret = wl1271_cmd_test(wl, radio_parms, sizeof(*radio_parms), 0);
drivers/net/wireless/ti/wl12xx/cmd.c
228
int wl128x_cmd_radio_parms(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/cmd.c
230
struct wl128x_nvs_file *nvs = (struct wl128x_nvs_file *)wl->nvs;
drivers/net/wireless/ti/wl12xx/cmd.c
235
if (!wl->nvs)
drivers/net/wireless/ti/wl12xx/cmd.c
266
ret = wl1271_cmd_test(wl, radio_parms, sizeof(*radio_parms), 0);
drivers/net/wireless/ti/wl12xx/cmd.c
274
int wl12xx_cmd_channel_switch(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/cmd.c
298
ret = wl1271_cmd_send(wl, CMD_CHANNEL_SWITCH, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wl12xx/cmd.c
41
ret = wl1271_cmd_test(wl, ext_radio_parms, sizeof(*ext_radio_parms), 0);
drivers/net/wireless/ti/wl12xx/cmd.c
49
int wl1271_cmd_general_parms(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/cmd.c
53
&((struct wl1271_nvs_file *)wl->nvs)->general_params;
drivers/net/wireless/ti/wl12xx/cmd.c
54
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/cmd.c
58
if (!wl->nvs)
drivers/net/wireless/ti/wl12xx/cmd.c
75
if (wl->plt_mode == PLT_FEM_DETECT)
drivers/net/wireless/ti/wl12xx/cmd.c
84
ret = wl1271_cmd_test(wl, gen_parms, sizeof(*gen_parms), answer);
drivers/net/wireless/ti/wl12xx/cmd.h
109
int wl1271_cmd_general_parms(struct wl1271 *wl);
drivers/net/wireless/ti/wl12xx/cmd.h
110
int wl128x_cmd_general_parms(struct wl1271 *wl);
drivers/net/wireless/ti/wl12xx/cmd.h
111
int wl1271_cmd_radio_parms(struct wl1271 *wl);
drivers/net/wireless/ti/wl12xx/cmd.h
112
int wl128x_cmd_radio_parms(struct wl1271 *wl);
drivers/net/wireless/ti/wl12xx/cmd.h
113
int wl1271_cmd_ext_radio_parms(struct wl1271 *wl);
drivers/net/wireless/ti/wl12xx/cmd.h
114
int wl12xx_cmd_channel_switch(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/debugfs.c
111
int wl12xx_debugfs_add_files(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/debugfs.h
11
int wl12xx_debugfs_add_files(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/event.c
13
int wl12xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event,
drivers/net/wireless/ti/wl12xx/event.c
31
return wlcore_cmd_wait_for_event_or_timeout(wl, local_event, timeout);
drivers/net/wireless/ti/wl12xx/event.c
34
int wl12xx_process_mailbox_events(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/event.c
36
struct wl12xx_event_mailbox *mbox = wl->mbox;
drivers/net/wireless/ti/wl12xx/event.c
49
if (wl->scan_wlvif)
drivers/net/wireless/ti/wl12xx/event.c
50
wl12xx_scan_completed(wl, wl->scan_wlvif);
drivers/net/wireless/ti/wl12xx/event.c
58
wlcore_scan_sched_scan_results(wl);
drivers/net/wireless/ti/wl12xx/event.c
62
wlcore_event_sched_scan_completed(wl,
drivers/net/wireless/ti/wl12xx/event.c
65
wlcore_event_soft_gemini_sense(wl,
drivers/net/wireless/ti/wl12xx/event.c
69
wlcore_event_beacon_loss(wl, 0xff);
drivers/net/wireless/ti/wl12xx/event.c
72
wlcore_event_rssi_trigger(wl, mbox->rssi_snr_trigger_metric);
drivers/net/wireless/ti/wl12xx/event.c
75
wlcore_event_ba_rx_constraint(wl,
drivers/net/wireless/ti/wl12xx/event.c
80
wlcore_event_channel_switch(wl, 0xff,
drivers/net/wireless/ti/wl12xx/event.c
84
wlcore_event_dummy_packet(wl);
drivers/net/wireless/ti/wl12xx/event.c
91
wlcore_event_max_tx_failure(wl,
drivers/net/wireless/ti/wl12xx/event.c
95
wlcore_event_inactive_sta(wl,
drivers/net/wireless/ti/wl12xx/event.c
99
wlcore_event_roc_complete(wl);
drivers/net/wireless/ti/wl12xx/event.h
92
int wl12xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event,
drivers/net/wireless/ti/wl12xx/event.h
94
int wl12xx_process_mailbox_events(struct wl1271 *wl);
drivers/net/wireless/ti/wl12xx/main.c
1000
ret = wl12xx_top_reg_write(wl, OCP_REG_CLK_PULL, val);
drivers/net/wireless/ti/wl12xx/main.c
1006
ret = wl12xx_top_reg_read(wl, OCP_REG_CLK_POLARITY, &val);
drivers/net/wireless/ti/wl12xx/main.c
1012
ret = wl12xx_top_reg_write(wl, OCP_REG_CLK_POLARITY, val);
drivers/net/wireless/ti/wl12xx/main.c
1017
ret = wlcore_write32(wl, WL12XX_PLL_PARAMETERS, clk);
drivers/net/wireless/ti/wl12xx/main.c
1021
ret = wlcore_read32(wl, WL12XX_PLL_PARAMETERS, &pause);
drivers/net/wireless/ti/wl12xx/main.c
1029
ret = wlcore_write32(wl, WL12XX_WU_COUNTER_PAUSE, pause);
drivers/net/wireless/ti/wl12xx/main.c
1035
static int wl1271_boot_soft_reset(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1042
ret = wlcore_write32(wl, WL12XX_SLV_SOFT_RESET, ACX_SLV_SOFT_RESET_BIT);
drivers/net/wireless/ti/wl12xx/main.c
1049
ret = wlcore_read32(wl, WL12XX_SLV_SOFT_RESET, &boot_data);
drivers/net/wireless/ti/wl12xx/main.c
1068
ret = wlcore_write32(wl, WL12XX_ENABLE, 0x0);
drivers/net/wireless/ti/wl12xx/main.c
1073
ret = wlcore_write32(wl, WL12XX_SPARE_A2, 0xffff);
drivers/net/wireless/ti/wl12xx/main.c
1079
static int wl12xx_pre_boot(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1081
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/main.c
1086
if (wl->chip.id == CHIP_ID_128X_PG20) {
drivers/net/wireless/ti/wl12xx/main.c
1087
ret = wl128x_boot_clk(wl, &selected_clock);
drivers/net/wireless/ti/wl12xx/main.c
1091
ret = wl127x_boot_clk(wl);
drivers/net/wireless/ti/wl12xx/main.c
1097
ret = wlcore_write32(wl, WL12XX_WELP_ARM_COMMAND, WELP_ARM_COMMAND_VAL);
drivers/net/wireless/ti/wl12xx/main.c
1103
ret = wlcore_set_partition(wl, &wl->ptable[PART_DRPW]);
drivers/net/wireless/ti/wl12xx/main.c
1111
ret = wlcore_read32(wl, WL12XX_DRPW_SCRATCH_START, &clk);
drivers/net/wireless/ti/wl12xx/main.c
1117
if (wl->chip.id == CHIP_ID_128X_PG20)
drivers/net/wireless/ti/wl12xx/main.c
1122
ret = wlcore_write32(wl, WL12XX_DRPW_SCRATCH_START, clk);
drivers/net/wireless/ti/wl12xx/main.c
1126
ret = wlcore_set_partition(wl, &wl->ptable[PART_WORK]);
drivers/net/wireless/ti/wl12xx/main.c
1131
ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, WL1271_ACX_INTR_ALL);
drivers/net/wireless/ti/wl12xx/main.c
1135
ret = wl1271_boot_soft_reset(wl);
drivers/net/wireless/ti/wl12xx/main.c
1143
static int wl12xx_pre_upload(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1153
ret = wlcore_write32(wl, WL12XX_EEPROMLESS_IND, WL12XX_EEPROMLESS_IND);
drivers/net/wireless/ti/wl12xx/main.c
1157
ret = wlcore_read_reg(wl, REG_CHIP_ID_B, &tmp);
drivers/net/wireless/ti/wl12xx/main.c
1164
ret = wlcore_read32(wl, WL12XX_SCR_PAD2, &tmp);
drivers/net/wireless/ti/wl12xx/main.c
1171
if (wl->chip.id == CHIP_ID_128X_PG20) {
drivers/net/wireless/ti/wl12xx/main.c
1172
ret = wl12xx_top_reg_write(wl, SDIO_IO_DS, HCI_IO_DS_6MA);
drivers/net/wireless/ti/wl12xx/main.c
1178
ret = wl12xx_top_reg_read(wl, OCP_REG_POLARITY, &polarity);
drivers/net/wireless/ti/wl12xx/main.c
1184
ret = wl12xx_top_reg_write(wl, OCP_REG_POLARITY, polarity);
drivers/net/wireless/ti/wl12xx/main.c
1190
static int wl12xx_enable_interrupts(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1194
ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK,
drivers/net/wireless/ti/wl12xx/main.c
1199
wlcore_enable_interrupts(wl);
drivers/net/wireless/ti/wl12xx/main.c
1200
ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK,
drivers/net/wireless/ti/wl12xx/main.c
1205
ret = wlcore_write32(wl, WL12XX_HI_CFG, HI_CFG_DEF_VAL);
drivers/net/wireless/ti/wl12xx/main.c
1212
wlcore_disable_interrupts(wl);
drivers/net/wireless/ti/wl12xx/main.c
1218
static int wl12xx_boot(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1222
ret = wl12xx_pre_boot(wl);
drivers/net/wireless/ti/wl12xx/main.c
1226
ret = wlcore_boot_upload_nvs(wl);
drivers/net/wireless/ti/wl12xx/main.c
1230
ret = wl12xx_pre_upload(wl);
drivers/net/wireless/ti/wl12xx/main.c
1234
ret = wlcore_boot_upload_firmware(wl);
drivers/net/wireless/ti/wl12xx/main.c
1238
wl->event_mask = BSS_LOSE_EVENT_ID |
drivers/net/wireless/ti/wl12xx/main.c
1254
wl->ap_event_mask = MAX_TX_RETRY_EVENT_ID;
drivers/net/wireless/ti/wl12xx/main.c
1256
ret = wlcore_boot_run_firmware(wl);
drivers/net/wireless/ti/wl12xx/main.c
1260
ret = wl12xx_enable_interrupts(wl);
drivers/net/wireless/ti/wl12xx/main.c
1266
static int wl12xx_trigger_cmd(struct wl1271 *wl, int cmd_box_addr,
drivers/net/wireless/ti/wl12xx/main.c
1271
ret = wlcore_write(wl, cmd_box_addr, buf, len, false);
drivers/net/wireless/ti/wl12xx/main.c
1275
ret = wlcore_write_reg(wl, REG_INTERRUPT_TRIG, WL12XX_INTR_TRIG_CMD);
drivers/net/wireless/ti/wl12xx/main.c
1280
static int wl12xx_ack_event(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1282
return wlcore_write_reg(wl, REG_INTERRUPT_TRIG,
drivers/net/wireless/ti/wl12xx/main.c
1286
static u32 wl12xx_calc_tx_blocks(struct wl1271 *wl, u32 len, u32 spare_blks)
drivers/net/wireless/ti/wl12xx/main.c
1289
u32 align_len = wlcore_calc_packet_alignment(wl, len);
drivers/net/wireless/ti/wl12xx/main.c
1295
wl12xx_set_tx_desc_blocks(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
drivers/net/wireless/ti/wl12xx/main.c
1298
if (wl->chip.id == CHIP_ID_128X_PG20) {
drivers/net/wireless/ti/wl12xx/main.c
1307
wl12xx_set_tx_desc_data_len(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
drivers/net/wireless/ti/wl12xx/main.c
1310
u32 aligned_len = wlcore_calc_packet_alignment(wl, skb->len);
drivers/net/wireless/ti/wl12xx/main.c
1312
if (wl->chip.id == CHIP_ID_128X_PG20) {
drivers/net/wireless/ti/wl12xx/main.c
1342
wl12xx_get_rx_buf_align(struct wl1271 *wl, u32 rx_desc)
drivers/net/wireless/ti/wl12xx/main.c
1350
static u32 wl12xx_get_rx_packet_len(struct wl1271 *wl, void *rx_data,
drivers/net/wireless/ti/wl12xx/main.c
1363
static int wl12xx_tx_delayed_compl(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1365
if (wl->fw_status->tx_results_counter ==
drivers/net/wireless/ti/wl12xx/main.c
1366
(wl->tx_results_count & 0xff))
drivers/net/wireless/ti/wl12xx/main.c
1369
return wlcore_tx_complete(wl);
drivers/net/wireless/ti/wl12xx/main.c
1372
static int wl12xx_hw_init(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1376
if (wl->chip.id == CHIP_ID_128X_PG20) {
drivers/net/wireless/ti/wl12xx/main.c
1379
ret = wl128x_cmd_general_parms(wl);
drivers/net/wireless/ti/wl12xx/main.c
1387
if (wl->plt_mode == PLT_FEM_DETECT)
drivers/net/wireless/ti/wl12xx/main.c
1390
ret = wl128x_cmd_radio_parms(wl);
drivers/net/wireless/ti/wl12xx/main.c
1394
if (wl->quirks & WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN)
drivers/net/wireless/ti/wl12xx/main.c
1399
ret = wl1271_acx_host_if_cfg_bitmap(wl, host_cfg_bitmap);
drivers/net/wireless/ti/wl12xx/main.c
1403
ret = wl1271_cmd_general_parms(wl);
drivers/net/wireless/ti/wl12xx/main.c
1411
if (wl->plt_mode == PLT_FEM_DETECT)
drivers/net/wireless/ti/wl12xx/main.c
1414
ret = wl1271_cmd_radio_parms(wl);
drivers/net/wireless/ti/wl12xx/main.c
1417
ret = wl1271_cmd_ext_radio_parms(wl);
drivers/net/wireless/ti/wl12xx/main.c
1425
static void wl12xx_convert_fw_status(struct wl1271 *wl, void *raw_fw_status,
drivers/net/wireless/ti/wl12xx/main.c
1456
static u32 wl12xx_sta_get_ap_rate_mask(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/main.c
1462
static void wl12xx_conf_init(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1464
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/main.c
1467
memcpy(&wl->conf, &wl12xx_conf, sizeof(wl12xx_conf));
drivers/net/wireless/ti/wl12xx/main.c
1473
static bool wl12xx_mac_in_fuse(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1478
if (wl->chip.id == CHIP_ID_128X_PG20) {
drivers/net/wireless/ti/wl12xx/main.c
1479
major = WL128X_PG_GET_MAJOR(wl->hw_pg_ver);
drivers/net/wireless/ti/wl12xx/main.c
1480
minor = WL128X_PG_GET_MINOR(wl->hw_pg_ver);
drivers/net/wireless/ti/wl12xx/main.c
1486
major = WL127X_PG_GET_MAJOR(wl->hw_pg_ver);
drivers/net/wireless/ti/wl12xx/main.c
1487
minor = WL127X_PG_GET_MINOR(wl->hw_pg_ver);
drivers/net/wireless/ti/wl12xx/main.c
1501
static int wl12xx_get_fuse_mac(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1507
ret = wlcore_write32(wl, WL12XX_WELP_ARM_COMMAND, WELP_ARM_COMMAND_VAL);
drivers/net/wireless/ti/wl12xx/main.c
1513
ret = wlcore_set_partition(wl, &wl->ptable[PART_DRPW]);
drivers/net/wireless/ti/wl12xx/main.c
1517
ret = wlcore_read32(wl, WL12XX_REG_FUSE_BD_ADDR_1, &mac1);
drivers/net/wireless/ti/wl12xx/main.c
1521
ret = wlcore_read32(wl, WL12XX_REG_FUSE_BD_ADDR_2, &mac2);
drivers/net/wireless/ti/wl12xx/main.c
1526
wl->fuse_oui_addr = ((mac2 & 0xffff) << 8) +
drivers/net/wireless/ti/wl12xx/main.c
1528
wl->fuse_nic_addr = mac1 & 0xffffff;
drivers/net/wireless/ti/wl12xx/main.c
1530
ret = wlcore_set_partition(wl, &wl->ptable[PART_DOWN]);
drivers/net/wireless/ti/wl12xx/main.c
1536
static int wl12xx_get_pg_ver(struct wl1271 *wl, s8 *ver)
drivers/net/wireless/ti/wl12xx/main.c
1541
if (wl->chip.id == CHIP_ID_128X_PG20)
drivers/net/wireless/ti/wl12xx/main.c
1542
ret = wl12xx_top_reg_read(wl, WL128X_REG_FUSE_DATA_2_1,
drivers/net/wireless/ti/wl12xx/main.c
1545
ret = wl12xx_top_reg_read(wl, WL127X_REG_FUSE_DATA_2_1,
drivers/net/wireless/ti/wl12xx/main.c
1554
static int wl12xx_get_mac(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1556
if (wl12xx_mac_in_fuse(wl))
drivers/net/wireless/ti/wl12xx/main.c
1557
return wl12xx_get_fuse_mac(wl);
drivers/net/wireless/ti/wl12xx/main.c
1562
static void wl12xx_set_tx_desc_csum(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/main.c
1569
static int wl12xx_plt_init(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1573
ret = wl->ops->boot(wl);
drivers/net/wireless/ti/wl12xx/main.c
1577
ret = wl->ops->hw_init(wl);
drivers/net/wireless/ti/wl12xx/main.c
1585
if (wl->plt_mode == PLT_FEM_DETECT)
drivers/net/wireless/ti/wl12xx/main.c
1588
ret = wl1271_acx_init_mem_config(wl);
drivers/net/wireless/ti/wl12xx/main.c
1592
ret = wl12xx_acx_mem_cfg(wl);
drivers/net/wireless/ti/wl12xx/main.c
1597
ret = wl1271_cmd_data_path(wl, 1);
drivers/net/wireless/ti/wl12xx/main.c
1602
ret = wl1271_acx_sleep_auth(wl, WL1271_PSM_CAM);
drivers/net/wireless/ti/wl12xx/main.c
1607
ret = wl1271_acx_pm_config(wl);
drivers/net/wireless/ti/wl12xx/main.c
1614
kfree(wl->target_mem_map);
drivers/net/wireless/ti/wl12xx/main.c
1615
wl->target_mem_map = NULL;
drivers/net/wireless/ti/wl12xx/main.c
1618
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl12xx/main.c
1626
wlcore_disable_interrupts(wl);
drivers/net/wireless/ti/wl12xx/main.c
1627
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl12xx/main.c
1632
static int wl12xx_get_spare_blocks(struct wl1271 *wl, bool is_gem)
drivers/net/wireless/ti/wl12xx/main.c
1640
static int wl12xx_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
drivers/net/wireless/ti/wl12xx/main.c
1645
return wlcore_set_key(wl, cmd, vif, sta, key_conf);
drivers/net/wireless/ti/wl12xx/main.c
1648
static int wl12xx_set_peer_cap(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/main.c
1653
return wl1271_acx_set_ht_capabilities(wl, ht_cap, allow_ht_operation,
drivers/net/wireless/ti/wl12xx/main.c
1657
static bool wl12xx_lnk_high_prio(struct wl1271 *wl, u8 hlid,
drivers/net/wireless/ti/wl12xx/main.c
1662
if (test_bit(hlid, &wl->fw_fast_lnk_map))
drivers/net/wireless/ti/wl12xx/main.c
1663
thold = wl->conf.tx.fast_link_thold;
drivers/net/wireless/ti/wl12xx/main.c
1665
thold = wl->conf.tx.slow_link_thold;
drivers/net/wireless/ti/wl12xx/main.c
1670
static bool wl12xx_lnk_low_prio(struct wl1271 *wl, u8 hlid,
drivers/net/wireless/ti/wl12xx/main.c
1677
static u32 wl12xx_convert_hwaddr(struct wl1271 *wl, u32 hwaddr)
drivers/net/wireless/ti/wl12xx/main.c
1682
static int wl12xx_setup(struct wl1271 *wl);
drivers/net/wireless/ti/wl12xx/main.c
1797
static int wl12xx_setup(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
1799
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/main.c
1800
struct wlcore_platdev_data *pdev_data = dev_get_platdata(&wl->pdev->dev);
drivers/net/wireless/ti/wl12xx/main.c
1806
wl->rtable = wl12xx_rtable;
drivers/net/wireless/ti/wl12xx/main.c
1807
wl->num_tx_desc = WL12XX_NUM_TX_DESCRIPTORS;
drivers/net/wireless/ti/wl12xx/main.c
1808
wl->num_rx_desc = WL12XX_NUM_RX_DESCRIPTORS;
drivers/net/wireless/ti/wl12xx/main.c
1809
wl->num_links = WL12XX_MAX_LINKS;
drivers/net/wireless/ti/wl12xx/main.c
1810
wl->max_ap_stations = WL12XX_MAX_AP_STATIONS;
drivers/net/wireless/ti/wl12xx/main.c
1811
wl->iface_combinations = wl12xx_iface_combinations;
drivers/net/wireless/ti/wl12xx/main.c
1812
wl->n_iface_combinations = ARRAY_SIZE(wl12xx_iface_combinations);
drivers/net/wireless/ti/wl12xx/main.c
1813
wl->num_mac_addr = WL12XX_NUM_MAC_ADDRESSES;
drivers/net/wireless/ti/wl12xx/main.c
1814
wl->band_rate_to_idx = wl12xx_band_rate_to_idx;
drivers/net/wireless/ti/wl12xx/main.c
1815
wl->hw_tx_rate_tbl_size = WL12XX_CONF_HW_RXTX_RATE_MAX;
drivers/net/wireless/ti/wl12xx/main.c
1816
wl->hw_min_ht_rate = WL12XX_CONF_HW_RXTX_RATE_MCS0;
drivers/net/wireless/ti/wl12xx/main.c
1817
wl->fw_status_len = sizeof(struct wl12xx_fw_status);
drivers/net/wireless/ti/wl12xx/main.c
1818
wl->fw_status_priv_len = 0;
drivers/net/wireless/ti/wl12xx/main.c
1819
wl->stats.fw_stats_len = sizeof(struct wl12xx_acx_statistics);
drivers/net/wireless/ti/wl12xx/main.c
1820
wl->ofdm_only_ap = true;
drivers/net/wireless/ti/wl12xx/main.c
1821
wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ, &wl12xx_ht_cap);
drivers/net/wireless/ti/wl12xx/main.c
1822
wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ, &wl12xx_ht_cap);
drivers/net/wireless/ti/wl12xx/main.c
1823
wl12xx_conf_init(wl);
drivers/net/wireless/ti/wl12xx/main.c
1894
struct wl1271 *wl;
drivers/net/wireless/ti/wl12xx/main.c
1907
wl = hw->priv;
drivers/net/wireless/ti/wl12xx/main.c
1908
wl->ops = &wl12xx_ops;
drivers/net/wireless/ti/wl12xx/main.c
1909
wl->ptable = wl12xx_ptable;
drivers/net/wireless/ti/wl12xx/main.c
1910
ret = wlcore_probe(wl, pdev);
drivers/net/wireless/ti/wl12xx/main.c
1917
wlcore_free_hw(wl);
drivers/net/wireless/ti/wl12xx/main.c
1924
struct wl1271 *wl = platform_get_drvdata(pdev);
drivers/net/wireless/ti/wl12xx/main.c
1927
priv = wl->priv;
drivers/net/wireless/ti/wl12xx/main.c
597
static int wl127x_prepare_read(struct wl1271 *wl, u32 rx_desc, u32 len)
drivers/net/wireless/ti/wl12xx/main.c
601
if (wl->chip.id != CHIP_ID_128X_PG20) {
drivers/net/wireless/ti/wl12xx/main.c
602
struct wl1271_acx_mem_map *wl_mem_map = wl->target_mem_map;
drivers/net/wireless/ti/wl12xx/main.c
603
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/main.c
617
ret = wlcore_write(wl, WL1271_SLV_REG_DATA, priv->rx_mem_addr,
drivers/net/wireless/ti/wl12xx/main.c
626
static int wl12xx_identify_chip(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
630
switch (wl->chip.id) {
drivers/net/wireless/ti/wl12xx/main.c
633
wl->chip.id);
drivers/net/wireless/ti/wl12xx/main.c
635
wl->quirks |= WLCORE_QUIRK_LEGACY_NVS |
drivers/net/wireless/ti/wl12xx/main.c
639
wl->sr_fw_name = WL127X_FW_NAME_SINGLE;
drivers/net/wireless/ti/wl12xx/main.c
640
wl->mr_fw_name = WL127X_FW_NAME_MULTI;
drivers/net/wireless/ti/wl12xx/main.c
641
memcpy(&wl->conf.mem, &wl12xx_default_priv_conf.mem_wl127x,
drivers/net/wireless/ti/wl12xx/main.c
642
sizeof(wl->conf.mem));
drivers/net/wireless/ti/wl12xx/main.c
645
wl->ops->prepare_read = wl127x_prepare_read;
drivers/net/wireless/ti/wl12xx/main.c
647
wlcore_set_min_fw_ver(wl, WL127X_CHIP_VER,
drivers/net/wireless/ti/wl12xx/main.c
656
wl->chip.id);
drivers/net/wireless/ti/wl12xx/main.c
658
wl->quirks |= WLCORE_QUIRK_LEGACY_NVS |
drivers/net/wireless/ti/wl12xx/main.c
662
wl->plt_fw_name = WL127X_PLT_FW_NAME;
drivers/net/wireless/ti/wl12xx/main.c
663
wl->sr_fw_name = WL127X_FW_NAME_SINGLE;
drivers/net/wireless/ti/wl12xx/main.c
664
wl->mr_fw_name = WL127X_FW_NAME_MULTI;
drivers/net/wireless/ti/wl12xx/main.c
665
memcpy(&wl->conf.mem, &wl12xx_default_priv_conf.mem_wl127x,
drivers/net/wireless/ti/wl12xx/main.c
666
sizeof(wl->conf.mem));
drivers/net/wireless/ti/wl12xx/main.c
669
wl->ops->prepare_read = wl127x_prepare_read;
drivers/net/wireless/ti/wl12xx/main.c
671
wlcore_set_min_fw_ver(wl, WL127X_CHIP_VER,
drivers/net/wireless/ti/wl12xx/main.c
680
wl->chip.id);
drivers/net/wireless/ti/wl12xx/main.c
681
wl->plt_fw_name = WL128X_PLT_FW_NAME;
drivers/net/wireless/ti/wl12xx/main.c
682
wl->sr_fw_name = WL128X_FW_NAME_SINGLE;
drivers/net/wireless/ti/wl12xx/main.c
683
wl->mr_fw_name = WL128X_FW_NAME_MULTI;
drivers/net/wireless/ti/wl12xx/main.c
686
wl->quirks |= WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN |
drivers/net/wireless/ti/wl12xx/main.c
691
wlcore_set_min_fw_ver(wl, WL128X_CHIP_VER,
drivers/net/wireless/ti/wl12xx/main.c
699
wl1271_warning("unsupported chip id: 0x%x", wl->chip.id);
drivers/net/wireless/ti/wl12xx/main.c
704
wl->fw_mem_block_size = 256;
drivers/net/wireless/ti/wl12xx/main.c
705
wl->fwlog_end = 0x2000000;
drivers/net/wireless/ti/wl12xx/main.c
708
wl->scan_templ_id_2_4 = CMD_TEMPL_APP_PROBE_REQ_2_4_LEGACY;
drivers/net/wireless/ti/wl12xx/main.c
709
wl->scan_templ_id_5 = CMD_TEMPL_APP_PROBE_REQ_5_LEGACY;
drivers/net/wireless/ti/wl12xx/main.c
710
wl->sched_scan_templ_id_2_4 = CMD_TEMPL_CFG_PROBE_REQ_2_4;
drivers/net/wireless/ti/wl12xx/main.c
711
wl->sched_scan_templ_id_5 = CMD_TEMPL_CFG_PROBE_REQ_5;
drivers/net/wireless/ti/wl12xx/main.c
712
wl->max_channels_5 = WL12XX_MAX_CHANNELS_5GHZ;
drivers/net/wireless/ti/wl12xx/main.c
713
wl->ba_rx_session_count_max = WL12XX_RX_BA_MAX_SESSIONS;
drivers/net/wireless/ti/wl12xx/main.c
718
static int __must_check wl12xx_top_reg_write(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wl12xx/main.c
725
ret = wlcore_write32(wl, WL12XX_OCP_POR_CTR, addr);
drivers/net/wireless/ti/wl12xx/main.c
730
ret = wlcore_write32(wl, WL12XX_OCP_DATA_WRITE, val);
drivers/net/wireless/ti/wl12xx/main.c
735
ret = wlcore_write32(wl, WL12XX_OCP_CMD, OCP_CMD_WRITE);
drivers/net/wireless/ti/wl12xx/main.c
743
static int __must_check wl12xx_top_reg_read(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wl12xx/main.c
752
ret = wlcore_write32(wl, WL12XX_OCP_POR_CTR, addr);
drivers/net/wireless/ti/wl12xx/main.c
757
ret = wlcore_write32(wl, WL12XX_OCP_CMD, OCP_CMD_READ);
drivers/net/wireless/ti/wl12xx/main.c
763
ret = wlcore_read32(wl, WL12XX_OCP_DATA_READ, &val);
drivers/net/wireless/ti/wl12xx/main.c
785
static int wl128x_switch_tcxo_to_fref(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
791
ret = wl12xx_top_reg_read(wl, WL_SPARE_REG, &spare_reg);
drivers/net/wireless/ti/wl12xx/main.c
798
ret = wl12xx_top_reg_write(wl, WL_SPARE_REG, spare_reg);
drivers/net/wireless/ti/wl12xx/main.c
803
ret = wl12xx_top_reg_write(wl, SYS_CLK_CFG_REG,
drivers/net/wireless/ti/wl12xx/main.c
814
static bool wl128x_is_tcxo_valid(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
819
ret = wl12xx_top_reg_read(wl, TCXO_CLK_DETECT_REG, &tcxo_detection);
drivers/net/wireless/ti/wl12xx/main.c
829
static bool wl128x_is_fref_valid(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
834
ret = wl12xx_top_reg_read(wl, FREF_CLK_DETECT_REG, &fref_detection);
drivers/net/wireless/ti/wl12xx/main.c
844
static int wl128x_manually_configure_mcs_pll(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
848
ret = wl12xx_top_reg_write(wl, MCS_PLL_M_REG, MCS_PLL_M_REG_VAL);
drivers/net/wireless/ti/wl12xx/main.c
852
ret = wl12xx_top_reg_write(wl, MCS_PLL_N_REG, MCS_PLL_N_REG_VAL);
drivers/net/wireless/ti/wl12xx/main.c
856
ret = wl12xx_top_reg_write(wl, MCS_PLL_CONFIG_REG,
drivers/net/wireless/ti/wl12xx/main.c
863
static int wl128x_configure_mcs_pll(struct wl1271 *wl, int clk)
drivers/net/wireless/ti/wl12xx/main.c
868
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/main.c
872
ret = wl12xx_top_reg_read(wl, WL_SPARE_REG, &spare_reg);
drivers/net/wireless/ti/wl12xx/main.c
879
ret = wl12xx_top_reg_write(wl, WL_SPARE_REG, spare_reg);
drivers/net/wireless/ti/wl12xx/main.c
886
return wl128x_manually_configure_mcs_pll(wl);
drivers/net/wireless/ti/wl12xx/main.c
891
ret = wl12xx_top_reg_read(wl, MCS_PLL_CONFIG_REG, &pll_config);
drivers/net/wireless/ti/wl12xx/main.c
899
ret = wl12xx_top_reg_write(wl, MCS_PLL_CONFIG_REG, pll_config);
drivers/net/wireless/ti/wl12xx/main.c
911
static int wl128x_boot_clk(struct wl1271 *wl, int *selected_clock)
drivers/net/wireless/ti/wl12xx/main.c
913
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/main.c
920
if (!wl128x_switch_tcxo_to_fref(wl))
drivers/net/wireless/ti/wl12xx/main.c
926
ret = wl12xx_top_reg_read(wl, SYS_CLK_CFG_REG, &sys_clk_cfg);
drivers/net/wireless/ti/wl12xx/main.c
938
if (!wl128x_switch_tcxo_to_fref(wl))
drivers/net/wireless/ti/wl12xx/main.c
944
if (!wl128x_is_tcxo_valid(wl))
drivers/net/wireless/ti/wl12xx/main.c
951
if (!wl128x_is_fref_valid(wl))
drivers/net/wireless/ti/wl12xx/main.c
956
return wl128x_configure_mcs_pll(wl, *selected_clock);
drivers/net/wireless/ti/wl12xx/main.c
959
static int wl127x_boot_clk(struct wl1271 *wl)
drivers/net/wireless/ti/wl12xx/main.c
961
struct wl12xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl12xx/main.c
966
if (WL127X_PG_GET_MAJOR(wl->hw_pg_ver) < 3)
drivers/net/wireless/ti/wl12xx/main.c
967
wl->quirks |= WLCORE_QUIRK_END_OF_TRANSACTION;
drivers/net/wireless/ti/wl12xx/main.c
985
ret = wl12xx_top_reg_read(wl, OCP_REG_CLK_TYPE, &val);
drivers/net/wireless/ti/wl12xx/main.c
990
ret = wl12xx_top_reg_write(wl, OCP_REG_CLK_TYPE, val);
drivers/net/wireless/ti/wl12xx/main.c
995
ret = wl12xx_top_reg_read(wl, OCP_REG_CLK_PULL, &val);
drivers/net/wireless/ti/wl12xx/scan.c
101
if (wl->conf.scan.split_scan_timeout)
drivers/net/wireless/ti/wl12xx/scan.c
120
cmd->params.n_ch = wl1271_get_scan_channels(wl, wl->scan.req,
drivers/net/wireless/ti/wl12xx/scan.c
129
cmd->params.n_probe_reqs = wl->conf.scan.num_probe_reqs;
drivers/net/wireless/ti/wl12xx/scan.c
13
static int wl1271_get_scan_channels(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/scan.c
138
if (wl->scan.ssid_len) {
drivers/net/wireless/ti/wl12xx/scan.c
139
cmd->params.ssid_len = wl->scan.ssid_len;
drivers/net/wireless/ti/wl12xx/scan.c
140
memcpy(cmd->params.ssid, wl->scan.ssid, wl->scan.ssid_len);
drivers/net/wireless/ti/wl12xx/scan.c
145
ret = wl12xx_cmd_build_probe_req(wl, wlvif,
drivers/net/wireless/ti/wl12xx/scan.c
147
wl->scan.ssid, wl->scan.ssid_len,
drivers/net/wireless/ti/wl12xx/scan.c
148
wl->scan.req->ie,
drivers/net/wireless/ti/wl12xx/scan.c
149
wl->scan.req->ie_len, NULL, 0, false);
drivers/net/wireless/ti/wl12xx/scan.c
155
trigger->timeout = cpu_to_le32(wl->conf.scan.split_scan_timeout);
drivers/net/wireless/ti/wl12xx/scan.c
156
ret = wl1271_cmd_send(wl, CMD_TRIGGER_SCAN_TO, trigger,
drivers/net/wireless/ti/wl12xx/scan.c
165
ret = wl1271_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wl12xx/scan.c
177
int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl12xx/scan.c
18
struct conf_scan_settings *c = &wl->conf.scan;
drivers/net/wireless/ti/wl12xx/scan.c
182
if (WARN_ON(wl->scan.state == WL1271_SCAN_STATE_IDLE))
drivers/net/wireless/ti/wl12xx/scan.c
193
ret = wl1271_cmd_send(wl, CMD_STOP_SCAN, cmd,
drivers/net/wireless/ti/wl12xx/scan.c
204
void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl12xx/scan.c
210
switch (wl->scan.state) {
drivers/net/wireless/ti/wl12xx/scan.c
217
if (wl->scan.req->no_cck) {
drivers/net/wireless/ti/wl12xx/scan.c
222
rate = wl1271_tx_min_rate_get(wl, mask);
drivers/net/wireless/ti/wl12xx/scan.c
223
ret = wl1271_scan_send(wl, wlvif, band, false, rate);
drivers/net/wireless/ti/wl12xx/scan.c
225
wl->scan.state = WL1271_SCAN_STATE_2GHZ_PASSIVE;
drivers/net/wireless/ti/wl12xx/scan.c
226
wl1271_scan_stm(wl, wlvif);
drivers/net/wireless/ti/wl12xx/scan.c
234
if (wl->scan.req->no_cck) {
drivers/net/wireless/ti/wl12xx/scan.c
239
rate = wl1271_tx_min_rate_get(wl, mask);
drivers/net/wireless/ti/wl12xx/scan.c
240
ret = wl1271_scan_send(wl, wlvif, band, true, rate);
drivers/net/wireless/ti/wl12xx/scan.c
242
if (wl->enable_11a)
drivers/net/wireless/ti/wl12xx/scan.c
243
wl->scan.state = WL1271_SCAN_STATE_5GHZ_ACTIVE;
drivers/net/wireless/ti/wl12xx/scan.c
245
wl->scan.state = WL1271_SCAN_STATE_DONE;
drivers/net/wireless/ti/wl12xx/scan.c
246
wl1271_scan_stm(wl, wlvif);
drivers/net/wireless/ti/wl12xx/scan.c
253
rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]);
drivers/net/wireless/ti/wl12xx/scan.c
254
ret = wl1271_scan_send(wl, wlvif, band, false, rate);
drivers/net/wireless/ti/wl12xx/scan.c
256
wl->scan.state = WL1271_SCAN_STATE_5GHZ_PASSIVE;
drivers/net/wireless/ti/wl12xx/scan.c
257
wl1271_scan_stm(wl, wlvif);
drivers/net/wireless/ti/wl12xx/scan.c
264
rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]);
drivers/net/wireless/ti/wl12xx/scan.c
265
ret = wl1271_scan_send(wl, wlvif, band, true, rate);
drivers/net/wireless/ti/wl12xx/scan.c
267
wl->scan.state = WL1271_SCAN_STATE_DONE;
drivers/net/wireless/ti/wl12xx/scan.c
268
wl1271_scan_stm(wl, wlvif);
drivers/net/wireless/ti/wl12xx/scan.c
27
if (!test_bit(i, wl->scan.scanned_ch) &&
drivers/net/wireless/ti/wl12xx/scan.c
274
wl->scan.failed = false;
drivers/net/wireless/ti/wl12xx/scan.c
275
cancel_delayed_work(&wl->scan_complete_work);
drivers/net/wireless/ti/wl12xx/scan.c
276
ieee80211_queue_delayed_work(wl->hw, &wl->scan_complete_work,
drivers/net/wireless/ti/wl12xx/scan.c
286
cancel_delayed_work(&wl->scan_complete_work);
drivers/net/wireless/ti/wl12xx/scan.c
287
ieee80211_queue_delayed_work(wl->hw, &wl->scan_complete_work,
drivers/net/wireless/ti/wl12xx/scan.c
307
int wl1271_scan_sched_scan_config(struct wl1271 *wl,
drivers/net/wireless/ti/wl12xx/scan.c
314
struct conf_sched_scan_settings *c = &wl->conf.sched_scan;
drivers/net/wireless/ti/wl12xx/scan.c
343
ret = wlcore_scan_sched_scan_ssid_list(wl, wlvif, req);
drivers/net/wireless/ti/wl12xx/scan.c
357
if (!wlcore_set_scan_chan_params(wl, cfg_channels, req->channels,
drivers/net/wireless/ti/wl12xx/scan.c
368
ret = wl12xx_cmd_build_probe_req(wl, wlvif,
drivers/net/wireless/ti/wl12xx/scan.c
385
ret = wl12xx_cmd_build_probe_req(wl, wlvif,
drivers/net/wireless/ti/wl12xx/scan.c
402
ret = wl1271_cmd_send(wl, CMD_CONNECTION_SCAN_CFG, cfg,
drivers/net/wireless/ti/wl12xx/scan.c
414
int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl12xx/scan.c
424
if ((wl->quirks & WLCORE_QUIRK_NO_SCHED_SCAN_WHILE_CONN) &&
drivers/net/wireless/ti/wl12xx/scan.c
435
ret = wl1271_cmd_send(wl, CMD_START_PERIODIC_SCAN, start,
drivers/net/wireless/ti/wl12xx/scan.c
447
int wl12xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl12xx/scan.c
453
ret = wl1271_scan_sched_scan_config(wl, wlvif, req, ies);
drivers/net/wireless/ti/wl12xx/scan.c
457
return wl1271_scan_sched_scan_start(wl, wlvif);
drivers/net/wireless/ti/wl12xx/scan.c
460
void wl12xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl12xx/scan.c
477
ret = wl1271_cmd_send(wl, CMD_STOP_PERIODIC_SCAN, stop,
drivers/net/wireless/ti/wl12xx/scan.c
488
int wl12xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl12xx/scan.c
491
wl1271_scan_stm(wl, wlvif);
drivers/net/wireless/ti/wl12xx/scan.c
495
void wl12xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl12xx/scan.c
497
wl1271_scan_stm(wl, wlvif);
drivers/net/wireless/ti/wl12xx/scan.c
69
set_bit(i, wl->scan.scanned_ch);
drivers/net/wireless/ti/wl12xx/scan.c
80
static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl12xx/scan.c
91
if (!passive && wl->scan.req->n_ssids == 0)
drivers/net/wireless/ti/wl12xx/scan.h
118
int wl12xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl12xx/scan.h
120
int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wl12xx/scan.h
121
void wl12xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wl12xx/scan.h
122
int wl12xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl12xx/scan.h
125
void wl12xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wl18xx/acx.c
100
int wl18xx_acx_peer_ht_operation_mode(struct wl1271 *wl, u8 hlid, bool wide)
drivers/net/wireless/ti/wl18xx/acx.c
117
ret = wl1271_cmd_configure(wl, ACX_PEER_HT_OPERATION_MODE_CFG, acx,
drivers/net/wireless/ti/wl18xx/acx.c
136
int wl18xx_acx_set_peer_cap(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/acx.c
15
int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap,
drivers/net/wireless/ti/wl18xx/acx.c
174
ret = wl1271_cmd_configure(wl, ACX_PEER_CAP, acx, sizeof(*acx));
drivers/net/wireless/ti/wl18xx/acx.c
189
int wl18xx_acx_interrupt_notify_config(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/acx.c
202
ret = wl1271_cmd_configure(wl, ACX_INTERRUPT_NOTIFY, acx, sizeof(*acx));
drivers/net/wireless/ti/wl18xx/acx.c
217
int wl18xx_acx_rx_ba_filter(struct wl1271 *wl, bool action)
drivers/net/wireless/ti/wl18xx/acx.c
229
ret = wl1271_cmd_configure(wl, ACX_RX_BA_FILTER, acx, sizeof(*acx));
drivers/net/wireless/ti/wl18xx/acx.c
241
int wl18xx_acx_ap_sleep(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/acx.c
243
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/acx.c
261
ret = wl1271_cmd_configure(wl, ACX_AP_SLEEP_CFG, acx, sizeof(*acx));
drivers/net/wireless/ti/wl18xx/acx.c
272
int wl18xx_acx_dynamic_fw_traces(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/acx.c
278
wl->dynamic_fw_traces);
drivers/net/wireless/ti/wl18xx/acx.c
286
acx->dynamic_fw_traces = cpu_to_le32(wl->dynamic_fw_traces);
drivers/net/wireless/ti/wl18xx/acx.c
288
ret = wl1271_cmd_configure(wl, ACX_DYNAMIC_TRACES_CFG,
drivers/net/wireless/ti/wl18xx/acx.c
299
int wl18xx_acx_time_sync_cfg(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/acx.c
305
wl->conf.sg.params[WL18XX_CONF_SG_TIME_SYNC],
drivers/net/wireless/ti/wl18xx/acx.c
306
wl->zone_master_mac_addr);
drivers/net/wireless/ti/wl18xx/acx.c
314
acx->sync_mode = wl->conf.sg.params[WL18XX_CONF_SG_TIME_SYNC];
drivers/net/wireless/ti/wl18xx/acx.c
315
memcpy(acx->zone_mac_addr, wl->zone_master_mac_addr, ETH_ALEN);
drivers/net/wireless/ti/wl18xx/acx.c
317
ret = wl1271_cmd_configure(wl, ACX_TIME_SYNC_CFG,
drivers/net/wireless/ti/wl18xx/acx.c
37
ret = wl1271_cmd_configure(wl, ACX_HOST_IF_CFG_BITMAP,
drivers/net/wireless/ti/wl18xx/acx.c
50
int wl18xx_acx_set_checksum_state(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/acx.c
65
ret = wl1271_cmd_configure(wl, ACX_CSUM_CONFIG, acx, sizeof(*acx));
drivers/net/wireless/ti/wl18xx/acx.c
76
int wl18xx_acx_clear_statistics(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/acx.c
89
ret = wl1271_cmd_configure(wl, ACX_CLEAR_STATISTICS, acx, sizeof(*acx));
drivers/net/wireless/ti/wl18xx/acx.h
389
int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap,
drivers/net/wireless/ti/wl18xx/acx.h
392
int wl18xx_acx_set_checksum_state(struct wl1271 *wl);
drivers/net/wireless/ti/wl18xx/acx.h
393
int wl18xx_acx_clear_statistics(struct wl1271 *wl);
drivers/net/wireless/ti/wl18xx/acx.h
394
int wl18xx_acx_peer_ht_operation_mode(struct wl1271 *wl, u8 hlid, bool wide);
drivers/net/wireless/ti/wl18xx/acx.h
395
int wl18xx_acx_set_peer_cap(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/acx.h
399
int wl18xx_acx_interrupt_notify_config(struct wl1271 *wl, bool action);
drivers/net/wireless/ti/wl18xx/acx.h
400
int wl18xx_acx_rx_ba_filter(struct wl1271 *wl, bool action);
drivers/net/wireless/ti/wl18xx/acx.h
401
int wl18xx_acx_ap_sleep(struct wl1271 *wl);
drivers/net/wireless/ti/wl18xx/acx.h
402
int wl18xx_acx_dynamic_fw_traces(struct wl1271 *wl);
drivers/net/wireless/ti/wl18xx/acx.h
403
int wl18xx_acx_time_sync_cfg(struct wl1271 *wl);
drivers/net/wireless/ti/wl18xx/cmd.c
101
int wl18xx_cmd_smart_config_stop(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/cmd.c
114
ret = wl1271_cmd_send(wl, CMD_SMART_CONFIG_STOP, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wl18xx/cmd.c
126
int wl18xx_cmd_smart_config_set_group_key(struct wl1271 *wl, u16 group_id,
drivers/net/wireless/ti/wl18xx/cmd.c
14
int wl18xx_cmd_channel_switch(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/cmd.c
149
ret = wl1271_cmd_send(wl, CMD_SMART_CONFIG_SET_GROUP_KEY, cmd,
drivers/net/wireless/ti/wl18xx/cmd.c
162
int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start)
drivers/net/wireless/ti/wl18xx/cmd.c
180
ret = wl1271_cmd_send(wl,
drivers/net/wireless/ti/wl18xx/cmd.c
193
int wl18xx_cmd_radar_detection_debug(struct wl1271 *wl, u8 channel)
drivers/net/wireless/ti/wl18xx/cmd.c
207
ret = wl1271_cmd_send(wl, CMD_DFS_RADAR_DETECTION_DEBUG,
drivers/net/wireless/ti/wl18xx/cmd.c
219
int wl18xx_cmd_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl18xx/cmd.c
233
ret = wl1271_cmd_send(wl, CMD_DFS_MASTER_RESTART,
drivers/net/wireless/ti/wl18xx/cmd.c
52
supported_rates |= wlcore_hw_sta_get_ap_rate_mask(wl, wlvif);
drivers/net/wireless/ti/wl18xx/cmd.c
55
wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif);
drivers/net/wireless/ti/wl18xx/cmd.c
61
ret = wl1271_cmd_send(wl, CMD_CHANNEL_SWITCH, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wl18xx/cmd.c
73
int wl18xx_cmd_smart_config_start(struct wl1271 *wl, u32 group_bitmap)
drivers/net/wireless/ti/wl18xx/cmd.c
89
ret = wl1271_cmd_send(wl, CMD_SMART_CONFIG_START, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wl18xx/cmd.h
72
int wl18xx_cmd_channel_switch(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/cmd.h
75
int wl18xx_cmd_smart_config_start(struct wl1271 *wl, u32 group_bitmap);
drivers/net/wireless/ti/wl18xx/cmd.h
76
int wl18xx_cmd_smart_config_stop(struct wl1271 *wl);
drivers/net/wireless/ti/wl18xx/cmd.h
77
int wl18xx_cmd_smart_config_set_group_key(struct wl1271 *wl, u16 group_id,
drivers/net/wireless/ti/wl18xx/cmd.h
79
int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start);
drivers/net/wireless/ti/wl18xx/cmd.h
80
int wl18xx_cmd_radar_detection_debug(struct wl1271 *wl, u8 channel);
drivers/net/wireless/ti/wl18xx/cmd.h
81
int wl18xx_cmd_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wl18xx/debugfs.c
181
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wl18xx/debugfs.c
182
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/debugfs.c
197
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
202
memcpy(pos, &wl->conf, sizeof(wl->conf));
drivers/net/wireless/ti/wl18xx/debugfs.c
203
pos += sizeof(wl->conf);
drivers/net/wireless/ti/wl18xx/debugfs.c
206
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
224
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wl18xx/debugfs.c
227
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
229
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wl18xx/debugfs.c
232
ret = wl18xx_acx_clear_statistics(wl);
drivers/net/wireless/ti/wl18xx/debugfs.c
238
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
252
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wl18xx/debugfs.c
262
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
264
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wl18xx/debugfs.c
267
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wl18xx/debugfs.c
271
ret = wl18xx_cmd_radar_detection_debug(wl, channel);
drivers/net/wireless/ti/wl18xx/debugfs.c
275
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wl18xx/debugfs.c
277
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
291
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wl18xx/debugfs.c
299
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
301
wl->dynamic_fw_traces = value;
drivers/net/wireless/ti/wl18xx/debugfs.c
303
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wl18xx/debugfs.c
306
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wl18xx/debugfs.c
310
ret = wl18xx_acx_dynamic_fw_traces(wl);
drivers/net/wireless/ti/wl18xx/debugfs.c
314
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wl18xx/debugfs.c
316
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
324
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wl18xx/debugfs.c
326
"%d\n", wl->dynamic_fw_traces);
drivers/net/wireless/ti/wl18xx/debugfs.c
341
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wl18xx/debugfs.c
358
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
360
wl->radar_debug_mode = value;
drivers/net/wireless/ti/wl18xx/debugfs.c
362
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wl18xx/debugfs.c
365
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wl18xx/debugfs.c
369
wl12xx_for_each_wlvif_ap(wl, wlvif) {
drivers/net/wireless/ti/wl18xx/debugfs.c
370
wlcore_cmd_generic_cfg(wl, wlvif,
drivers/net/wireless/ti/wl18xx/debugfs.c
372
wl->radar_debug_mode, 0);
drivers/net/wireless/ti/wl18xx/debugfs.c
375
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wl18xx/debugfs.c
377
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wl18xx/debugfs.c
385
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wl18xx/debugfs.c
388
"%d\n", wl->radar_debug_mode);
drivers/net/wireless/ti/wl18xx/debugfs.c
399
int wl18xx_debugfs_add_files(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/debugfs.h
11
int wl18xx_debugfs_add_files(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/event.c
102
static void wlcore_event_time_sync(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/event.c
116
int wl18xx_process_mailbox_events(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/event.c
118
struct wl18xx_event_mailbox *mbox = wl->mbox;
drivers/net/wireless/ti/wl18xx/event.c
128
if (wl->scan_wlvif)
drivers/net/wireless/ti/wl18xx/event.c
129
wl18xx_scan_completed(wl, wl->scan_wlvif);
drivers/net/wireless/ti/wl18xx/event.c
133
wlcore_event_time_sync(wl,
drivers/net/wireless/ti/wl18xx/event.c
144
if (!wl->radar_debug_mode)
drivers/net/wireless/ti/wl18xx/event.c
145
ieee80211_radar_detected(wl->hw, NULL);
drivers/net/wireless/ti/wl18xx/event.c
153
wlcore_scan_sched_scan_results(wl);
drivers/net/wireless/ti/wl18xx/event.c
157
wlcore_event_sched_scan_completed(wl, 1);
drivers/net/wireless/ti/wl18xx/event.c
16
int wl18xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event,
drivers/net/wireless/ti/wl18xx/event.c
160
wlcore_event_rssi_trigger(wl, mbox->rssi_snr_trigger_metric);
drivers/net/wireless/ti/wl18xx/event.c
163
wlcore_event_ba_rx_constraint(wl,
drivers/net/wireless/ti/wl18xx/event.c
168
wlcore_event_beacon_loss(wl,
drivers/net/wireless/ti/wl18xx/event.c
172
wlcore_event_channel_switch(wl,
drivers/net/wireless/ti/wl18xx/event.c
177
wlcore_event_dummy_packet(wl);
drivers/net/wireless/ti/wl18xx/event.c
184
wlcore_event_max_tx_failure(wl,
drivers/net/wireless/ti/wl18xx/event.c
188
wlcore_event_inactive_sta(wl,
drivers/net/wireless/ti/wl18xx/event.c
192
wlcore_event_roc_complete(wl);
drivers/net/wireless/ti/wl18xx/event.c
195
wlcore_smart_config_sync_event(wl, mbox->sc_sync_channel,
drivers/net/wireless/ti/wl18xx/event.c
199
wlcore_smart_config_decode_event(wl,
drivers/net/wireless/ti/wl18xx/event.c
205
wlcore_event_fw_logger(wl);
drivers/net/wireless/ti/wl18xx/event.c
215
wlvif = wl->links[link_id].wlvif;
drivers/net/wireless/ti/wl18xx/event.c
224
addr = wl->links[link_id].addr;
drivers/net/wireless/ti/wl18xx/event.c
230
wl->links[link_id].ba_bitmap,
drivers/net/wireless/ti/wl18xx/event.c
34
return wlcore_cmd_wait_for_event_or_timeout(wl, local_event, timeout);
drivers/net/wireless/ti/wl18xx/event.c
50
static int wlcore_smart_config_sync_event(struct wl1271 *wl, u8 sync_channel,
drivers/net/wireless/ti/wl18xx/event.c
67
skb = cfg80211_vendor_event_alloc(wl->hw->wiphy, NULL, 20,
drivers/net/wireless/ti/wl18xx/event.c
79
static int wlcore_smart_config_decode_event(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/event.c
88
skb = cfg80211_vendor_event_alloc(wl->hw->wiphy, NULL,
drivers/net/wireless/ti/wl18xx/event.h
106
int wl18xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event,
drivers/net/wireless/ti/wl18xx/event.h
108
int wl18xx_process_mailbox_events(struct wl1271 *wl);
drivers/net/wireless/ti/wl18xx/io.c
13
int wl18xx_top_reg_write(struct wl1271 *wl, int addr, u16 val)
drivers/net/wireless/ti/wl18xx/io.c
22
ret = wlcore_read32(wl, addr, &tmp);
drivers/net/wireless/ti/wl18xx/io.c
27
ret = wlcore_write32(wl, addr, tmp);
drivers/net/wireless/ti/wl18xx/io.c
29
ret = wlcore_read32(wl, addr - 2, &tmp);
drivers/net/wireless/ti/wl18xx/io.c
34
ret = wlcore_write32(wl, addr - 2, tmp);
drivers/net/wireless/ti/wl18xx/io.c
41
int wl18xx_top_reg_read(struct wl1271 *wl, int addr, u16 *out)
drivers/net/wireless/ti/wl18xx/io.c
51
ret = wlcore_read32(wl, addr, &val);
drivers/net/wireless/ti/wl18xx/io.c
55
ret = wlcore_read32(wl, addr - 2, &val);
drivers/net/wireless/ti/wl18xx/io.h
11
int __must_check wl18xx_top_reg_write(struct wl1271 *wl, int addr, u16 val);
drivers/net/wireless/ti/wl18xx/io.h
12
int __must_check wl18xx_top_reg_read(struct wl1271 *wl, int addr, u16 *out);
drivers/net/wireless/ti/wl18xx/main.c
1001
ret = wl18xx_pre_boot(wl);
drivers/net/wireless/ti/wl18xx/main.c
1005
ret = wl18xx_pre_upload(wl);
drivers/net/wireless/ti/wl18xx/main.c
1009
ret = wlcore_boot_upload_firmware(wl);
drivers/net/wireless/ti/wl18xx/main.c
1013
ret = wl18xx_set_mac_and_phy(wl);
drivers/net/wireless/ti/wl18xx/main.c
1017
wl->event_mask = BSS_LOSS_EVENT_ID |
drivers/net/wireless/ti/wl18xx/main.c
1036
wl->ap_event_mask = MAX_TX_FAILURE_EVENT_ID;
drivers/net/wireless/ti/wl18xx/main.c
1038
ret = wlcore_boot_run_firmware(wl);
drivers/net/wireless/ti/wl18xx/main.c
1042
ret = wl18xx_enable_interrupts(wl);
drivers/net/wireless/ti/wl18xx/main.c
1048
static int wl18xx_trigger_cmd(struct wl1271 *wl, int cmd_box_addr,
drivers/net/wireless/ti/wl18xx/main.c
1051
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/main.c
1056
return wlcore_write(wl, cmd_box_addr, priv->cmd_buf,
drivers/net/wireless/ti/wl18xx/main.c
1060
static int wl18xx_ack_event(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
1062
return wlcore_write_reg(wl, REG_INTERRUPT_TRIG,
drivers/net/wireless/ti/wl18xx/main.c
1066
static u32 wl18xx_calc_tx_blocks(struct wl1271 *wl, u32 len, u32 spare_blks)
drivers/net/wireless/ti/wl18xx/main.c
1073
wl18xx_set_tx_desc_blocks(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
drivers/net/wireless/ti/wl18xx/main.c
1080
wl18xx_set_tx_desc_data_len(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
drivers/net/wireless/ti/wl18xx/main.c
1086
if (wl->quirks & WLCORE_QUIRK_TX_PAD_LAST_FRAME)
drivers/net/wireless/ti/wl18xx/main.c
1099
wl18xx_get_rx_buf_align(struct wl1271 *wl, u32 rx_desc)
drivers/net/wireless/ti/wl18xx/main.c
1107
static u32 wl18xx_get_rx_packet_len(struct wl1271 *wl, void *rx_data,
drivers/net/wireless/ti/wl18xx/main.c
1119
static void wl18xx_tx_immediate_completion(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
1121
wl18xx_tx_immediate_complete(wl);
drivers/net/wireless/ti/wl18xx/main.c
1124
static int wl18xx_set_host_cfg_bitmap(struct wl1271 *wl, u32 extra_mem_blk)
drivers/net/wireless/ti/wl18xx/main.c
1132
if (wl->quirks & WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN) {
drivers/net/wireless/ti/wl18xx/main.c
1138
if (wl->quirks & WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN) {
drivers/net/wireless/ti/wl18xx/main.c
1143
ret = wl18xx_acx_host_if_cfg_bitmap(wl, host_cfg_bitmap,
drivers/net/wireless/ti/wl18xx/main.c
1152
static int wl18xx_hw_init(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
1155
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/main.c
1162
ret = wl18xx_set_host_cfg_bitmap(wl, WL18XX_TX_HW_BLOCK_SPARE);
drivers/net/wireless/ti/wl18xx/main.c
1167
ret = wl18xx_acx_dynamic_fw_traces(wl);
drivers/net/wireless/ti/wl18xx/main.c
1172
ret = wl18xx_acx_set_checksum_state(wl);
drivers/net/wireless/ti/wl18xx/main.c
1180
static void wl18xx_convert_fw_status_8_9_1(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1220
static void wl18xx_convert_fw_status_8_9_0(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1258
static void wl18xx_convert_fw_status(struct wl1271 *wl, void *raw_fw_status,
drivers/net/wireless/ti/wl18xx/main.c
1261
if (wl->chip.fw_ver[FW_VER_MAJOR] == 0)
drivers/net/wireless/ti/wl18xx/main.c
1262
wl18xx_convert_fw_status_8_9_0(wl, raw_fw_status, fw_status);
drivers/net/wireless/ti/wl18xx/main.c
1264
wl18xx_convert_fw_status_8_9_1(wl, raw_fw_status, fw_status);
drivers/net/wireless/ti/wl18xx/main.c
1267
static void wl18xx_set_tx_desc_csum(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1297
static void wl18xx_set_rx_csum(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1305
static bool wl18xx_is_mimo_supported(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
1307
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/main.c
1321
static u32 wl18xx_sta_get_ap_rate_mask(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1333
} else if (wl18xx_is_mimo_supported(wl)) {
drivers/net/wireless/ti/wl18xx/main.c
1341
static u32 wl18xx_ap_get_mimo_wide_rate_mask(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1353
} else if (wl18xx_is_mimo_supported(wl) &&
drivers/net/wireless/ti/wl18xx/main.c
1392
static int wl18xx_get_pg_ver(struct wl1271 *wl, s8 *ver)
drivers/net/wireless/ti/wl18xx/main.c
1398
ret = wlcore_set_partition(wl, &wl->ptable[PART_TOP_PRCM_ELP_SOC]);
drivers/net/wireless/ti/wl18xx/main.c
1402
ret = wlcore_read32(wl, WL18XX_REG_FUSE_DATA_2_3, &fuse);
drivers/net/wireless/ti/wl18xx/main.c
1408
ret = wlcore_read32(wl, WL18XX_REG_FUSE_DATA_1_3, &fuse);
drivers/net/wireless/ti/wl18xx/main.c
1422
ret = wlcore_read32(wl, WL18XX_REG_FUSE_DATA_2_3, &fuse);
drivers/net/wireless/ti/wl18xx/main.c
1434
ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]);
drivers/net/wireless/ti/wl18xx/main.c
1488
static int wl18xx_conf_init(struct wl1271 *wl, struct device *dev)
drivers/net/wireless/ti/wl18xx/main.c
1490
struct platform_device *pdev = wl->pdev;
drivers/net/wireless/ti/wl18xx/main.c
1492
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/main.c
1494
if (wl18xx_load_conf_file(dev, &wl->conf, &priv->conf,
drivers/net/wireless/ti/wl18xx/main.c
1499
memcpy(&wl->conf, &wl18xx_conf, sizeof(wl->conf));
drivers/net/wireless/ti/wl18xx/main.c
1508
static int wl18xx_plt_init(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
1513
if (wl->plt_mode == PLT_FEM_DETECT) {
drivers/net/wireless/ti/wl18xx/main.c
1518
ret = wlcore_write32(wl, WL18XX_SCR_PAD8, WL18XX_SCR_PAD8_PLT);
drivers/net/wireless/ti/wl18xx/main.c
1522
return wl->ops->boot(wl);
drivers/net/wireless/ti/wl18xx/main.c
1525
static int wl18xx_get_mac(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
1530
ret = wlcore_set_partition(wl, &wl->ptable[PART_TOP_PRCM_ELP_SOC]);
drivers/net/wireless/ti/wl18xx/main.c
1534
ret = wlcore_read32(wl, WL18XX_REG_FUSE_BD_ADDR_1, &mac1);
drivers/net/wireless/ti/wl18xx/main.c
1538
ret = wlcore_read32(wl, WL18XX_REG_FUSE_BD_ADDR_2, &mac2);
drivers/net/wireless/ti/wl18xx/main.c
1543
wl->fuse_oui_addr = ((mac2 & 0xffff) << 8) +
drivers/net/wireless/ti/wl18xx/main.c
1545
wl->fuse_nic_addr = (mac1 & 0xffffff);
drivers/net/wireless/ti/wl18xx/main.c
1547
if (!wl->fuse_oui_addr && !wl->fuse_nic_addr) {
drivers/net/wireless/ti/wl18xx/main.c
1552
wl->fuse_oui_addr = (mac[0] << 16) + (mac[1] << 8) + mac[2];
drivers/net/wireless/ti/wl18xx/main.c
1553
wl->fuse_nic_addr = (mac[3] << 16) + (mac[4] << 8) + mac[5];
drivers/net/wireless/ti/wl18xx/main.c
1557
ret = wlcore_set_partition(wl, &wl->ptable[PART_DOWN]);
drivers/net/wireless/ti/wl18xx/main.c
1563
static int wl18xx_handle_static_data(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1570
strscpy(wl->chip.phy_fw_ver_str, static_data_priv->phy_version,
drivers/net/wireless/ti/wl18xx/main.c
1571
sizeof(wl->chip.phy_fw_ver_str));
drivers/net/wireless/ti/wl18xx/main.c
1576
if (wl->chip.fw_ver[FW_VER_MAJOR] == 0)
drivers/net/wireless/ti/wl18xx/main.c
1581
if (wl->fw_status_len != fw_status_len) {
drivers/net/wireless/ti/wl18xx/main.c
1582
void *new_status = krealloc(wl->raw_fw_status, fw_status_len,
drivers/net/wireless/ti/wl18xx/main.c
1587
wl->raw_fw_status = new_status;
drivers/net/wireless/ti/wl18xx/main.c
1588
wl->fw_status_len = fw_status_len;
drivers/net/wireless/ti/wl18xx/main.c
1594
static int wl18xx_get_spare_blocks(struct wl1271 *wl, bool is_gem)
drivers/net/wireless/ti/wl18xx/main.c
1596
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/main.c
1605
static int wl18xx_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
drivers/net/wireless/ti/wl18xx/main.c
1610
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/main.c
1620
ret = wlcore_set_key(wl, cmd, vif, sta, key_conf);
drivers/net/wireless/ti/wl18xx/main.c
1648
ret = wl18xx_set_host_cfg_bitmap(wl,
drivers/net/wireless/ti/wl18xx/main.c
1651
ret = wl18xx_set_host_cfg_bitmap(wl,
drivers/net/wireless/ti/wl18xx/main.c
1658
static u32 wl18xx_pre_pkt_send(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1661
if (wl->quirks & WLCORE_QUIRK_TX_PAD_LAST_FRAME) {
drivers/net/wireless/ti/wl18xx/main.c
1665
last_desc = (struct wl1271_tx_hw_descr *)(wl->aggr_buf +
drivers/net/wireless/ti/wl18xx/main.c
1677
static void wl18xx_sta_rc_update(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1698
wl18xx_acx_peer_ht_operation_mode(wl, wlvif->sta.hlid, wide);
drivers/net/wireless/ti/wl18xx/main.c
1703
static int wl18xx_set_peer_cap(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/main.c
1708
return wl18xx_acx_set_peer_cap(wl, ht_cap, allow_ht_operation,
drivers/net/wireless/ti/wl18xx/main.c
1712
static bool wl18xx_lnk_high_prio(struct wl1271 *wl, u8 hlid,
drivers/net/wireless/ti/wl18xx/main.c
1717
(struct wl18xx_fw_status_priv *)wl->fw_status->priv;
drivers/net/wireless/ti/wl18xx/main.c
1730
if (test_bit(hlid, &wl->fw_fast_lnk_map) &&
drivers/net/wireless/ti/wl18xx/main.c
1731
!test_bit(hlid, &wl->ap_fw_ps_map))
drivers/net/wireless/ti/wl18xx/main.c
1739
static bool wl18xx_lnk_low_prio(struct wl1271 *wl, u8 hlid,
drivers/net/wireless/ti/wl18xx/main.c
1744
(struct wl18xx_fw_status_priv *)wl->fw_status->priv;
drivers/net/wireless/ti/wl18xx/main.c
1754
else if (test_bit(hlid, &wl->fw_fast_lnk_map) &&
drivers/net/wireless/ti/wl18xx/main.c
1755
!test_bit(hlid, &wl->ap_fw_ps_map))
drivers/net/wireless/ti/wl18xx/main.c
1763
static u32 wl18xx_convert_hwaddr(struct wl1271 *wl, u32 hwaddr)
drivers/net/wireless/ti/wl18xx/main.c
1768
static int wl18xx_setup(struct wl1271 *wl);
drivers/net/wireless/ti/wl18xx/main.c
1934
static int wl18xx_setup(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
1936
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/main.c
1943
wl->rtable = wl18xx_rtable;
drivers/net/wireless/ti/wl18xx/main.c
1944
wl->num_tx_desc = WL18XX_NUM_TX_DESCRIPTORS;
drivers/net/wireless/ti/wl18xx/main.c
1945
wl->num_rx_desc = WL18XX_NUM_RX_DESCRIPTORS;
drivers/net/wireless/ti/wl18xx/main.c
1946
wl->num_links = WL18XX_MAX_LINKS;
drivers/net/wireless/ti/wl18xx/main.c
1947
wl->max_ap_stations = WL18XX_MAX_AP_STATIONS;
drivers/net/wireless/ti/wl18xx/main.c
1948
wl->iface_combinations = wl18xx_iface_combinations;
drivers/net/wireless/ti/wl18xx/main.c
1949
wl->n_iface_combinations = ARRAY_SIZE(wl18xx_iface_combinations);
drivers/net/wireless/ti/wl18xx/main.c
1950
wl->num_mac_addr = WL18XX_NUM_MAC_ADDRESSES;
drivers/net/wireless/ti/wl18xx/main.c
1951
wl->band_rate_to_idx = wl18xx_band_rate_to_idx;
drivers/net/wireless/ti/wl18xx/main.c
1952
wl->hw_tx_rate_tbl_size = WL18XX_CONF_HW_RXTX_RATE_MAX;
drivers/net/wireless/ti/wl18xx/main.c
1953
wl->hw_min_ht_rate = WL18XX_CONF_HW_RXTX_RATE_MCS0;
drivers/net/wireless/ti/wl18xx/main.c
1954
wl->fw_status_len = sizeof(struct wl18xx_fw_status);
drivers/net/wireless/ti/wl18xx/main.c
1955
wl->fw_status_priv_len = sizeof(struct wl18xx_fw_status_priv);
drivers/net/wireless/ti/wl18xx/main.c
1956
wl->stats.fw_stats_len = sizeof(struct wl18xx_acx_statistics);
drivers/net/wireless/ti/wl18xx/main.c
1957
wl->static_data_priv_len = sizeof(struct wl18xx_static_data_priv);
drivers/net/wireless/ti/wl18xx/main.c
1960
wl->num_rx_desc = num_rx_desc_param;
drivers/net/wireless/ti/wl18xx/main.c
1962
ret = wl18xx_conf_init(wl, wl->dev);
drivers/net/wireless/ti/wl18xx/main.c
2029
if (wl18xx_is_mimo_supported(wl))
drivers/net/wireless/ti/wl18xx/main.c
2030
wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ,
drivers/net/wireless/ti/wl18xx/main.c
2033
wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ,
drivers/net/wireless/ti/wl18xx/main.c
2037
wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ,
drivers/net/wireless/ti/wl18xx/main.c
2040
wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ,
drivers/net/wireless/ti/wl18xx/main.c
2042
wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ,
drivers/net/wireless/ti/wl18xx/main.c
2045
wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ,
drivers/net/wireless/ti/wl18xx/main.c
2047
wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ,
drivers/net/wireless/ti/wl18xx/main.c
2057
wl->enable_11a = (priv->conf.phy.number_of_assembled_ant5 != 0);
drivers/net/wireless/ti/wl18xx/main.c
2064
struct wl1271 *wl;
drivers/net/wireless/ti/wl18xx/main.c
2077
wl = hw->priv;
drivers/net/wireless/ti/wl18xx/main.c
2078
wl->ops = &wl18xx_ops;
drivers/net/wireless/ti/wl18xx/main.c
2079
wl->ptable = wl18xx_ptable;
drivers/net/wireless/ti/wl18xx/main.c
2080
ret = wlcore_probe(wl, pdev);
drivers/net/wireless/ti/wl18xx/main.c
2087
wlcore_free_hw(wl);
drivers/net/wireless/ti/wl18xx/main.c
661
static int wl18xx_identify_chip(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
665
switch (wl->chip.id) {
drivers/net/wireless/ti/wl18xx/main.c
668
wl->chip.id);
drivers/net/wireless/ti/wl18xx/main.c
669
wl->sr_fw_name = WL18XX_FW_NAME;
drivers/net/wireless/ti/wl18xx/main.c
671
wl->plt_fw_name = WL18XX_FW_NAME;
drivers/net/wireless/ti/wl18xx/main.c
672
wl->quirks |= WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN |
drivers/net/wireless/ti/wl18xx/main.c
679
wlcore_set_min_fw_ver(wl, WL18XX_CHIP_VER,
drivers/net/wireless/ti/wl18xx/main.c
687
wl->chip.id);
drivers/net/wireless/ti/wl18xx/main.c
692
wl1271_warning("unsupported chip id: 0x%x", wl->chip.id);
drivers/net/wireless/ti/wl18xx/main.c
697
wl->fw_mem_block_size = 272;
drivers/net/wireless/ti/wl18xx/main.c
698
wl->fwlog_end = 0x40000000;
drivers/net/wireless/ti/wl18xx/main.c
700
wl->scan_templ_id_2_4 = CMD_TEMPL_CFG_PROBE_REQ_2_4;
drivers/net/wireless/ti/wl18xx/main.c
701
wl->scan_templ_id_5 = CMD_TEMPL_CFG_PROBE_REQ_5;
drivers/net/wireless/ti/wl18xx/main.c
702
wl->sched_scan_templ_id_2_4 = CMD_TEMPL_PROBE_REQ_2_4_PERIODIC;
drivers/net/wireless/ti/wl18xx/main.c
703
wl->sched_scan_templ_id_5 = CMD_TEMPL_PROBE_REQ_5_PERIODIC;
drivers/net/wireless/ti/wl18xx/main.c
704
wl->max_channels_5 = WL18XX_MAX_CHANNELS_5GHZ;
drivers/net/wireless/ti/wl18xx/main.c
705
wl->ba_rx_session_count_max = WL18XX_RX_BA_MAX_SESSIONS;
drivers/net/wireless/ti/wl18xx/main.c
710
static int wl18xx_set_clk(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
715
ret = wlcore_set_partition(wl, &wl->ptable[PART_TOP_PRCM_ELP_SOC]);
drivers/net/wireless/ti/wl18xx/main.c
721
ret = wl18xx_top_reg_read(wl, PRIMARY_CLK_DETECT, &clk_freq);
drivers/net/wireless/ti/wl18xx/main.c
731
ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_N,
drivers/net/wireless/ti/wl18xx/main.c
736
ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_M,
drivers/net/wireless/ti/wl18xx/main.c
742
ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_SWALLOW_EN,
drivers/net/wireless/ti/wl18xx/main.c
747
ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_N,
drivers/net/wireless/ti/wl18xx/main.c
752
ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_M,
drivers/net/wireless/ti/wl18xx/main.c
759
ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_Q_FACTOR_CFG_1,
drivers/net/wireless/ti/wl18xx/main.c
766
ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_Q_FACTOR_CFG_2,
drivers/net/wireless/ti/wl18xx/main.c
773
ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_P_FACTOR_CFG_1,
drivers/net/wireless/ti/wl18xx/main.c
780
ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_P_FACTOR_CFG_2,
drivers/net/wireless/ti/wl18xx/main.c
786
ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_SWALLOW_EN,
drivers/net/wireless/ti/wl18xx/main.c
793
ret = wl18xx_top_reg_write(wl, PLLSH_WL_PLL_SEL,
drivers/net/wireless/ti/wl18xx/main.c
799
ret = wl18xx_top_reg_write(wl, PLLSH_WL_PLL_EN, PLLSH_WL_PLL_EN_VAL1);
drivers/net/wireless/ti/wl18xx/main.c
806
ret = wl18xx_top_reg_write(wl, PLLSH_WL_PLL_EN, PLLSH_WL_PLL_EN_VAL2);
drivers/net/wireless/ti/wl18xx/main.c
811
ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_SWALLOW_EN,
drivers/net/wireless/ti/wl18xx/main.c
818
static int wl18xx_boot_soft_reset(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
823
ret = wlcore_write32(wl, WL18XX_ENABLE, 0x0);
drivers/net/wireless/ti/wl18xx/main.c
828
ret = wlcore_write32(wl, WL18XX_SPARE_A2, 0xffff);
drivers/net/wireless/ti/wl18xx/main.c
834
static int wl18xx_pre_boot(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
838
ret = wl18xx_set_clk(wl);
drivers/net/wireless/ti/wl18xx/main.c
843
ret = wlcore_write32(wl, WL18XX_WELP_ARM_COMMAND, WELP_ARM_COMMAND_VAL);
drivers/net/wireless/ti/wl18xx/main.c
849
ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]);
drivers/net/wireless/ti/wl18xx/main.c
854
ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, WL1271_ACX_INTR_ALL);
drivers/net/wireless/ti/wl18xx/main.c
858
ret = wl18xx_boot_soft_reset(wl);
drivers/net/wireless/ti/wl18xx/main.c
864
static int wl18xx_pre_upload(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
873
ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]);
drivers/net/wireless/ti/wl18xx/main.c
878
ret = wlcore_write32(wl, WL18XX_EEPROMLESS_IND, WL18XX_EEPROMLESS_IND);
drivers/net/wireless/ti/wl18xx/main.c
882
ret = wlcore_read_reg(wl, REG_CHIP_ID_B, &tmp);
drivers/net/wireless/ti/wl18xx/main.c
888
ret = wlcore_read32(wl, WL18XX_SCR_PAD2, &tmp);
drivers/net/wireless/ti/wl18xx/main.c
899
ret = wlcore_set_partition(wl, &wl->ptable[PART_PHY_INIT]);
drivers/net/wireless/ti/wl18xx/main.c
904
ret = wlcore_write32(wl, WL18XX_PHY_FPGA_SPARE_1,
drivers/net/wireless/ti/wl18xx/main.c
910
ret = wlcore_write32(wl, WL18XX_PHY_FPGA_SPARE_1,
drivers/net/wireless/ti/wl18xx/main.c
916
ret = wlcore_write32(wl, WL18XX_PHY_FPGA_SPARE_1,
drivers/net/wireless/ti/wl18xx/main.c
921
ret = irq_get_trigger_type(wl->irq);
drivers/net/wireless/ti/wl18xx/main.c
924
ret = wlcore_set_partition(wl,
drivers/net/wireless/ti/wl18xx/main.c
925
&wl->ptable[PART_TOP_PRCM_ELP_SOC]);
drivers/net/wireless/ti/wl18xx/main.c
929
ret = wl18xx_top_reg_read(wl, TOP_FN0_CCCR_REG_32, &irq_invert);
drivers/net/wireless/ti/wl18xx/main.c
934
ret = wl18xx_top_reg_write(wl, TOP_FN0_CCCR_REG_32, irq_invert);
drivers/net/wireless/ti/wl18xx/main.c
938
ret = wlcore_set_partition(wl, &wl->ptable[PART_PHY_INIT]);
drivers/net/wireless/ti/wl18xx/main.c
945
static int wl18xx_set_mac_and_phy(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
947
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/main.c
957
ret = wlcore_set_partition(wl, &wl->ptable[PART_PHY_INIT]);
drivers/net/wireless/ti/wl18xx/main.c
961
ret = wlcore_write(wl, WL18XX_PHY_INIT_MEM_ADDR, params,
drivers/net/wireless/ti/wl18xx/main.c
969
static int wl18xx_enable_interrupts(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/main.c
977
ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, event_mask);
drivers/net/wireless/ti/wl18xx/main.c
981
wlcore_enable_interrupts(wl);
drivers/net/wireless/ti/wl18xx/main.c
983
ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK,
drivers/net/wireless/ti/wl18xx/main.c
991
wlcore_disable_interrupts(wl);
drivers/net/wireless/ti/wl18xx/main.c
997
static int wl18xx_boot(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/scan.c
100
ret = wl12xx_cmd_build_probe_req(wl, wlvif,
drivers/net/wireless/ti/wl18xx/scan.c
117
ret = wl12xx_cmd_build_probe_req(wl, wlvif,
drivers/net/wireless/ti/wl18xx/scan.c
134
ret = wl1271_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wl18xx/scan.c
146
void wl18xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl18xx/scan.c
148
wl->scan.failed = false;
drivers/net/wireless/ti/wl18xx/scan.c
149
cancel_delayed_work(&wl->scan_complete_work);
drivers/net/wireless/ti/wl18xx/scan.c
150
ieee80211_queue_delayed_work(wl->hw, &wl->scan_complete_work,
drivers/net/wireless/ti/wl18xx/scan.c
155
int wl18xx_scan_sched_scan_config(struct wl1271 *wl,
drivers/net/wireless/ti/wl18xx/scan.c
162
struct conf_sched_scan_settings *c = &wl->conf.sched_scan;
drivers/net/wireless/ti/wl18xx/scan.c
168
filter_type = wlcore_scan_sched_scan_ssid_list(wl, wlvif, req);
drivers/net/wireless/ti/wl18xx/scan.c
211
wlcore_set_scan_chan_params(wl, cmd_channels, req->channels,
drivers/net/wireless/ti/wl18xx/scan.c
243
ret = wl12xx_cmd_build_probe_req(wl, wlvif,
drivers/net/wireless/ti/wl18xx/scan.c
260
ret = wl12xx_cmd_build_probe_req(wl, wlvif,
drivers/net/wireless/ti/wl18xx/scan.c
27
static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl18xx/scan.c
277
ret = wl1271_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wl18xx/scan.c
289
int wl18xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl18xx/scan.c
293
return wl18xx_scan_sched_scan_config(wl, wlvif, req, ies);
drivers/net/wireless/ti/wl18xx/scan.c
296
static int __wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl18xx/scan.c
313
ret = wl1271_cmd_send(wl, CMD_STOP_SCAN, stop, sizeof(*stop), 0);
drivers/net/wireless/ti/wl18xx/scan.c
324
void wl18xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl18xx/scan.c
326
__wl18xx_scan_stop(wl, wlvif, SCAN_TYPE_PERIODIC);
drivers/net/wireless/ti/wl18xx/scan.c
328
int wl18xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl18xx/scan.c
331
return wl18xx_scan_send(wl, wlvif, req);
drivers/net/wireless/ti/wl18xx/scan.c
334
int wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wl18xx/scan.c
336
return __wl18xx_scan_stop(wl, wlvif, SCAN_TYPE_SEARCH);
drivers/net/wireless/ti/wl18xx/scan.c
64
cmd->n_probe_reqs = wl->conf.scan.num_probe_reqs;
drivers/net/wireless/ti/wl18xx/scan.c
76
wlcore_set_scan_chan_params(wl, cmd_channels, req->channels,
drivers/net/wireless/ti/wl18xx/scan.h
105
int wl18xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl18xx/scan.h
107
int wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wl18xx/scan.h
108
void wl18xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wl18xx/scan.h
109
int wl18xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wl18xx/scan.h
112
void wl18xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wl18xx/tx.c
104
wl->stats.retry_count++;
drivers/net/wireless/ti/wl18xx/tx.c
115
if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) &&
drivers/net/wireless/ti/wl18xx/tx.c
127
skb_queue_tail(&wl->deferred_tx_queue, skb);
drivers/net/wireless/ti/wl18xx/tx.c
128
queue_work(wl->freezable_wq, &wl->netstack_work);
drivers/net/wireless/ti/wl18xx/tx.c
129
wl1271_free_tx_id(wl, id);
drivers/net/wireless/ti/wl18xx/tx.c
140
void wl18xx_tx_immediate_complete(struct wl1271 *wl)
drivers/net/wireless/ti/wl18xx/tx.c
143
(struct wl18xx_fw_status_priv *)wl->fw_status->priv;
drivers/net/wireless/ti/wl18xx/tx.c
144
struct wl18xx_priv *priv = wl->priv;
drivers/net/wireless/ti/wl18xx/tx.c
152
hlid = wl->fw_status->counters.hlid;
drivers/net/wireless/ti/wl18xx/tx.c
155
wl->links[hlid].fw_rate_idx =
drivers/net/wireless/ti/wl18xx/tx.c
156
wl->fw_status->counters.tx_last_rate;
drivers/net/wireless/ti/wl18xx/tx.c
157
wl->links[hlid].fw_rate_mbps =
drivers/net/wireless/ti/wl18xx/tx.c
158
wl->fw_status->counters.tx_last_rate_mbps;
drivers/net/wireless/ti/wl18xx/tx.c
174
wl18xx_tx_complete_packet(wl,
drivers/net/wireless/ti/wl18xx/tx.c
177
wl->tx_results_count++;
drivers/net/wireless/ti/wl18xx/tx.c
18
void wl18xx_get_last_tx_rate(struct wl1271 *wl, struct ieee80211_vif *vif,
drivers/net/wireless/ti/wl18xx/tx.c
21
u8 fw_rate = wl->links[hlid].fw_rate_idx;
drivers/net/wireless/ti/wl18xx/tx.c
62
static void wl18xx_tx_complete_packet(struct wl1271 *wl, u8 tx_stat_byte)
drivers/net/wireless/ti/wl18xx/tx.c
71
if (unlikely(id >= wl->num_tx_desc || wl->tx_frames[id] == NULL)) {
drivers/net/wireless/ti/wl18xx/tx.c
79
skb = wl->tx_frames[id];
drivers/net/wireless/ti/wl18xx/tx.c
83
if (wl12xx_is_dummy_packet(wl, skb)) {
drivers/net/wireless/ti/wl18xx/tx.c
84
wl1271_free_tx_id(wl, id);
drivers/net/wireless/ti/wl18xx/tx.c
95
wl18xx_get_last_tx_rate(wl, info->control.vif,
drivers/net/wireless/ti/wl18xx/tx.h
30
void wl18xx_tx_immediate_complete(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.c
1001
wl->target_mem_map = kzalloc_obj(struct wl1271_acx_mem_map);
drivers/net/wireless/ti/wlcore/acx.c
1002
if (!wl->target_mem_map) {
drivers/net/wireless/ti/wlcore/acx.c
1008
ret = wl1271_acx_mem_map(wl, (void *)wl->target_mem_map,
drivers/net/wireless/ti/wlcore/acx.c
1012
kfree(wl->target_mem_map);
drivers/net/wireless/ti/wlcore/acx.c
1013
wl->target_mem_map = NULL;
drivers/net/wireless/ti/wlcore/acx.c
1018
wl->tx_blocks_available =
drivers/net/wireless/ti/wlcore/acx.c
1019
le32_to_cpu(wl->target_mem_map->num_tx_mem_blocks);
drivers/net/wireless/ti/wlcore/acx.c
102
ret = wl1271_cmd_configure(wl, DOT11_CUR_TX_PWR, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1021
wl->tx_blocks_available);
drivers/net/wireless/ti/wlcore/acx.c
1027
int wl1271_acx_init_rx_interrupt(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
1040
rx_conf->threshold = cpu_to_le16(wl->conf.rx.irq_pkt_threshold);
drivers/net/wireless/ti/wlcore/acx.c
1041
rx_conf->timeout = cpu_to_le16(wl->conf.rx.irq_timeout);
drivers/net/wireless/ti/wlcore/acx.c
1042
rx_conf->mblk_threshold = cpu_to_le16(wl->conf.rx.irq_blk_threshold);
drivers/net/wireless/ti/wlcore/acx.c
1043
rx_conf->queue_type = wl->conf.rx.queue_type;
drivers/net/wireless/ti/wlcore/acx.c
1045
ret = wl1271_cmd_configure(wl, ACX_RX_CONFIG_OPT, rx_conf,
drivers/net/wireless/ti/wlcore/acx.c
1057
int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
1065
if (enable && wl->conf.conn.bet_enable == CONF_BET_MODE_DISABLE)
drivers/net/wireless/ti/wlcore/acx.c
1076
acx->max_consecutive = wl->conf.conn.bet_max_consecutive;
drivers/net/wireless/ti/wlcore/acx.c
1078
ret = wl1271_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1089
int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
1110
ret = wl1271_cmd_configure(wl, ACX_ARP_IP_FILTER,
drivers/net/wireless/ti/wlcore/acx.c
1122
int wl1271_acx_pm_config(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
1125
struct conf_pm_config_settings *c = &wl->conf.pm_config;
drivers/net/wireless/ti/wlcore/acx.c
113
int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/acx.c
1139
ret = wl1271_cmd_configure(wl, ACX_PM_CONFIG, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1151
int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
1168
ret = wl1271_cmd_configure(wl, ACX_KEEP_ALIVE_MODE, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1179
int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
1194
acx->period = cpu_to_le32(wl->conf.conn.keep_alive_interval);
drivers/net/wireless/ti/wlcore/acx.c
1199
ret = wl1271_cmd_configure(wl, ACX_SET_KEEP_ALIVE_CONFIG,
drivers/net/wireless/ti/wlcore/acx.c
1211
int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
1228
acx->pacing = cpu_to_le16(wl->conf.roam_trigger.trigger_pacing);
drivers/net/wireless/ti/wlcore/acx.c
1241
ret = wl1271_cmd_configure(wl, ACX_RSSI_SNR_TRIGGER, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1252
int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.c
1256
struct conf_roam_trigger_settings *c = &wl->conf.roam_trigger;
drivers/net/wireless/ti/wlcore/acx.c
1273
ret = wl1271_cmd_configure(wl, ACX_RSSI_SNR_WEIGHTS, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1284
int wl1271_acx_set_ht_capabilities(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.c
131
ret = wl1271_cmd_configure(wl, ACX_FEATURE_CFG,
drivers/net/wireless/ti/wlcore/acx.c
1320
ret = wl1271_cmd_configure(wl, ACX_PEER_HT_CAP, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1333
int wl1271_acx_set_ht_information(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.c
1357
ret = wl1271_cmd_configure(wl, ACX_HT_BSS_OPERATION, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1370
int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.c
1386
acx->tid_bitmap = wl->conf.ht.tx_ba_tid_bitmap;
drivers/net/wireless/ti/wlcore/acx.c
1387
acx->win_size = wl->conf.ht.tx_ba_win_size;
drivers/net/wireless/ti/wlcore/acx.c
1388
acx->inactivity_timeout = wl->conf.ht.inactivity_timeout;
drivers/net/wireless/ti/wlcore/acx.c
1390
ret = wl1271_cmd_configure(wl,
drivers/net/wireless/ti/wlcore/acx.c
1405
int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
drivers/net/wireless/ti/wlcore/acx.c
1426
ret = wlcore_cmd_configure_failsafe(wl, ACX_BA_SESSION_RX_SETUP, acx,
drivers/net/wireless/ti/wlcore/acx.c
143
int wl1271_acx_mem_map(struct wl1271 *wl, struct acx_header *mem_map,
drivers/net/wireless/ti/wlcore/acx.c
1447
int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
1461
ret = wl1271_cmd_interrogate(wl, ACX_TSF_INFO, tsf_info,
drivers/net/wireless/ti/wlcore/acx.c
1476
int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
1491
conf_queues = wl->conf.rx_streaming.queues;
drivers/net/wireless/ti/wlcore/acx.c
150
ret = wl1271_cmd_interrogate(wl, ACX_MEM_MAP, mem_map,
drivers/net/wireless/ti/wlcore/acx.c
1509
rx_streaming->period = wl->conf.rx_streaming.interval;
drivers/net/wireless/ti/wlcore/acx.c
1510
rx_streaming->timeout = wl->conf.rx_streaming.interval;
drivers/net/wireless/ti/wlcore/acx.c
1512
ret = wl1271_cmd_configure(wl, ACX_PS_RX_STREAMING,
drivers/net/wireless/ti/wlcore/acx.c
1525
int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/acx.c
1537
acx->max_tx_retry = cpu_to_le16(wl->conf.tx.max_tx_retries);
drivers/net/wireless/ti/wlcore/acx.c
1539
ret = wl1271_cmd_configure(wl, ACX_MAX_TX_FAILURE, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1550
int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/acx.c
1563
config_ps->exit_retries = wl->conf.conn.psm_exit_retries;
drivers/net/wireless/ti/wlcore/acx.c
1564
config_ps->enter_retries = wl->conf.conn.psm_entry_retries;
drivers/net/wireless/ti/wlcore/acx.c
1567
ret = wl1271_cmd_configure(wl, ACX_CONFIG_PS, config_ps,
drivers/net/wireless/ti/wlcore/acx.c
158
int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
1580
int wl1271_acx_set_inconnection_sta(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.c
1595
ret = wl1271_cmd_configure(wl, ACX_UPDATE_INCONNECTION_STA_LIST,
drivers/net/wireless/ti/wlcore/acx.c
1607
int wl1271_acx_fm_coex(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
1620
acx->enable = wl->conf.fm_coex.enable;
drivers/net/wireless/ti/wlcore/acx.c
1621
acx->swallow_period = wl->conf.fm_coex.swallow_period;
drivers/net/wireless/ti/wlcore/acx.c
1622
acx->n_divider_fref_set_1 = wl->conf.fm_coex.n_divider_fref_set_1;
drivers/net/wireless/ti/wlcore/acx.c
1623
acx->n_divider_fref_set_2 = wl->conf.fm_coex.n_divider_fref_set_2;
drivers/net/wireless/ti/wlcore/acx.c
1625
cpu_to_le16(wl->conf.fm_coex.m_divider_fref_set_1);
drivers/net/wireless/ti/wlcore/acx.c
1627
cpu_to_le16(wl->conf.fm_coex.m_divider_fref_set_2);
drivers/net/wireless/ti/wlcore/acx.c
1629
cpu_to_le32(wl->conf.fm_coex.coex_pll_stabilization_time);
drivers/net/wireless/ti/wlcore/acx.c
1631
cpu_to_le16(wl->conf.fm_coex.ldo_stabilization_time);
drivers/net/wireless/ti/wlcore/acx.c
1633
wl->conf.fm_coex.fm_disturbed_band_margin;
drivers/net/wireless/ti/wlcore/acx.c
1634
acx->swallow_clk_diff = wl->conf.fm_coex.swallow_clk_diff;
drivers/net/wireless/ti/wlcore/acx.c
1636
ret = wl1271_cmd_configure(wl, ACX_FM_COEX_CFG, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
1647
int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
1650
struct conf_rate_policy_settings *conf = &wl->conf.rate;
drivers/net/wireless/ti/wlcore/acx.c
1677
ret = wl1271_cmd_configure(wl, ACX_SET_RATE_MGMT_PARAMS,
drivers/net/wireless/ti/wlcore/acx.c
1689
int wl12xx_acx_config_hangover(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
1692
struct conf_hangover_settings *conf = &wl->conf.hangover;
drivers/net/wireless/ti/wlcore/acx.c
171
acx->lifetime = cpu_to_le32(wl->conf.rx.rx_msdu_life_time);
drivers/net/wireless/ti/wlcore/acx.c
1715
ret = wl1271_cmd_configure(wl, ACX_CONFIG_HANGOVER, acx,
drivers/net/wireless/ti/wlcore/acx.c
172
ret = wl1271_cmd_configure(wl, DOT11_RX_MSDU_LIFE_TIME,
drivers/net/wireless/ti/wlcore/acx.c
1729
int wlcore_acx_average_rssi(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
1744
ret = wl1271_cmd_interrogate(wl, ACX_ROAMING_STATISTICS_TBL,
drivers/net/wireless/ti/wlcore/acx.c
1760
int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable,
drivers/net/wireless/ti/wlcore/acx.c
1776
ret = wl1271_cmd_configure(wl, ACX_ENABLE_RX_DATA_FILTER, acx,
drivers/net/wireless/ti/wlcore/acx.c
1789
int wl1271_acx_set_rx_filter(struct wl1271 *wl, u8 index, bool enable,
drivers/net/wireless/ti/wlcore/acx.c
1828
ret = wl1271_cmd_configure(wl, ACX_SET_RX_DATA_FILTER, acx, acx_size);
drivers/net/wireless/ti/wlcore/acx.c
184
int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
202
ret = wl1271_cmd_configure(wl, ACX_SLOT, slot, sizeof(*slot));
drivers/net/wireless/ti/wlcore/acx.c
213
int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
22
int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
233
ret = wl1271_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL,
drivers/net/wireless/ti/wlcore/acx.c
245
int wl1271_acx_service_period_timeout(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.c
260
rx_timeout->ps_poll_timeout = cpu_to_le16(wl->conf.rx.ps_poll_timeout);
drivers/net/wireless/ti/wlcore/acx.c
261
rx_timeout->upsd_timeout = cpu_to_le16(wl->conf.rx.upsd_timeout);
drivers/net/wireless/ti/wlcore/acx.c
263
ret = wl1271_cmd_configure(wl, ACX_SERVICE_PERIOD_TIMEOUT,
drivers/net/wireless/ti/wlcore/acx.c
276
int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
287
rts_threshold = wl->conf.rx.rts_threshold;
drivers/net/wireless/ti/wlcore/acx.c
300
ret = wl1271_cmd_configure(wl, DOT11_RTS_THRESHOLD, rts, sizeof(*rts));
drivers/net/wireless/ti/wlcore/acx.c
311
int wl1271_acx_dco_itrim_params(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
314
struct conf_itrim_settings *c = &wl->conf.itrim;
drivers/net/wireless/ti/wlcore/acx.c
328
ret = wl1271_cmd_configure(wl, ACX_SET_DCO_ITRIM_PARAMS,
drivers/net/wireless/ti/wlcore/acx.c
340
int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
350
wl->conf.conn.bcn_filt_mode == CONF_BCN_FILT_MODE_DISABLED)
drivers/net/wireless/ti/wlcore/acx.c
368
ret = wl1271_cmd_configure(wl, ACX_BEACON_FILTER_OPT,
drivers/net/wireless/ti/wlcore/acx.c
380
int wl1271_acx_beacon_filter_table(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.c
399
for (i = 0; i < wl->conf.conn.bcn_filt_ie_count; i++) {
drivers/net/wireless/ti/wlcore/acx.c
400
struct conf_bcn_filt_rule *r = &(wl->conf.conn.bcn_filt_ie[i]);
drivers/net/wireless/ti/wlcore/acx.c
41
ret = wl1271_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS,
drivers/net/wireless/ti/wlcore/acx.c
424
ret = wl1271_cmd_configure(wl, ACX_BEACON_FILTER_TABLE,
drivers/net/wireless/ti/wlcore/acx.c
438
int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
456
threshold = wl->conf.conn.synch_fail_thold;
drivers/net/wireless/ti/wlcore/acx.c
457
timeout = wl->conf.conn.bss_lose_timeout;
drivers/net/wireless/ti/wlcore/acx.c
464
ret = wl1271_cmd_configure(wl, ACX_CONN_MONIT_PARAMS,
drivers/net/wireless/ti/wlcore/acx.c
478
int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable)
drivers/net/wireless/ti/wlcore/acx.c
492
pta->enable = wl->conf.sg.state;
drivers/net/wireless/ti/wlcore/acx.c
496
ret = wl1271_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta));
drivers/net/wireless/ti/wlcore/acx.c
507
int wl12xx_acx_sg_cfg(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
510
struct conf_sg_settings *c = &wl->conf.sg;
drivers/net/wireless/ti/wlcore/acx.c
526
ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param));
drivers/net/wireless/ti/wlcore/acx.c
53
int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth)
drivers/net/wireless/ti/wlcore/acx.c
537
int wl1271_acx_cca_threshold(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
550
detection->rx_cca_threshold = cpu_to_le16(wl->conf.rx.rx_cca_threshold);
drivers/net/wireless/ti/wlcore/acx.c
551
detection->tx_energy_detection = wl->conf.tx.tx_energy_detection;
drivers/net/wireless/ti/wlcore/acx.c
553
ret = wl1271_cmd_configure(wl, ACX_CCA_THRESHOLD,
drivers/net/wireless/ti/wlcore/acx.c
563
int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/acx.c
577
bb->beacon_rx_timeout = cpu_to_le16(wl->conf.conn.beacon_rx_timeout);
drivers/net/wireless/ti/wlcore/acx.c
578
bb->broadcast_timeout = cpu_to_le16(wl->conf.conn.broadcast_timeout);
drivers/net/wireless/ti/wlcore/acx.c
579
bb->rx_broadcast_in_ps = wl->conf.conn.rx_broadcast_in_ps;
drivers/net/wireless/ti/wlcore/acx.c
580
bb->ps_poll_threshold = wl->conf.conn.ps_poll_threshold;
drivers/net/wireless/ti/wlcore/acx.c
582
ret = wl1271_cmd_configure(wl, ACX_BCN_DTIM_OPTIONS, bb, sizeof(*bb));
drivers/net/wireless/ti/wlcore/acx.c
593
int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid)
drivers/net/wireless/ti/wlcore/acx.c
609
ret = wl1271_cmd_configure(wl, ACX_AID, acx_aid, sizeof(*acx_aid));
drivers/net/wireless/ti/wlcore/acx.c
620
int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask)
drivers/net/wireless/ti/wlcore/acx.c
637
ret = wl1271_cmd_configure(wl, ACX_EVENT_MBOX_MASK,
drivers/net/wireless/ti/wlcore/acx.c
649
int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
666
ret = wl1271_cmd_configure(wl, ACX_PREAMBLE_TYPE, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
677
int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
68
ret = wl1271_cmd_configure(wl, ACX_SLEEP_AUTH, auth, sizeof(*auth));
drivers/net/wireless/ti/wlcore/acx.c
694
ret = wl1271_cmd_configure(wl, ACX_CTS_PROTECTION, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
705
int wl1271_acx_statistics(struct wl1271 *wl, void *stats)
drivers/net/wireless/ti/wlcore/acx.c
711
ret = wl1271_cmd_interrogate(wl, ACX_STATISTICS, stats,
drivers/net/wireless/ti/wlcore/acx.c
713
wl->stats.fw_stats_len);
drivers/net/wireless/ti/wlcore/acx.c
722
int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/acx.c
725
struct conf_tx_rate_class *c = &wl->conf.tx.sta_rc_conf;
drivers/net/wireless/ti/wlcore/acx.c
747
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
75
wl->sleep_auth = sleep_auth;
drivers/net/wireless/ti/wlcore/acx.c
758
cpu_to_le32(wlcore_hw_sta_get_ap_rate_mask(wl, wlvif));
drivers/net/wireless/ti/wlcore/acx.c
763
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
781
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
792
int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c,
drivers/net/wireless/ti/wlcore/acx.c
814
ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
82
int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
825
int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
848
ret = wl1271_cmd_configure(wl, ACX_AC_CFG, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
859
int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.c
885
ret = wl1271_cmd_configure(wl, ACX_TID_CFG, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
896
int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold)
drivers/net/wireless/ti/wlcore/acx.c
906
frag_threshold = wl->conf.tx.frag_threshold;
drivers/net/wireless/ti/wlcore/acx.c
918
ret = wl1271_cmd_configure(wl, ACX_FRAG_CFG, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
929
int wl1271_acx_tx_config_options(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
943
acx->tx_compl_timeout = cpu_to_le16(wl->conf.tx.tx_compl_timeout);
drivers/net/wireless/ti/wlcore/acx.c
944
acx->tx_compl_threshold = cpu_to_le16(wl->conf.tx.tx_compl_threshold);
drivers/net/wireless/ti/wlcore/acx.c
945
ret = wl1271_cmd_configure(wl, ACX_TX_CONFIG_OPT, acx, sizeof(*acx));
drivers/net/wireless/ti/wlcore/acx.c
956
int wl12xx_acx_mem_cfg(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.c
970
mem = &wl->conf.mem;
drivers/net/wireless/ti/wlcore/acx.c
977
mem_conf->total_tx_descriptors = cpu_to_le32(wl->num_tx_desc);
drivers/net/wireless/ti/wlcore/acx.c
982
mem_conf->fwlog_blocks = wl->conf.fwlog.mem_blocks;
drivers/net/wireless/ti/wlcore/acx.c
984
ret = wl1271_cmd_configure(wl, ACX_MEM_CFG, mem_conf,
drivers/net/wireless/ti/wlcore/acx.c
997
int wl1271_acx_init_mem_config(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/acx.h
1029
int wl1271_acx_wake_up_conditions(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1032
int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth);
drivers/net/wireless/ti/wlcore/acx.h
1033
int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1035
int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/acx.h
1036
int wl1271_acx_mem_map(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1038
int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1039
int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1041
int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1043
int wl1271_acx_service_period_timeout(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1045
int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1047
int wl1271_acx_dco_itrim_params(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1048
int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1050
int wl1271_acx_beacon_filter_table(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1052
int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1054
int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable);
drivers/net/wireless/ti/wlcore/acx.h
1055
int wl12xx_acx_sg_cfg(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1056
int wl1271_acx_cca_threshold(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1057
int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/acx.h
1058
int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid);
drivers/net/wireless/ti/wlcore/acx.h
1059
int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask);
drivers/net/wireless/ti/wlcore/acx.h
1060
int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1062
int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1064
int wl1271_acx_statistics(struct wl1271 *wl, void *stats);
drivers/net/wireless/ti/wlcore/acx.h
1065
int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/acx.h
1066
int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c,
drivers/net/wireless/ti/wlcore/acx.h
1068
int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1070
int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1074
int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold);
drivers/net/wireless/ti/wlcore/acx.h
1075
int wl1271_acx_tx_config_options(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1076
int wl12xx_acx_mem_cfg(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1077
int wl1271_acx_init_mem_config(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1078
int wl1271_acx_init_rx_interrupt(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1079
int wl1271_acx_smart_reflex(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1080
int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1082
int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1084
int wl1271_acx_pm_config(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1085
int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *vif,
drivers/net/wireless/ti/wlcore/acx.h
1087
int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1089
int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1091
int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1093
int wl1271_acx_set_ht_capabilities(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1096
int wl1271_acx_set_ht_information(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1099
int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1101
int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index,
drivers/net/wireless/ti/wlcore/acx.h
1104
int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1106
int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1108
int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/acx.h
1109
int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/acx.h
1110
int wl1271_acx_set_inconnection_sta(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/acx.h
1112
int wl1271_acx_fm_coex(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1113
int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1114
int wl12xx_acx_config_hangover(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/acx.h
1115
int wlcore_acx_average_rssi(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/acx.h
1118
int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable,
drivers/net/wireless/ti/wlcore/acx.h
1120
int wl1271_acx_set_rx_filter(struct wl1271 *wl, u8 index, bool enable,
drivers/net/wireless/ti/wlcore/boot.c
126
static int wlcore_boot_static_data(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/boot.c
129
size_t len = sizeof(*static_data) + wl->static_data_priv_len;
drivers/net/wireless/ti/wlcore/boot.c
138
ret = wlcore_read(wl, wl->cmd_box_addr, static_data, len, false);
drivers/net/wireless/ti/wlcore/boot.c
142
ret = wlcore_boot_parse_fw_ver(wl, static_data);
drivers/net/wireless/ti/wlcore/boot.c
146
ret = wlcore_validate_fw_ver(wl);
drivers/net/wireless/ti/wlcore/boot.c
150
ret = wlcore_handle_static_data(wl, static_data);
drivers/net/wireless/ti/wlcore/boot.c
160
static int wl1271_boot_upload_firmware_chunk(struct wl1271 *wl, void *buf,
drivers/net/wireless/ti/wlcore/boot.c
186
memcpy(&partition, &wl->ptable[PART_DOWN], sizeof(partition));
drivers/net/wireless/ti/wlcore/boot.c
188
ret = wlcore_set_partition(wl, &partition);
drivers/net/wireless/ti/wlcore/boot.c
194
partition_limit = wl->ptable[PART_DOWN].mem.size;
drivers/net/wireless/ti/wlcore/boot.c
202
wl->ptable[PART_DOWN].mem.size;
drivers/net/wireless/ti/wlcore/boot.c
204
ret = wlcore_set_partition(wl, &partition);
drivers/net/wireless/ti/wlcore/boot.c
21
static int wl1271_boot_set_ecpu_ctrl(struct wl1271 *wl, u32 flag)
drivers/net/wireless/ti/wlcore/boot.c
215
ret = wlcore_write(wl, addr, chunk, CHUNK_SIZE, false);
drivers/net/wireless/ti/wlcore/boot.c
228
ret = wlcore_write(wl, addr, chunk, fw_data_len % CHUNK_SIZE, false);
drivers/net/wireless/ti/wlcore/boot.c
235
int wlcore_boot_upload_firmware(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/boot.c
241
fw = wl->fw;
drivers/net/wireless/ti/wlcore/boot.c
259
ret = wl1271_boot_upload_firmware_chunk(wl, fw, len, addr);
drivers/net/wireless/ti/wlcore/boot.c
269
int wlcore_boot_upload_nvs(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/boot.c
27
ret = wlcore_read_reg(wl, REG_ECPU_CONTROL, &cpu_ctrl);
drivers/net/wireless/ti/wlcore/boot.c
271
struct platform_device *pdev = wl->pdev;
drivers/net/wireless/ti/wlcore/boot.c
280
if (wl->nvs == NULL) {
drivers/net/wireless/ti/wlcore/boot.c
288
if (wl->quirks & WLCORE_QUIRK_LEGACY_NVS) {
drivers/net/wireless/ti/wlcore/boot.c
290
(struct wl1271_nvs_file *)wl->nvs;
drivers/net/wireless/ti/wlcore/boot.c
296
if (wl->nvs_len == sizeof(struct wl1271_nvs_file) ||
drivers/net/wireless/ti/wlcore/boot.c
297
wl->nvs_len == WL1271_INI_LEGACY_NVS_FILE_SIZE) {
drivers/net/wireless/ti/wlcore/boot.c
299
wl->enable_11a = true;
drivers/net/wireless/ti/wlcore/boot.c
302
if (wl->nvs_len != sizeof(struct wl1271_nvs_file) &&
drivers/net/wireless/ti/wlcore/boot.c
303
(wl->nvs_len != WL1271_INI_LEGACY_NVS_FILE_SIZE ||
drivers/net/wireless/ti/wlcore/boot.c
304
wl->enable_11a)) {
drivers/net/wireless/ti/wlcore/boot.c
306
nvs_name, wl->nvs_len,
drivers/net/wireless/ti/wlcore/boot.c
308
kfree(wl->nvs);
drivers/net/wireless/ti/wlcore/boot.c
309
wl->nvs = NULL;
drivers/net/wireless/ti/wlcore/boot.c
310
wl->nvs_len = 0;
drivers/net/wireless/ti/wlcore/boot.c
318
struct wl128x_nvs_file *nvs = (struct wl128x_nvs_file *)wl->nvs;
drivers/net/wireless/ti/wlcore/boot.c
320
if (wl->nvs_len == sizeof(struct wl128x_nvs_file)) {
drivers/net/wireless/ti/wlcore/boot.c
322
wl->enable_11a = true;
drivers/net/wireless/ti/wlcore/boot.c
325
nvs_name, wl->nvs_len,
drivers/net/wireless/ti/wlcore/boot.c
327
kfree(wl->nvs);
drivers/net/wireless/ti/wlcore/boot.c
328
wl->nvs = NULL;
drivers/net/wireless/ti/wlcore/boot.c
329
wl->nvs_len = 0;
drivers/net/wireless/ti/wlcore/boot.c
33
ret = wlcore_write_reg(wl, REG_ECPU_CONTROL, cpu_ctrl);
drivers/net/wireless/ti/wlcore/boot.c
339
nvs_ptr[11] = wl->addresses[0].addr[0];
drivers/net/wireless/ti/wlcore/boot.c
340
nvs_ptr[10] = wl->addresses[0].addr[1];
drivers/net/wireless/ti/wlcore/boot.c
341
nvs_ptr[6] = wl->addresses[0].addr[2];
drivers/net/wireless/ti/wlcore/boot.c
342
nvs_ptr[5] = wl->addresses[0].addr[3];
drivers/net/wireless/ti/wlcore/boot.c
343
nvs_ptr[4] = wl->addresses[0].addr[4];
drivers/net/wireless/ti/wlcore/boot.c
344
nvs_ptr[3] = wl->addresses[0].addr[5];
drivers/net/wireless/ti/wlcore/boot.c
365
dest_addr += wl->curr_part.reg.start;
drivers/net/wireless/ti/wlcore/boot.c
371
if (nvs_ptr + 3 >= (u8 *) wl->nvs + nvs_len)
drivers/net/wireless/ti/wlcore/boot.c
380
ret = wlcore_write32(wl, dest_addr, val);
drivers/net/wireless/ti/wlcore/boot.c
388
if (nvs_ptr >= (u8 *) wl->nvs + nvs_len)
drivers/net/wireless/ti/wlcore/boot.c
39
static int wlcore_boot_parse_fw_ver(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/boot.c
399
nvs_ptr = (u8 *)wl->nvs +
drivers/net/wireless/ti/wlcore/boot.c
400
ALIGN(nvs_ptr - (u8 *)wl->nvs + 7, 4);
drivers/net/wireless/ti/wlcore/boot.c
402
if (nvs_ptr >= (u8 *) wl->nvs + nvs_len)
drivers/net/wireless/ti/wlcore/boot.c
405
nvs_len -= nvs_ptr - (u8 *)wl->nvs;
drivers/net/wireless/ti/wlcore/boot.c
408
ret = wlcore_set_partition(wl, &wl->ptable[PART_WORK]);
drivers/net/wireless/ti/wlcore/boot.c
418
ret = wlcore_write_data(wl, REG_CMD_MBOX_ADDRESS, nvs_aligned, nvs_len,
drivers/net/wireless/ti/wlcore/boot.c
430
int wlcore_boot_run_firmware(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/boot.c
436
ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]);
drivers/net/wireless/ti/wlcore/boot.c
44
strscpy(wl->chip.fw_ver_str, static_data->fw_version,
drivers/net/wireless/ti/wlcore/boot.c
440
ret = wl1271_boot_set_ecpu_ctrl(wl, ECPU_CONTROL_HALT);
drivers/net/wireless/ti/wlcore/boot.c
444
ret = wlcore_read_reg(wl, REG_CHIP_ID_B, &chip_id);
drivers/net/wireless/ti/wlcore/boot.c
45
sizeof(wl->chip.fw_ver_str));
drivers/net/wireless/ti/wlcore/boot.c
450
if (chip_id != wl->chip.id) {
drivers/net/wireless/ti/wlcore/boot.c
459
ret = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR, &intr);
drivers/net/wireless/ti/wlcore/boot.c
47
ret = sscanf(wl->chip.fw_ver_str + 4, "%u.%u.%u.%u.%u",
drivers/net/wireless/ti/wlcore/boot.c
470
ret = wlcore_write_reg(wl, REG_INTERRUPT_ACK,
drivers/net/wireless/ti/wlcore/boot.c
48
&wl->chip.fw_ver[0], &wl->chip.fw_ver[1],
drivers/net/wireless/ti/wlcore/boot.c
485
ret = wlcore_read_reg(wl, REG_COMMAND_MAILBOX_PTR, &wl->cmd_box_addr);
drivers/net/wireless/ti/wlcore/boot.c
489
wl1271_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x", wl->cmd_box_addr);
drivers/net/wireless/ti/wlcore/boot.c
49
&wl->chip.fw_ver[2], &wl->chip.fw_ver[3],
drivers/net/wireless/ti/wlcore/boot.c
492
ret = wlcore_read_reg(wl, REG_EVENT_MAILBOX_PTR, &wl->mbox_ptr[0]);
drivers/net/wireless/ti/wlcore/boot.c
496
wl->mbox_ptr[1] = wl->mbox_ptr[0] + wl->mbox_size;
drivers/net/wireless/ti/wlcore/boot.c
499
wl->mbox_ptr[0], wl->mbox_ptr[1]);
drivers/net/wireless/ti/wlcore/boot.c
50
&wl->chip.fw_ver[4]);
drivers/net/wireless/ti/wlcore/boot.c
501
ret = wlcore_boot_static_data(wl);
drivers/net/wireless/ti/wlcore/boot.c
513
ret = wl1271_event_unmask(wl);
drivers/net/wireless/ti/wlcore/boot.c
520
ret = wlcore_set_partition(wl, &wl->ptable[PART_WORK]);
drivers/net/wireless/ti/wlcore/boot.c
54
memset(wl->chip.fw_ver, 0, sizeof(wl->chip.fw_ver));
drivers/net/wireless/ti/wlcore/boot.c
59
ret = wlcore_identify_fw(wl);
drivers/net/wireless/ti/wlcore/boot.c
66
static int wlcore_validate_fw_ver(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/boot.c
68
unsigned int *fw_ver = wl->chip.fw_ver;
drivers/net/wireless/ti/wlcore/boot.c
69
unsigned int *min_ver = (wl->fw_type == WL12XX_FW_TYPE_MULTI) ?
drivers/net/wireless/ti/wlcore/boot.c
70
wl->min_mr_fw_ver : wl->min_sr_fw_ver;
drivers/net/wireless/ti/wlcore/boot.h
15
int wlcore_boot_upload_firmware(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/boot.h
16
int wlcore_boot_upload_nvs(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/boot.h
17
int wlcore_boot_run_firmware(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/cmd.c
1006
ret = wl1271_cmd_send(wl, CMD_SET_PS_MODE, ps_params,
drivers/net/wireless/ti/wlcore/cmd.c
1018
int wl1271_cmd_template_set(struct wl1271 *wl, u8 role_id,
drivers/net/wireless/ti/wlcore/cmd.c
103
ret = wlcore_read(wl, wl->cmd_box_addr, cmd, res_len, false);
drivers/net/wireless/ti/wlcore/cmd.c
1042
cmd->short_retry_limit = wl->conf.tx.tmpl_short_retry_limit;
drivers/net/wireless/ti/wlcore/cmd.c
1043
cmd->long_retry_limit = wl->conf.tx.tmpl_long_retry_limit;
drivers/net/wireless/ti/wlcore/cmd.c
1049
ret = wl1271_cmd_send(wl, CMD_SET_TEMPLATE, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1062
int wl12xx_cmd_build_null_data(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
1074
skb = ieee80211_nullfunc_get(wl->hw,
drivers/net/wireless/ti/wlcore/cmd.c
1083
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/cmd.c
109
ret = wlcore_write_reg(wl, REG_INTERRUPT_ACK,
drivers/net/wireless/ti/wlcore/cmd.c
1096
int wl12xx_cmd_build_klv_null_data(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.c
1103
skb = ieee80211_nullfunc_get(wl->hw, vif,-1, false);
drivers/net/wireless/ti/wlcore/cmd.c
1107
ret = wl1271_cmd_template_set(wl, wlvif->role_id, CMD_TEMPL_KLV,
drivers/net/wireless/ti/wlcore/cmd.c
1121
int wl1271_cmd_build_ps_poll(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
1128
skb = ieee80211_pspoll_get(wl->hw, vif);
drivers/net/wireless/ti/wlcore/cmd.c
1132
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/cmd.c
1141
int wl12xx_cmd_build_probe_req(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
1151
u16 template_id_2_4 = wl->scan_templ_id_2_4;
drivers/net/wireless/ti/wlcore/cmd.c
1152
u16 template_id_5 = wl->scan_templ_id_5;
drivers/net/wireless/ti/wlcore/cmd.c
1156
skb = ieee80211_probereq_get(wl->hw, vif->addr, ssid, ssid_len,
drivers/net/wireless/ti/wlcore/cmd.c
1168
(wl->quirks & WLCORE_QUIRK_DUAL_PROBE_TMPL)) {
drivers/net/wireless/ti/wlcore/cmd.c
1169
template_id_2_4 = wl->sched_scan_templ_id_2_4;
drivers/net/wireless/ti/wlcore/cmd.c
1170
template_id_5 = wl->sched_scan_templ_id_5;
drivers/net/wireless/ti/wlcore/cmd.c
1173
rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]);
drivers/net/wireless/ti/wlcore/cmd.c
1175
ret = wl1271_cmd_template_set(wl, role_id,
drivers/net/wireless/ti/wlcore/cmd.c
1179
ret = wl1271_cmd_template_set(wl, role_id,
drivers/net/wireless/ti/wlcore/cmd.c
1189
struct sk_buff *wl1271_cmd_build_ap_probe_req(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.c
1198
skb = ieee80211_ap_probereq_get(wl->hw, vif);
drivers/net/wireless/ti/wlcore/cmd.c
1204
rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[wlvif->band]);
drivers/net/wireless/ti/wlcore/cmd.c
1206
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/cmd.c
121
static int wlcore_cmd_send_failsafe(struct wl1271 *wl, u16 id, void *buf,
drivers/net/wireless/ti/wlcore/cmd.c
1210
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/cmd.c
1221
int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
125
int ret = __wlcore_cmd_send(wl, id, buf, len, res_len);
drivers/net/wireless/ti/wlcore/cmd.c
1261
if (wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE)
drivers/net/wireless/ti/wlcore/cmd.c
1304
ret = wl1271_cmd_template_set(wl, wlvif->role_id, CMD_TEMPL_ARP_RSP,
drivers/net/wireless/ti/wlcore/cmd.c
1312
int wl1271_build_qos_null_data(struct wl1271 *wl, struct ieee80211_vif *vif)
drivers/net/wireless/ti/wlcore/cmd.c
1330
return wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/cmd.c
1336
int wl12xx_cmd_set_default_wep_key(struct wl1271 *wl, u8 id, u8 hlid)
drivers/net/wireless/ti/wlcore/cmd.c
1355
ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1367
int wl1271_cmd_set_sta_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
141
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/cmd.c
1420
ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1436
int wl1271_cmd_set_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
1489
ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
149
int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len,
drivers/net/wireless/ti/wlcore/cmd.c
1500
int wl12xx_cmd_set_peer_state(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
152
int ret = wlcore_cmd_send_failsafe(wl, id, buf, len, res_len, 0);
drivers/net/wireless/ti/wlcore/cmd.c
1521
ret = wl1271_cmd_send(wl, CMD_SET_PEER_STATE, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1534
int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
1555
cmd->session_id = wl->session_ids[hlid];
drivers/net/wireless/ti/wlcore/cmd.c
1574
cpu_to_le32(wl1271_tx_enabled_rates_get(wl, sta_rates,
drivers/net/wireless/ti/wlcore/cmd.c
1580
ret = wl1271_cmd_send(wl, CMD_ADD_PEER, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1593
int wl12xx_cmd_remove_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
1614
ret = wl1271_cmd_send(wl, CMD_REMOVE_PEER, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1620
ret = wl->ops->wait_for_event(wl,
drivers/net/wireless/ti/wlcore/cmd.c
1630
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/cmd.c
164
int wlcore_cmd_wait_for_event_or_timeout(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.c
1680
void wlcore_set_pending_regdomain_ch(struct wl1271 *wl, u16 channel,
drivers/net/wireless/ti/wlcore/cmd.c
1685
if (!(wl->quirks & WLCORE_QUIRK_REGDOMAIN_CONF))
drivers/net/wireless/ti/wlcore/cmd.c
1691
__set_bit_le(ch_bit_idx, (long *)wl->reg_ch_conf_pending);
drivers/net/wireless/ti/wlcore/cmd.c
1694
int wlcore_cmd_regdomain_config_locked(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/cmd.c
1699
struct wiphy *wiphy = wl->hw->wiphy;
drivers/net/wireless/ti/wlcore/cmd.c
1703
if (!(wl->quirks & WLCORE_QUIRK_REGDOMAIN_CONF))
drivers/net/wireless/ti/wlcore/cmd.c
1708
memcpy(tmp_ch_bitmap, wl->reg_ch_conf_pending, sizeof(tmp_ch_bitmap));
drivers/net/wireless/ti/wlcore/cmd.c
1733
if (!memcmp(tmp_ch_bitmap, wl->reg_ch_conf_last, sizeof(tmp_ch_bitmap)))
drivers/net/wireless/ti/wlcore/cmd.c
1744
cmd->dfs_region = wl->dfs_region;
drivers/net/wireless/ti/wlcore/cmd.c
1750
ret = wl1271_cmd_send(wl, CMD_DFS_CHANNEL_CONFIG, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1756
ret = wl->ops->wait_for_event(wl,
drivers/net/wireless/ti/wlcore/cmd.c
1766
memcpy(wl->reg_ch_conf_last, tmp_ch_bitmap, sizeof(tmp_ch_bitmap));
drivers/net/wireless/ti/wlcore/cmd.c
1767
memset(wl->reg_ch_conf_pending, 0, sizeof(wl->reg_ch_conf_pending));
drivers/net/wireless/ti/wlcore/cmd.c
1774
int wl12xx_cmd_config_fwlog(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/cmd.c
1787
cmd->logger_mode = wl->conf.fwlog.mode;
drivers/net/wireless/ti/wlcore/cmd.c
1788
cmd->log_severity = wl->conf.fwlog.severity;
drivers/net/wireless/ti/wlcore/cmd.c
1789
cmd->timestamp = wl->conf.fwlog.timestamp;
drivers/net/wireless/ti/wlcore/cmd.c
1790
cmd->output = wl->conf.fwlog.output;
drivers/net/wireless/ti/wlcore/cmd.c
1791
cmd->threshold = wl->conf.fwlog.threshold;
drivers/net/wireless/ti/wlcore/cmd.c
1793
ret = wl1271_cmd_send(wl, CMD_CONFIG_FWLOGGER, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1806
int wl12xx_cmd_stop_fwlog(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/cmd.c
181
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/cmd.c
1819
ret = wl1271_cmd_send(wl, CMD_STOP_FWLOGGER, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1832
static int wl12xx_cmd_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
1865
ret = wl1271_cmd_send(wl, CMD_REMAIN_ON_CHANNEL, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1878
static int wl12xx_cmd_croc(struct wl1271 *wl, u8 role_id)
drivers/net/wireless/ti/wlcore/cmd.c
1892
ret = wl1271_cmd_send(wl, CMD_CANCEL_REMAIN_ON_CHANNEL, cmd,
drivers/net/wireless/ti/wlcore/cmd.c
1906
int wl12xx_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 role_id,
drivers/net/wireless/ti/wlcore/cmd.c
1911
if (WARN_ON(test_bit(role_id, wl->roc_map)))
drivers/net/wireless/ti/wlcore/cmd.c
1914
ret = wl12xx_cmd_roc(wl, wlvif, role_id, band, channel);
drivers/net/wireless/ti/wlcore/cmd.c
1918
__set_bit(role_id, wl->roc_map);
drivers/net/wireless/ti/wlcore/cmd.c
1923
int wl12xx_croc(struct wl1271 *wl, u8 role_id)
drivers/net/wireless/ti/wlcore/cmd.c
1927
if (WARN_ON(!test_bit(role_id, wl->roc_map)))
drivers/net/wireless/ti/wlcore/cmd.c
1930
ret = wl12xx_cmd_croc(wl, role_id);
drivers/net/wireless/ti/wlcore/cmd.c
1934
__clear_bit(role_id, wl->roc_map);
drivers/net/wireless/ti/wlcore/cmd.c
1941
if (find_first_bit(wl->roc_map, WL12XX_MAX_ROLES) >= WL12XX_MAX_ROLES)
drivers/net/wireless/ti/wlcore/cmd.c
1942
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/cmd.c
1947
int wl12xx_cmd_stop_channel_switch(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
1962
ret = wl1271_cmd_send(wl, CMD_STOP_CHANNEL_SWICTH, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
1976
int wl12xx_start_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
1987
ret = wl12xx_cmd_role_enable(wl,
drivers/net/wireless/ti/wlcore/cmd.c
1995
ret = wl12xx_cmd_role_start_dev(wl, wlvif, band, channel);
drivers/net/wireless/ti/wlcore/cmd.c
1999
ret = wl12xx_roc(wl, wlvif, wlvif->dev_role_id, band, channel);
drivers/net/wireless/ti/wlcore/cmd.c
200
ret = wlcore_read(wl, wl->mbox_ptr[0], events_vector,
drivers/net/wireless/ti/wlcore/cmd.c
2006
wl12xx_cmd_role_stop_dev(wl, wlvif);
drivers/net/wireless/ti/wlcore/cmd.c
2009
wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id);
drivers/net/wireless/ti/wlcore/cmd.c
2015
int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
2024
ret = wlcore_tx_work_locked(wl);
drivers/net/wireless/ti/wlcore/cmd.c
2028
if (test_bit(wlvif->dev_role_id, wl->roc_map)) {
drivers/net/wireless/ti/wlcore/cmd.c
2029
ret = wl12xx_croc(wl, wlvif->dev_role_id);
drivers/net/wireless/ti/wlcore/cmd.c
2034
ret = wl12xx_cmd_role_stop_dev(wl, wlvif);
drivers/net/wireless/ti/wlcore/cmd.c
2039
ret = wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id);
drivers/net/wireless/ti/wlcore/cmd.c
2048
int wlcore_cmd_generic_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.c
2067
ret = wl1271_cmd_send(wl, CMD_GENERIC_CFG, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
207
ret = wlcore_read(wl, wl->mbox_ptr[1], events_vector,
drivers/net/wireless/ti/wlcore/cmd.c
216
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/cmd.c
223
int wl12xx_cmd_role_enable(struct wl1271 *wl, u8 *addr, u8 role_type,
drivers/net/wireless/ti/wlcore/cmd.c
241
cmd->role_id = find_first_zero_bit(wl->roles_map, WL12XX_MAX_ROLES);
drivers/net/wireless/ti/wlcore/cmd.c
250
ret = wl1271_cmd_send(wl, CMD_ROLE_ENABLE, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
256
__set_bit(cmd->role_id, wl->roles_map);
drivers/net/wireless/ti/wlcore/cmd.c
266
int wl12xx_cmd_role_disable(struct wl1271 *wl, u8 *role_id)
drivers/net/wireless/ti/wlcore/cmd.c
283
ret = wl1271_cmd_send(wl, CMD_ROLE_DISABLE, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
289
__clear_bit(*role_id, wl->roles_map);
drivers/net/wireless/ti/wlcore/cmd.c
299
static int wlcore_get_new_session_id(struct wl1271 *wl, u8 hlid)
drivers/net/wireless/ti/wlcore/cmd.c
301
if (wl->session_ids[hlid] >= SESSION_COUNTER_MAX)
drivers/net/wireless/ti/wlcore/cmd.c
302
wl->session_ids[hlid] = 0;
drivers/net/wireless/ti/wlcore/cmd.c
304
wl->session_ids[hlid]++;
drivers/net/wireless/ti/wlcore/cmd.c
306
return wl->session_ids[hlid];
drivers/net/wireless/ti/wlcore/cmd.c
309
int wl12xx_allocate_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid)
drivers/net/wireless/ti/wlcore/cmd.c
312
u8 link = find_first_zero_bit(wl->links_map, wl->num_links);
drivers/net/wireless/ti/wlcore/cmd.c
313
if (link >= wl->num_links)
drivers/net/wireless/ti/wlcore/cmd.c
316
wl->session_ids[link] = wlcore_get_new_session_id(wl, link);
drivers/net/wireless/ti/wlcore/cmd.c
319
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/cmd.c
320
__set_bit(link, wl->links_map);
drivers/net/wireless/ti/wlcore/cmd.c
322
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/cmd.c
329
if (wl->fw_status->counters.tx_lnk_free_pkts)
drivers/net/wireless/ti/wlcore/cmd.c
330
wl->links[link].prev_freed_pkts =
drivers/net/wireless/ti/wlcore/cmd.c
331
wl->fw_status->counters.tx_lnk_free_pkts[link];
drivers/net/wireless/ti/wlcore/cmd.c
332
wl->links[link].wlvif = wlvif;
drivers/net/wireless/ti/wlcore/cmd.c
338
if (wl->fw_status->counters.tx_lnk_sec_pn16)
drivers/net/wireless/ti/wlcore/cmd.c
339
wl->links[link].prev_sec_pn16 =
drivers/net/wireless/ti/wlcore/cmd.c
340
le16_to_cpu(wl->fw_status->counters.tx_lnk_sec_pn16[link]);
drivers/net/wireless/ti/wlcore/cmd.c
347
wl->links[link].total_freed_pkts = wlvif->total_freed_pkts;
drivers/net/wireless/ti/wlcore/cmd.c
351
wl->active_link_count++;
drivers/net/wireless/ti/wlcore/cmd.c
355
void wl12xx_free_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid)
drivers/net/wireless/ti/wlcore/cmd.c
363
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/cmd.c
364
__clear_bit(*hlid, wl->links_map);
drivers/net/wireless/ti/wlcore/cmd.c
366
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/cmd.c
368
wl->links[*hlid].allocated_pkts = 0;
drivers/net/wireless/ti/wlcore/cmd.c
369
wl->links[*hlid].prev_freed_pkts = 0;
drivers/net/wireless/ti/wlcore/cmd.c
370
wl->links[*hlid].prev_sec_pn16 = 0;
drivers/net/wireless/ti/wlcore/cmd.c
371
wl->links[*hlid].ba_bitmap = 0;
drivers/net/wireless/ti/wlcore/cmd.c
372
eth_zero_addr(wl->links[*hlid].addr);
drivers/net/wireless/ti/wlcore/cmd.c
378
wl1271_tx_reset_link_queues(wl, *hlid);
drivers/net/wireless/ti/wlcore/cmd.c
379
wl->links[*hlid].wlvif = NULL;
drivers/net/wireless/ti/wlcore/cmd.c
388
wlvif->total_freed_pkts = wl->links[*hlid].total_freed_pkts;
drivers/net/wireless/ti/wlcore/cmd.c
397
if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags))
drivers/net/wireless/ti/wlcore/cmd.c
40
static int __wlcore_cmd_send(struct wl1271 *wl, u16 id, void *buf,
drivers/net/wireless/ti/wlcore/cmd.c
401
wl->links[*hlid].total_freed_pkts = 0;
drivers/net/wireless/ti/wlcore/cmd.c
404
wl->active_link_count--;
drivers/net/wireless/ti/wlcore/cmd.c
405
WARN_ON_ONCE(wl->active_link_count < 0);
drivers/net/wireless/ti/wlcore/cmd.c
426
static int wl12xx_cmd_role_start_dev(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.c
448
ret = wl12xx_allocate_link(wl, wlvif, &wlvif->dev_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
453
cmd->device.session = wl->session_ids[wlvif->dev_hlid];
drivers/net/wireless/ti/wlcore/cmd.c
458
ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
468
wl12xx_free_link(wl, wlvif, &wlvif->dev_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
477
static int wl12xx_cmd_role_stop_dev(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.c
498
ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
50
if (unlikely(wl->state == WLCORE_STATE_RESTARTING &&
drivers/net/wireless/ti/wlcore/cmd.c
504
wl12xx_free_link(wl, wlvif, &wlvif->dev_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
513
int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
540
wlcore_hw_sta_get_ap_rate_mask(wl, wlvif);
drivers/net/wireless/ti/wlcore/cmd.c
549
ret = wl12xx_allocate_link(wl, wlvif, &wlvif->sta.hlid);
drivers/net/wireless/ti/wlcore/cmd.c
554
cmd->sta.session = wl->session_ids[wlvif->sta.hlid];
drivers/net/wireless/ti/wlcore/cmd.c
568
ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
579
wl12xx_free_link(wl, wlvif, &wlvif->sta.hlid);
drivers/net/wireless/ti/wlcore/cmd.c
589
int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
609
ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
615
wl12xx_free_link(wl, wlvif, &wlvif->sta.hlid);
drivers/net/wireless/ti/wlcore/cmd.c
62
WARN_ON(test_bit(WL1271_FLAG_IN_ELP, &wl->flags));
drivers/net/wireless/ti/wlcore/cmd.c
624
int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
64
ret = wlcore_write(wl, wl->cmd_box_addr, buf, len, false);
drivers/net/wireless/ti/wlcore/cmd.c
650
ret = wl12xx_allocate_link(wl, wlvif, &wlvif->ap.global_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
654
ret = wl12xx_allocate_link(wl, wlvif, &wlvif->ap.bcast_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
659
wl->links[wlvif->ap.bcast_hlid].total_freed_pkts =
drivers/net/wireless/ti/wlcore/cmd.c
663
cmd->ap.aging_period = cpu_to_le16(wl->conf.tx.ap_aging_period);
drivers/net/wireless/ti/wlcore/cmd.c
667
cmd->ap.global_session_id = wl->session_ids[wlvif->ap.global_hlid];
drivers/net/wireless/ti/wlcore/cmd.c
668
cmd->ap.bcast_session_id = wl->session_ids[wlvif->ap.bcast_hlid];
drivers/net/wireless/ti/wlcore/cmd.c
691
wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif);
drivers/net/wireless/ti/wlcore/cmd.c
713
ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
72
ret = wl->ops->trigger_cmd(wl, wl->cmd_box_addr, buf, len);
drivers/net/wireless/ti/wlcore/cmd.c
722
wl12xx_free_link(wl, wlvif, &wlvif->ap.bcast_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
725
wl12xx_free_link(wl, wlvif, &wlvif->ap.global_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
734
int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
749
ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
755
wl12xx_free_link(wl, wlvif, &wlvif->ap.bcast_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
756
wl12xx_free_link(wl, wlvif, &wlvif->ap.global_hlid);
drivers/net/wireless/ti/wlcore/cmd.c
765
int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/cmd.c
78
ret = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR, &intr);
drivers/net/wireless/ti/wlcore/cmd.c
794
ret = wl12xx_allocate_link(wl, wlvif, &wlvif->sta.hlid);
drivers/net/wireless/ti/wlcore/cmd.c
809
ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
819
wl12xx_free_link(wl, wlvif, &wlvif->sta.hlid);
drivers/net/wireless/ti/wlcore/cmd.c
837
int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer)
drivers/net/wireless/ti/wlcore/cmd.c
847
ret = wl1271_cmd_send(wl, CMD_TEST, buf, buf_len, res_len);
drivers/net/wireless/ti/wlcore/cmd.c
867
int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf,
drivers/net/wireless/ti/wlcore/cmd.c
880
ret = wl1271_cmd_send(wl, CMD_INTERROGATE, acx, cmd_len, res_len);
drivers/net/wireless/ti/wlcore/cmd.c
897
int wlcore_cmd_configure_failsafe(struct wl1271 *wl, u16 id, void *buf,
drivers/net/wireless/ti/wlcore/cmd.c
913
ret = wlcore_cmd_send_failsafe(wl, CMD_CONFIGURE, acx, len, 0,
drivers/net/wireless/ti/wlcore/cmd.c
927
int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len)
drivers/net/wireless/ti/wlcore/cmd.c
929
int ret = wlcore_cmd_configure_failsafe(wl, id, buf, len, 0);
drivers/net/wireless/ti/wlcore/cmd.c
937
int wl1271_cmd_data_path(struct wl1271 *wl, bool enable)
drivers/net/wireless/ti/wlcore/cmd.c
94
ret = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR, &intr);
drivers/net/wireless/ti/wlcore/cmd.c
962
ret = wl1271_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
972
ret = wl1271_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd), 0);
drivers/net/wireless/ti/wlcore/cmd.c
988
int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
18
int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len,
drivers/net/wireless/ti/wlcore/cmd.h
20
int wl12xx_cmd_role_enable(struct wl1271 *wl, u8 *addr, u8 role_type,
drivers/net/wireless/ti/wlcore/cmd.h
22
int wl12xx_cmd_role_disable(struct wl1271 *wl, u8 *role_id);
drivers/net/wireless/ti/wlcore/cmd.h
23
int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/cmd.h
24
int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/cmd.h
25
int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/cmd.h
26
int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/cmd.h
27
int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/cmd.h
28
int wl12xx_start_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
30
int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/cmd.h
31
int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer);
drivers/net/wireless/ti/wlcore/cmd.h
32
int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf,
drivers/net/wireless/ti/wlcore/cmd.h
34
int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len);
drivers/net/wireless/ti/wlcore/cmd.h
35
int wlcore_cmd_configure_failsafe(struct wl1271 *wl, u16 id, void *buf,
drivers/net/wireless/ti/wlcore/cmd.h
37
int wl1271_cmd_data_path(struct wl1271 *wl, bool enable);
drivers/net/wireless/ti/wlcore/cmd.h
38
int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
40
int wl1271_cmd_read_memory(struct wl1271 *wl, u32 addr, void *answer,
drivers/net/wireless/ti/wlcore/cmd.h
42
int wl1271_cmd_template_set(struct wl1271 *wl, u8 role_id,
drivers/net/wireless/ti/wlcore/cmd.h
45
int wl12xx_cmd_build_null_data(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/cmd.h
46
int wl1271_cmd_build_ps_poll(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
48
int wl12xx_cmd_build_probe_req(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
53
struct sk_buff *wl1271_cmd_build_ap_probe_req(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.h
56
int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/cmd.h
57
int wl1271_build_qos_null_data(struct wl1271 *wl, struct ieee80211_vif *vif);
drivers/net/wireless/ti/wlcore/cmd.h
58
int wl12xx_cmd_build_klv_null_data(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.h
60
int wl12xx_cmd_set_default_wep_key(struct wl1271 *wl, u8 id, u8 hlid);
drivers/net/wireless/ti/wlcore/cmd.h
61
int wl1271_cmd_set_sta_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
65
int wl1271_cmd_set_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
69
int wl12xx_cmd_set_peer_state(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
71
int wl12xx_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 role_id,
drivers/net/wireless/ti/wlcore/cmd.h
73
int wl12xx_croc(struct wl1271 *wl, u8 role_id);
drivers/net/wireless/ti/wlcore/cmd.h
74
int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
76
int wl12xx_cmd_remove_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
78
void wlcore_set_pending_regdomain_ch(struct wl1271 *wl, u16 channel,
drivers/net/wireless/ti/wlcore/cmd.h
80
int wlcore_cmd_regdomain_config_locked(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/cmd.h
81
int wlcore_cmd_generic_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
83
int wl12xx_cmd_config_fwlog(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/cmd.h
84
int wl12xx_cmd_stop_fwlog(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/cmd.h
85
int wl12xx_cmd_channel_switch(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.h
88
int wl12xx_cmd_stop_channel_switch(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/cmd.h
90
int wl12xx_allocate_link(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/cmd.h
92
void wl12xx_free_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid);
drivers/net/wireless/ti/wlcore/cmd.h
93
int wlcore_cmd_wait_for_event_or_timeout(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/debugfs.c
1002
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1006
ret = wl1271_acx_sleep_auth(wl, value);
drivers/net/wireless/ti/wlcore/debugfs.c
101
int (*chip_op) (struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/debugfs.c
1011
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1013
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
1028
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
1055
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
1057
if (unlikely(wl->state == WLCORE_STATE_OFF)) {
drivers/net/wireless/ti/wlcore/debugfs.c
1066
pm_runtime_get_sync(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1069
memcpy(&old_part, &wl->curr_part, sizeof(old_part));
drivers/net/wireless/ti/wlcore/debugfs.c
1070
ret = wlcore_set_partition(wl, &part);
drivers/net/wireless/ti/wlcore/debugfs.c
1074
ret = wlcore_raw_read(wl, 0, buf, bytes, false);
drivers/net/wireless/ti/wlcore/debugfs.c
108
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1080
ret = wlcore_set_partition(wl, &old_part);
drivers/net/wireless/ti/wlcore/debugfs.c
1085
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1088
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
1109
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
113
chip_op(wl);
drivers/net/wireless/ti/wlcore/debugfs.c
1136
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
1138
if (unlikely(wl->state == WLCORE_STATE_OFF)) {
drivers/net/wireless/ti/wlcore/debugfs.c
1147
pm_runtime_get_sync(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
115
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1150
memcpy(&old_part, &wl->curr_part, sizeof(old_part));
drivers/net/wireless/ti/wlcore/debugfs.c
1151
ret = wlcore_set_partition(wl, &part);
drivers/net/wireless/ti/wlcore/debugfs.c
1155
ret = wlcore_raw_write(wl, 0, buf, bytes, false);
drivers/net/wireless/ti/wlcore/debugfs.c
1161
ret = wlcore_set_partition(wl, &old_part);
drivers/net/wireless/ti/wlcore/debugfs.c
1166
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1169
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
1198
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
1202
wl->conf.fwlog.output);
drivers/net/wireless/ti/wlcore/debugfs.c
1209
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
1224
if (wl->conf.fwlog.output == 0) {
drivers/net/wireless/ti/wlcore/debugfs.c
1229
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
1230
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1236
wl->conf.fwlog.output = value;
drivers/net/wireless/ti/wlcore/debugfs.c
1238
ret = wl12xx_cmd_config_fwlog(wl);
drivers/net/wireless/ti/wlcore/debugfs.c
1240
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
1243
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
125
struct wl1271 *wl = file->private_data; \
drivers/net/wireless/ti/wlcore/debugfs.c
1254
static void wl1271_debugfs_add_files(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/debugfs.c
128
wl->conf.conf_sub_struct.param); \
drivers/net/wireless/ti/wlcore/debugfs.c
1289
void wl1271_debugfs_reset(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/debugfs.c
1291
if (!wl->stats.fw_stats)
drivers/net/wireless/ti/wlcore/debugfs.c
1294
memset(wl->stats.fw_stats, 0, wl->stats.fw_stats_len);
drivers/net/wireless/ti/wlcore/debugfs.c
1295
wl->stats.retry_count = 0;
drivers/net/wireless/ti/wlcore/debugfs.c
1296
wl->stats.excessive_retries = 0;
drivers/net/wireless/ti/wlcore/debugfs.c
1299
int wl1271_debugfs_init(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/debugfs.c
1305
wl->hw->wiphy->debugfsdir);
drivers/net/wireless/ti/wlcore/debugfs.c
1307
wl->stats.fw_stats = kzalloc(wl->stats.fw_stats_len, GFP_KERNEL);
drivers/net/wireless/ti/wlcore/debugfs.c
1308
if (!wl->stats.fw_stats) {
drivers/net/wireless/ti/wlcore/debugfs.c
1313
wl->stats.fw_stats_update = jiffies;
drivers/net/wireless/ti/wlcore/debugfs.c
1315
wl1271_debugfs_add_files(wl, rootdir);
drivers/net/wireless/ti/wlcore/debugfs.c
1317
ret = wlcore_debugfs_init(wl, rootdir);
drivers/net/wireless/ti/wlcore/debugfs.c
1324
wl1271_debugfs_exit(wl);
drivers/net/wireless/ti/wlcore/debugfs.c
1333
void wl1271_debugfs_exit(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/debugfs.c
1335
kfree(wl->stats.fw_stats);
drivers/net/wireless/ti/wlcore/debugfs.c
1336
wl->stats.fw_stats = NULL;
drivers/net/wireless/ti/wlcore/debugfs.c
135
struct wl1271 *wl = file->private_data; \
drivers/net/wireless/ti/wlcore/debugfs.c
150
mutex_lock(&wl->mutex); \
drivers/net/wireless/ti/wlcore/debugfs.c
151
wl->conf.conf_sub_struct.param = value; \
drivers/net/wireless/ti/wlcore/debugfs.c
153
write_handler_locked(wl, value, write_handler_arg); \
drivers/net/wireless/ti/wlcore/debugfs.c
155
mutex_unlock(&wl->mutex); \
drivers/net/wireless/ti/wlcore/debugfs.c
176
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
177
bool state = test_bit(WL1271_FLAG_GPIO_POWER, &wl->flags);
drivers/net/wireless/ti/wlcore/debugfs.c
191
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
201
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
204
wl1271_power_on(wl);
drivers/net/wireless/ti/wlcore/debugfs.c
206
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/debugfs.c
208
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
223
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
225
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
226
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/debugfs.c
227
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
241
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
245
wl->conf.conn.dynamic_ps_timeout);
drivers/net/wireless/ti/wlcore/debugfs.c
252
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
268
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
270
wl->conf.conn.dynamic_ps_timeout = value;
drivers/net/wireless/ti/wlcore/debugfs.c
272
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/debugfs.c
275
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
283
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/debugfs.c
285
wl1271_ps_set_mode(wl, wlvif, STATION_AUTO_PS_MODE);
drivers/net/wireless/ti/wlcore/debugfs.c
288
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
291
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
305
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
309
wl->conf.conn.forced_ps);
drivers/net/wireless/ti/wlcore/debugfs.c
316
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
332
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
334
if (wl->conf.conn.forced_ps == value)
drivers/net/wireless/ti/wlcore/debugfs.c
337
wl->conf.conn.forced_ps = value;
drivers/net/wireless/ti/wlcore/debugfs.c
339
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/debugfs.c
342
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
352
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/debugfs.c
354
wl1271_ps_set_mode(wl, wlvif, ps_mode);
drivers/net/wireless/ti/wlcore/debugfs.c
357
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
360
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
374
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
378
wl->conf.scan.split_scan_timeout / 1000);
drivers/net/wireless/ti/wlcore/debugfs.c
385
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
398
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
400
wl->conf.scan.split_scan_timeout = value * 1000;
drivers/net/wireless/ti/wlcore/debugfs.c
402
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
416
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
428
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
432
#x " = " fmt "\n", wl->x))
drivers/net/wireless/ti/wlcore/debugfs.c
444
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/debugfs.c
452
wl12xx_for_each_wlvif_ap(wl, wlvif)
drivers/net/wireless/ti/wlcore/debugfs.c
46
void wl1271_debugfs_update_stats(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/debugfs.c
499
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
50
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
515
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
52
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/debugfs.c
526
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
548
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/debugfs.c
55
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
59
if (!wl->plt &&
drivers/net/wireless/ti/wlcore/debugfs.c
60
time_after(jiffies, wl->stats.fw_stats_update +
drivers/net/wireless/ti/wlcore/debugfs.c
609
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
62
wl1271_acx_statistics(wl, wl->stats.fw_stats);
drivers/net/wireless/ti/wlcore/debugfs.c
625
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
628
if (wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_DTIM ||
drivers/net/wireless/ti/wlcore/debugfs.c
629
wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_N_DTIM)
drivers/net/wireless/ti/wlcore/debugfs.c
63
wl->stats.fw_stats_update = jiffies;
drivers/net/wireless/ti/wlcore/debugfs.c
630
value = wl->conf.conn.listen_interval;
drivers/net/wireless/ti/wlcore/debugfs.c
641
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
656
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
658
wl->conf.conn.listen_interval = value;
drivers/net/wireless/ti/wlcore/debugfs.c
66
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
661
wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_DTIM;
drivers/net/wireless/ti/wlcore/debugfs.c
663
wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_N_DTIM;
drivers/net/wireless/ti/wlcore/debugfs.c
669
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
686
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
689
if (wl->conf.conn.suspend_wake_up_event == CONF_WAKE_UP_EVENT_DTIM ||
drivers/net/wireless/ti/wlcore/debugfs.c
69
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
690
wl->conf.conn.suspend_wake_up_event == CONF_WAKE_UP_EVENT_N_DTIM)
drivers/net/wireless/ti/wlcore/debugfs.c
691
value = wl->conf.conn.suspend_listen_interval;
drivers/net/wireless/ti/wlcore/debugfs.c
702
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
717
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
719
wl->conf.conn.suspend_listen_interval = value;
drivers/net/wireless/ti/wlcore/debugfs.c
722
wl->conf.conn.suspend_wake_up_event = CONF_WAKE_UP_EVENT_DTIM;
drivers/net/wireless/ti/wlcore/debugfs.c
724
wl->conf.conn.suspend_wake_up_event = CONF_WAKE_UP_EVENT_N_DTIM;
drivers/net/wireless/ti/wlcore/debugfs.c
726
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
73
DEBUGFS_READONLY_FILE(retry_count, "%u", wl->stats.retry_count);
drivers/net/wireless/ti/wlcore/debugfs.c
741
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
744
if (wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_BEACON ||
drivers/net/wireless/ti/wlcore/debugfs.c
745
wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_N_BEACONS)
drivers/net/wireless/ti/wlcore/debugfs.c
746
value = wl->conf.conn.listen_interval;
drivers/net/wireless/ti/wlcore/debugfs.c
75
wl->stats.excessive_retries);
drivers/net/wireless/ti/wlcore/debugfs.c
757
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
772
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
774
wl->conf.conn.listen_interval = value;
drivers/net/wireless/ti/wlcore/debugfs.c
777
wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_BEACON;
drivers/net/wireless/ti/wlcore/debugfs.c
779
wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_N_BEACONS;
drivers/net/wireless/ti/wlcore/debugfs.c
785
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
80
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
800
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
817
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
819
wl->conf.rx_streaming.interval = value;
drivers/net/wireless/ti/wlcore/debugfs.c
821
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
825
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/debugfs.c
826
wl1271_recalc_rx_streaming(wl, wlvif);
drivers/net/wireless/ti/wlcore/debugfs.c
829
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
831
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
839
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
841
"%d\n", wl->conf.rx_streaming.interval);
drivers/net/wireless/ti/wlcore/debugfs.c
85
queue_len = wl1271_tx_total_queue_count(wl);
drivers/net/wireless/ti/wlcore/debugfs.c
855
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
872
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
874
wl->conf.rx_streaming.always = value;
drivers/net/wireless/ti/wlcore/debugfs.c
876
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
880
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/debugfs.c
881
wl1271_recalc_rx_streaming(wl, wlvif);
drivers/net/wireless/ti/wlcore/debugfs.c
884
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
886
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
894
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
896
"%d\n", wl->conf.rx_streaming.always);
drivers/net/wireless/ti/wlcore/debugfs.c
910
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
921
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
923
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
927
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/debugfs.c
928
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, !!value);
drivers/net/wireless/ti/wlcore/debugfs.c
931
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/debugfs.c
933
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
947
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
949
wl1271_debugfs_update_stats(wl);
drivers/net/wireless/ti/wlcore/debugfs.c
952
wl->stats.fw_stats,
drivers/net/wireless/ti/wlcore/debugfs.c
953
wl->stats.fw_stats_len);
drivers/net/wireless/ti/wlcore/debugfs.c
965
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
969
wl->sleep_auth);
drivers/net/wireless/ti/wlcore/debugfs.c
97
static void chip_op_handler(struct wl1271 *wl, unsigned long value,
drivers/net/wireless/ti/wlcore/debugfs.c
976
struct wl1271 *wl = file->private_data;
drivers/net/wireless/ti/wlcore/debugfs.c
992
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/debugfs.c
994
wl->conf.conn.sta_sleep_auth = value;
drivers/net/wireless/ti/wlcore/debugfs.c
996
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/debugfs.c
998
wl->sleep_auth = value;
drivers/net/wireless/ti/wlcore/debugfs.h
18
int wl1271_debugfs_init(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/debugfs.h
19
void wl1271_debugfs_exit(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/debugfs.h
20
void wl1271_debugfs_reset(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/debugfs.h
21
void wl1271_debugfs_update_stats(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/debugfs.h
29
struct wl1271 *wl = file->private_data; \
drivers/net/wireless/ti/wlcore/debugfs.h
43
wl, &name## _ops); \
drivers/net/wireless/ti/wlcore/debugfs.h
50
wl, &prefix## _## name## _ops); \
drivers/net/wireless/ti/wlcore/debugfs.h
58
struct wl1271 *wl = file->private_data; \
drivers/net/wireless/ti/wlcore/debugfs.h
59
struct struct_type *stats = wl->stats.fw_stats; \
drivers/net/wireless/ti/wlcore/debugfs.h
61
wl1271_debugfs_update_stats(wl); \
drivers/net/wireless/ti/wlcore/debugfs.h
78
struct wl1271 *wl = file->private_data; \
drivers/net/wireless/ti/wlcore/debugfs.h
79
struct struct_type *stats = wl->stats.fw_stats; \
drivers/net/wireless/ti/wlcore/debugfs.h
84
wl1271_debugfs_update_stats(wl); \
drivers/net/wireless/ti/wlcore/event.c
100
ret = wlcore_write32(wl, addr + WL18XX_LOGGER_READ_POINT_OFFSET,
drivers/net/wireless/ti/wlcore/event.c
109
void wlcore_event_rssi_trigger(struct wl1271 *wl, s8 *metric_arr)
drivers/net/wireless/ti/wlcore/event.c
119
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/event.c
134
static void wl1271_stop_ba_event(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/event.c
140
if (!wl->links[hlid].ba_bitmap)
drivers/net/wireless/ti/wlcore/event.c
142
ieee80211_stop_rx_ba_session(vif, wl->links[hlid].ba_bitmap,
drivers/net/wireless/ti/wlcore/event.c
148
wl->num_links) {
drivers/net/wireless/ti/wlcore/event.c
149
lnk = &wl->links[hlid];
drivers/net/wireless/ti/wlcore/event.c
160
void wlcore_event_soft_gemini_sense(struct wl1271 *wl, u8 enable)
drivers/net/wireless/ti/wlcore/event.c
165
set_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags);
drivers/net/wireless/ti/wlcore/event.c
167
clear_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags);
drivers/net/wireless/ti/wlcore/event.c
168
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/event.c
169
wl1271_recalc_rx_streaming(wl, wlvif);
drivers/net/wireless/ti/wlcore/event.c
175
void wlcore_event_sched_scan_completed(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/event.c
181
if (wl->sched_vif) {
drivers/net/wireless/ti/wlcore/event.c
182
ieee80211_sched_scan_stopped(wl->hw);
drivers/net/wireless/ti/wlcore/event.c
183
wl->sched_vif = NULL;
drivers/net/wireless/ti/wlcore/event.c
188
void wlcore_event_ba_rx_constraint(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/event.c
197
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/event.c
205
wl1271_stop_ba_event(wl, wlvif);
drivers/net/wireless/ti/wlcore/event.c
210
void wlcore_event_channel_switch(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/event.c
220
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/event.c
242
void wlcore_event_dummy_packet(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/event.c
244
if (wl->plt) {
drivers/net/wireless/ti/wlcore/event.c
25
int wlcore_event_fw_logger(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/event.c
250
wl1271_tx_dummy_packet(wl);
drivers/net/wireless/ti/wlcore/event.c
254
static void wlcore_disconnect_sta(struct wl1271 *wl, unsigned long sta_bitmap)
drivers/net/wireless/ti/wlcore/event.c
256
u32 num_packets = wl->conf.tx.max_tx_retries;
drivers/net/wireless/ti/wlcore/event.c
263
for_each_set_bit(h, &sta_bitmap, wl->num_links) {
drivers/net/wireless/ti/wlcore/event.c
266
wl12xx_for_each_wlvif_ap(wl, wlvif) {
drivers/net/wireless/ti/wlcore/event.c
276
addr = wl->links[h].addr;
drivers/net/wireless/ti/wlcore/event.c
288
void wlcore_event_max_tx_failure(struct wl1271 *wl, unsigned long sta_bitmap)
drivers/net/wireless/ti/wlcore/event.c
291
wlcore_disconnect_sta(wl, sta_bitmap);
drivers/net/wireless/ti/wlcore/event.c
295
void wlcore_event_inactive_sta(struct wl1271 *wl, unsigned long sta_bitmap)
drivers/net/wireless/ti/wlcore/event.c
298
wlcore_disconnect_sta(wl, sta_bitmap);
drivers/net/wireless/ti/wlcore/event.c
302
void wlcore_event_roc_complete(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/event.c
305
if (wl->roc_vif)
drivers/net/wireless/ti/wlcore/event.c
306
ieee80211_ready_on_channel(wl->hw);
drivers/net/wireless/ti/wlcore/event.c
310
void wlcore_event_beacon_loss(struct wl1271 *wl, unsigned long roles_bitmap)
drivers/net/wireless/ti/wlcore/event.c
318
int delay = wl->conf.conn.synch_fail_thold *
drivers/net/wireless/ti/wlcore/event.c
319
wl->conf.conn.bss_lose_timeout;
drivers/net/wireless/ti/wlcore/event.c
323
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/event.c
341
ieee80211_queue_delayed_work(wl->hw,
drivers/net/wireless/ti/wlcore/event.c
350
int wl1271_event_unmask(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/event.c
354
wl1271_debug(DEBUG_EVENT, "unmasking event_mask 0x%x", wl->event_mask);
drivers/net/wireless/ti/wlcore/event.c
355
ret = wl1271_acx_event_mbox_mask(wl, ~(wl->event_mask));
drivers/net/wireless/ti/wlcore/event.c
362
int wl1271_event_handle(struct wl1271 *wl, u8 mbox_num)
drivers/net/wireless/ti/wlcore/event.c
372
ret = wlcore_read(wl, wl->mbox_ptr[mbox_num], wl->mbox,
drivers/net/wireless/ti/wlcore/event.c
373
wl->mbox_size, false);
drivers/net/wireless/ti/wlcore/event.c
378
ret = wl->ops->process_mailbox_events(wl);
drivers/net/wireless/ti/wlcore/event.c
386
ret = wl->ops->ack_event(wl);
drivers/net/wireless/ti/wlcore/event.c
49
ret = wlcore_read(wl, addr, buffer, WL18XX_LOGGER_SDIO_BUFF_MAX,
drivers/net/wireless/ti/wlcore/event.c
85
wl12xx_copy_fwlog(wl, &buffer[start_loc], len);
drivers/net/wireless/ti/wlcore/event.c
93
wl12xx_copy_fwlog(wl,
drivers/net/wireless/ti/wlcore/event.h
63
int wl1271_event_unmask(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/event.h
64
int wl1271_event_handle(struct wl1271 *wl, u8 mbox);
drivers/net/wireless/ti/wlcore/event.h
66
void wlcore_event_soft_gemini_sense(struct wl1271 *wl, u8 enable);
drivers/net/wireless/ti/wlcore/event.h
67
void wlcore_event_sched_scan_completed(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/event.h
69
void wlcore_event_ba_rx_constraint(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/event.h
72
void wlcore_event_channel_switch(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/event.h
75
void wlcore_event_beacon_loss(struct wl1271 *wl, unsigned long roles_bitmap);
drivers/net/wireless/ti/wlcore/event.h
76
void wlcore_event_dummy_packet(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/event.h
77
void wlcore_event_max_tx_failure(struct wl1271 *wl, unsigned long sta_bitmap);
drivers/net/wireless/ti/wlcore/event.h
78
void wlcore_event_inactive_sta(struct wl1271 *wl, unsigned long sta_bitmap);
drivers/net/wireless/ti/wlcore/event.h
79
void wlcore_event_roc_complete(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/event.h
80
void wlcore_event_rssi_trigger(struct wl1271 *wl, s8 *metric_arr);
drivers/net/wireless/ti/wlcore/event.h
81
int wlcore_event_fw_logger(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/hw_ops.h
101
wl->ops->convert_fw_status(wl, raw_fw_status, fw_status);
drivers/net/wireless/ti/wlcore/hw_ops.h
105
wlcore_hw_sta_get_ap_rate_mask(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/hw_ops.h
107
if (!wl->ops->sta_get_ap_rate_mask)
drivers/net/wireless/ti/wlcore/hw_ops.h
110
return wl->ops->sta_get_ap_rate_mask(wl, wlvif);
drivers/net/wireless/ti/wlcore/hw_ops.h
113
static inline int wlcore_identify_fw(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/hw_ops.h
115
if (wl->ops->identify_fw)
drivers/net/wireless/ti/wlcore/hw_ops.h
116
return wl->ops->identify_fw(wl);
drivers/net/wireless/ti/wlcore/hw_ops.h
122
wlcore_hw_set_tx_desc_csum(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/hw_ops.h
126
if (!wl->ops->set_tx_desc_csum)
drivers/net/wireless/ti/wlcore/hw_ops.h
129
wl->ops->set_tx_desc_csum(wl, desc, skb);
drivers/net/wireless/ti/wlcore/hw_ops.h
133
wlcore_hw_set_rx_csum(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/hw_ops.h
137
if (wl->ops->set_rx_csum)
drivers/net/wireless/ti/wlcore/hw_ops.h
138
wl->ops->set_rx_csum(wl, desc, skb);
drivers/net/wireless/ti/wlcore/hw_ops.h
142
wlcore_hw_ap_get_mimo_wide_rate_mask(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/hw_ops.h
145
if (wl->ops->ap_get_mimo_wide_rate_mask)
drivers/net/wireless/ti/wlcore/hw_ops.h
146
return wl->ops->ap_get_mimo_wide_rate_mask(wl, wlvif);
drivers/net/wireless/ti/wlcore/hw_ops.h
15
wlcore_hw_calc_tx_blocks(struct wl1271 *wl, u32 len, u32 spare_blks)
drivers/net/wireless/ti/wlcore/hw_ops.h
152
wlcore_debugfs_init(struct wl1271 *wl, struct dentry *rootdir)
drivers/net/wireless/ti/wlcore/hw_ops.h
154
if (wl->ops->debugfs_init)
drivers/net/wireless/ti/wlcore/hw_ops.h
155
return wl->ops->debugfs_init(wl, rootdir);
drivers/net/wireless/ti/wlcore/hw_ops.h
161
wlcore_handle_static_data(struct wl1271 *wl, void *static_data)
drivers/net/wireless/ti/wlcore/hw_ops.h
163
if (wl->ops->handle_static_data)
drivers/net/wireless/ti/wlcore/hw_ops.h
164
return wl->ops->handle_static_data(wl, static_data);
drivers/net/wireless/ti/wlcore/hw_ops.h
17
if (!wl->ops->calc_tx_blocks)
drivers/net/wireless/ti/wlcore/hw_ops.h
170
wlcore_hw_get_spare_blocks(struct wl1271 *wl, bool is_gem)
drivers/net/wireless/ti/wlcore/hw_ops.h
172
if (!wl->ops->get_spare_blocks)
drivers/net/wireless/ti/wlcore/hw_ops.h
175
return wl->ops->get_spare_blocks(wl, is_gem);
drivers/net/wireless/ti/wlcore/hw_ops.h
179
wlcore_hw_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
drivers/net/wireless/ti/wlcore/hw_ops.h
184
if (!wl->ops->set_key)
drivers/net/wireless/ti/wlcore/hw_ops.h
187
return wl->ops->set_key(wl, cmd, vif, sta, key_conf);
drivers/net/wireless/ti/wlcore/hw_ops.h
191
wlcore_hw_pre_pkt_send(struct wl1271 *wl, u32 buf_offset, u32 last_len)
drivers/net/wireless/ti/wlcore/hw_ops.h
193
if (wl->ops->pre_pkt_send)
drivers/net/wireless/ti/wlcore/hw_ops.h
194
return wl->ops->pre_pkt_send(wl, buf_offset, last_len);
drivers/net/wireless/ti/wlcore/hw_ops.h
20
return wl->ops->calc_tx_blocks(wl, len, spare_blks);
drivers/net/wireless/ti/wlcore/hw_ops.h
200
wlcore_hw_sta_rc_update(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/hw_ops.h
202
if (wl->ops->sta_rc_update)
drivers/net/wireless/ti/wlcore/hw_ops.h
203
wl->ops->sta_rc_update(wl, wlvif);
drivers/net/wireless/ti/wlcore/hw_ops.h
207
wlcore_hw_interrupt_notify(struct wl1271 *wl, bool action)
drivers/net/wireless/ti/wlcore/hw_ops.h
209
if (wl->ops->interrupt_notify)
drivers/net/wireless/ti/wlcore/hw_ops.h
210
return wl->ops->interrupt_notify(wl, action);
drivers/net/wireless/ti/wlcore/hw_ops.h
215
wlcore_hw_rx_ba_filter(struct wl1271 *wl, bool action)
drivers/net/wireless/ti/wlcore/hw_ops.h
217
if (wl->ops->rx_ba_filter)
drivers/net/wireless/ti/wlcore/hw_ops.h
218
return wl->ops->rx_ba_filter(wl, action);
drivers/net/wireless/ti/wlcore/hw_ops.h
223
wlcore_hw_ap_sleep(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/hw_ops.h
225
if (wl->ops->ap_sleep)
drivers/net/wireless/ti/wlcore/hw_ops.h
226
return wl->ops->ap_sleep(wl);
drivers/net/wireless/ti/wlcore/hw_ops.h
232
wlcore_hw_set_peer_cap(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/hw_ops.h
237
if (wl->ops->set_peer_cap)
drivers/net/wireless/ti/wlcore/hw_ops.h
238
return wl->ops->set_peer_cap(wl, ht_cap, allow_ht_operation,
drivers/net/wireless/ti/wlcore/hw_ops.h
24
wlcore_hw_set_tx_desc_blocks(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc,
drivers/net/wireless/ti/wlcore/hw_ops.h
245
wlcore_hw_convert_hwaddr(struct wl1271 *wl, u32 hwaddr)
drivers/net/wireless/ti/wlcore/hw_ops.h
247
if (!wl->ops->convert_hwaddr)
drivers/net/wireless/ti/wlcore/hw_ops.h
250
return wl->ops->convert_hwaddr(wl, hwaddr);
drivers/net/wireless/ti/wlcore/hw_ops.h
254
wlcore_hw_lnk_high_prio(struct wl1271 *wl, u8 hlid,
drivers/net/wireless/ti/wlcore/hw_ops.h
257
if (!wl->ops->lnk_high_prio)
drivers/net/wireless/ti/wlcore/hw_ops.h
260
return wl->ops->lnk_high_prio(wl, hlid, lnk);
drivers/net/wireless/ti/wlcore/hw_ops.h
264
wlcore_hw_lnk_low_prio(struct wl1271 *wl, u8 hlid,
drivers/net/wireless/ti/wlcore/hw_ops.h
267
if (!wl->ops->lnk_low_prio)
drivers/net/wireless/ti/wlcore/hw_ops.h
27
if (!wl->ops->set_tx_desc_blocks)
drivers/net/wireless/ti/wlcore/hw_ops.h
270
return wl->ops->lnk_low_prio(wl, hlid, lnk);
drivers/net/wireless/ti/wlcore/hw_ops.h
274
wlcore_smart_config_start(struct wl1271 *wl, u32 group_bitmap)
drivers/net/wireless/ti/wlcore/hw_ops.h
276
if (!wl->ops->smart_config_start)
drivers/net/wireless/ti/wlcore/hw_ops.h
279
return wl->ops->smart_config_start(wl, group_bitmap);
drivers/net/wireless/ti/wlcore/hw_ops.h
283
wlcore_smart_config_stop(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/hw_ops.h
285
if (!wl->ops->smart_config_stop)
drivers/net/wireless/ti/wlcore/hw_ops.h
288
return wl->ops->smart_config_stop(wl);
drivers/net/wireless/ti/wlcore/hw_ops.h
292
wlcore_smart_config_set_group_key(struct wl1271 *wl, u16 group_id,
drivers/net/wireless/ti/wlcore/hw_ops.h
295
if (!wl->ops->smart_config_set_group_key)
drivers/net/wireless/ti/wlcore/hw_ops.h
298
return wl->ops->smart_config_set_group_key(wl, group_id, key_len, key);
drivers/net/wireless/ti/wlcore/hw_ops.h
30
return wl->ops->set_tx_desc_blocks(wl, desc, blks, spare_blks);
drivers/net/wireless/ti/wlcore/hw_ops.h
302
wlcore_hw_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start)
drivers/net/wireless/ti/wlcore/hw_ops.h
304
if (!wl->ops->set_cac)
drivers/net/wireless/ti/wlcore/hw_ops.h
307
return wl->ops->set_cac(wl, wlvif, start);
drivers/net/wireless/ti/wlcore/hw_ops.h
311
wlcore_hw_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/hw_ops.h
313
if (!wl->ops->dfs_master_restart)
drivers/net/wireless/ti/wlcore/hw_ops.h
316
return wl->ops->dfs_master_restart(wl, wlvif);
drivers/net/wireless/ti/wlcore/hw_ops.h
34
wlcore_hw_set_tx_desc_data_len(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/hw_ops.h
38
if (!wl->ops->set_tx_desc_data_len)
drivers/net/wireless/ti/wlcore/hw_ops.h
41
wl->ops->set_tx_desc_data_len(wl, desc, skb);
drivers/net/wireless/ti/wlcore/hw_ops.h
45
wlcore_hw_get_rx_buf_align(struct wl1271 *wl, u32 rx_desc)
drivers/net/wireless/ti/wlcore/hw_ops.h
48
if (!wl->ops->get_rx_buf_align)
drivers/net/wireless/ti/wlcore/hw_ops.h
51
return wl->ops->get_rx_buf_align(wl, rx_desc);
drivers/net/wireless/ti/wlcore/hw_ops.h
55
wlcore_hw_prepare_read(struct wl1271 *wl, u32 rx_desc, u32 len)
drivers/net/wireless/ti/wlcore/hw_ops.h
57
if (wl->ops->prepare_read)
drivers/net/wireless/ti/wlcore/hw_ops.h
58
return wl->ops->prepare_read(wl, rx_desc, len);
drivers/net/wireless/ti/wlcore/hw_ops.h
64
wlcore_hw_get_rx_packet_len(struct wl1271 *wl, void *rx_data, u32 data_len)
drivers/net/wireless/ti/wlcore/hw_ops.h
66
if (!wl->ops->get_rx_packet_len)
drivers/net/wireless/ti/wlcore/hw_ops.h
69
return wl->ops->get_rx_packet_len(wl, rx_data, data_len);
drivers/net/wireless/ti/wlcore/hw_ops.h
72
static inline int wlcore_hw_tx_delayed_compl(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/hw_ops.h
74
if (wl->ops->tx_delayed_compl)
drivers/net/wireless/ti/wlcore/hw_ops.h
75
return wl->ops->tx_delayed_compl(wl);
drivers/net/wireless/ti/wlcore/hw_ops.h
80
static inline void wlcore_hw_tx_immediate_compl(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/hw_ops.h
82
if (wl->ops->tx_immediate_compl)
drivers/net/wireless/ti/wlcore/hw_ops.h
83
wl->ops->tx_immediate_compl(wl);
drivers/net/wireless/ti/wlcore/hw_ops.h
87
wlcore_hw_init_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/hw_ops.h
89
if (wl->ops->init_vif)
drivers/net/wireless/ti/wlcore/hw_ops.h
90
return wl->ops->init_vif(wl, wlvif);
drivers/net/wireless/ti/wlcore/hw_ops.h
96
wlcore_hw_convert_fw_status(struct wl1271 *wl, void *raw_fw_status,
drivers/net/wireless/ti/wlcore/hw_ops.h
99
BUG_ON(!wl->ops->convert_fw_status);
drivers/net/wireless/ti/wlcore/init.c
110
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
117
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
124
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
133
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
144
static int wl1271_ap_init_deauth_template(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/init.c
160
rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
drivers/net/wireless/ti/wlcore/init.c
161
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/init.c
170
static int wl1271_ap_init_null_template(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/init.c
193
rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
drivers/net/wireless/ti/wlcore/init.c
194
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/init.c
203
static int wl1271_ap_init_qos_null_template(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/init.c
226
rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
drivers/net/wireless/ti/wlcore/init.c
227
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/init.c
23
int wl1271_init_templates_config(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/init.c
236
static int wl12xx_init_rx_config(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/init.c
240
ret = wl1271_acx_rx_msdu_life_time(wl);
drivers/net/wireless/ti/wlcore/init.c
247
static int wl12xx_init_phy_vif_config(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/init.c
252
ret = wl1271_acx_slot(wl, wlvif, DEFAULT_SLOT_TIME);
drivers/net/wireless/ti/wlcore/init.c
256
ret = wl1271_acx_service_period_timeout(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
260
ret = wl1271_acx_rts_threshold(wl, wlvif, wl->hw->wiphy->rts_threshold);
drivers/net/wireless/ti/wlcore/init.c
267
static int wl1271_init_sta_beacon_filter(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/init.c
272
ret = wl1271_acx_beacon_filter_table(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
277
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/init.c
284
int wl1271_init_pta(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/init.c
288
ret = wl12xx_acx_sg_cfg(wl);
drivers/net/wireless/ti/wlcore/init.c
29
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
292
ret = wl1271_acx_sg_enable(wl, wl->sg_enabled);
drivers/net/wireless/ti/wlcore/init.c
299
int wl1271_init_energy_detection(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/init.c
30
wl->scan_templ_id_2_4, NULL,
drivers/net/wireless/ti/wlcore/init.c
303
ret = wl1271_acx_cca_threshold(wl);
drivers/net/wireless/ti/wlcore/init.c
310
static int wl1271_init_beacon_broadcast(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/init.c
315
ret = wl1271_acx_bcn_dtim_options(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
322
static int wl12xx_init_fwlog(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/init.c
326
if (wl->quirks & WLCORE_QUIRK_FWLOG_NOT_IMPLEMENTED)
drivers/net/wireless/ti/wlcore/init.c
329
ret = wl12xx_cmd_config_fwlog(wl);
drivers/net/wireless/ti/wlcore/init.c
337
int wl1271_sta_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/init.c
342
ret = wl12xx_acx_config_ps(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
347
ret = wl1271_acx_fm_coex(wl);
drivers/net/wireless/ti/wlcore/init.c
351
ret = wl1271_acx_sta_rate_policies(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
358
static int wl1271_sta_hw_init_post_mem(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/init.c
36
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
365
ret = wl1271_acx_keep_alive_mode(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/init.c
37
wl->scan_templ_id_5,
drivers/net/wireless/ti/wlcore/init.c
373
static int wl1271_ap_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/init.c
377
ret = wl1271_init_ap_rates(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
382
ret = wlcore_hw_ap_sleep(wl);
drivers/net/wireless/ti/wlcore/init.c
389
int wl1271_ap_init_templates(struct wl1271 *wl, struct ieee80211_vif *vif)
drivers/net/wireless/ti/wlcore/init.c
394
ret = wl1271_ap_init_deauth_template(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
398
ret = wl1271_ap_init_null_template(wl, vif);
drivers/net/wireless/ti/wlcore/init.c
402
ret = wl1271_ap_init_qos_null_template(wl, vif);
drivers/net/wireless/ti/wlcore/init.c
410
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/init.c
417
static int wl1271_ap_hw_init_post_mem(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/init.c
420
return wl1271_ap_init_templates(wl, vif);
drivers/net/wireless/ti/wlcore/init.c
423
int wl1271_init_ap_rates(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/init.c
43
if (wl->quirks & WLCORE_QUIRK_DUAL_PROBE_TMPL) {
drivers/net/wireless/ti/wlcore/init.c
439
ret = wl1271_acx_ap_rate_policy(wl, &rc, wlvif->ap.mgmt_rate_idx);
drivers/net/wireless/ti/wlcore/init.c
44
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
444
rc.enabled_rates = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
drivers/net/wireless/ti/wlcore/init.c
448
ret = wl1271_acx_ap_rate_policy(wl, &rc, wlvif->ap.bcast_rate_idx);
drivers/net/wireless/ti/wlcore/init.c
45
wl->sched_scan_templ_id_2_4,
drivers/net/wireless/ti/wlcore/init.c
456
if (wl->ofdm_only_ap && (wlvif->basic_rate_set & CONF_TX_OFDM_RATES))
drivers/net/wireless/ti/wlcore/init.c
465
supported_rates |= wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
468
for (i = 0; i < wl->conf.tx.ac_conf_count; i++) {
drivers/net/wireless/ti/wlcore/init.c
473
ret = wl1271_acx_ap_rate_policy(wl, &rc,
drivers/net/wireless/ti/wlcore/init.c
482
static int wl1271_set_ba_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/init.c
486
wl->ba_rx_session_count = 0;
drivers/net/wireless/ti/wlcore/init.c
498
return wl12xx_acx_set_ba_initiator_policy(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
502
static int wl12xx_init_sta_role(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/init.c
506
ret = wl1271_acx_group_address_tbl(wl, wlvif, true, NULL, 0);
drivers/net/wireless/ti/wlcore/init.c
511
ret = wl1271_acx_conn_monit_params(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/init.c
516
ret = wl1271_init_sta_beacon_filter(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
52
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
521
ret = wl1271_init_beacon_broadcast(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
526
ret = wl1271_acx_rssi_snr_avg_weights(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
53
wl->sched_scan_templ_id_5,
drivers/net/wireless/ti/wlcore/init.c
534
static int wl12xx_init_ap_role(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/init.c
538
ret = wl1271_acx_ap_max_tx_retry(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
543
ret = wl1271_acx_tx_power(wl, wlvif, wlvif->power_level);
drivers/net/wireless/ti/wlcore/init.c
547
if (wl->radar_debug_mode)
drivers/net/wireless/ti/wlcore/init.c
548
wlcore_cmd_generic_cfg(wl, wlvif,
drivers/net/wireless/ti/wlcore/init.c
550
wl->radar_debug_mode, 0);
drivers/net/wireless/ti/wlcore/init.c
555
int wl1271_init_vif_specific(struct wl1271 *wl, struct ieee80211_vif *vif)
drivers/net/wireless/ti/wlcore/init.c
565
if (wl->ap_count == 0 && is_ap) { /* first AP */
drivers/net/wireless/ti/wlcore/init.c
566
ret = wl1271_acx_sleep_auth(wl, WL1271_PSM_ELP);
drivers/net/wireless/ti/wlcore/init.c
571
wl->event_mask |= wl->ap_event_mask;
drivers/net/wireless/ti/wlcore/init.c
572
ret = wl1271_event_unmask(wl);
drivers/net/wireless/ti/wlcore/init.c
576
} else if (wl->sta_count == 0 && wl->ap_count == 0 && !is_ap) {
drivers/net/wireless/ti/wlcore/init.c
577
u8 sta_auth = wl->conf.conn.sta_sleep_auth;
drivers/net/wireless/ti/wlcore/init.c
580
ret = wl1271_acx_sleep_auth(wl, sta_auth);
drivers/net/wireless/ti/wlcore/init.c
583
ret = wl1271_acx_sleep_auth(wl, WL1271_PSM_ELP);
drivers/net/wireless/ti/wlcore/init.c
591
ret = wl1271_ap_hw_init(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
595
ret = wl12xx_init_ap_role(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
599
ret = wl1271_sta_hw_init(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
603
ret = wl12xx_init_sta_role(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
608
wl12xx_init_phy_vif_config(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
61
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
611
BUG_ON(wl->conf.tx.tid_conf_count != wl->conf.tx.ac_conf_count);
drivers/net/wireless/ti/wlcore/init.c
612
for (i = 0; i < wl->conf.tx.tid_conf_count; i++) {
drivers/net/wireless/ti/wlcore/init.c
613
conf_ac = &wl->conf.tx.ac_conf[i];
drivers/net/wireless/ti/wlcore/init.c
614
ret = wl1271_acx_ac_cfg(wl, wlvif, conf_ac->ac,
drivers/net/wireless/ti/wlcore/init.c
620
conf_tid = &wl->conf.tx.tid_conf[i];
drivers/net/wireless/ti/wlcore/init.c
621
ret = wl1271_acx_tid_cfg(wl, wlvif,
drivers/net/wireless/ti/wlcore/init.c
634
ret = wl1271_acx_feature_cfg(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
640
ret = wl1271_ap_hw_init_post_mem(wl, vif);
drivers/net/wireless/ti/wlcore/init.c
642
ret = wl1271_sta_hw_init_post_mem(wl, vif);
drivers/net/wireless/ti/wlcore/init.c
648
ret = wl1271_set_ba_policies(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
652
ret = wlcore_hw_init_vif(wl, wlvif);
drivers/net/wireless/ti/wlcore/init.c
659
int wl1271_hw_init(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/init.c
664
ret = wl->ops->hw_init(wl);
drivers/net/wireless/ti/wlcore/init.c
669
ret = wl1271_init_templates_config(wl);
drivers/net/wireless/ti/wlcore/init.c
673
ret = wl12xx_acx_mem_cfg(wl);
drivers/net/wireless/ti/wlcore/init.c
678
ret = wl12xx_init_fwlog(wl);
drivers/net/wireless/ti/wlcore/init.c
68
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
682
ret = wlcore_cmd_regdomain_config_locked(wl);
drivers/net/wireless/ti/wlcore/init.c
687
ret = wl1271_init_pta(wl);
drivers/net/wireless/ti/wlcore/init.c
692
ret = wl1271_acx_init_mem_config(wl);
drivers/net/wireless/ti/wlcore/init.c
697
ret = wl12xx_init_rx_config(wl);
drivers/net/wireless/ti/wlcore/init.c
701
ret = wl1271_acx_dco_itrim_params(wl);
drivers/net/wireless/ti/wlcore/init.c
706
ret = wl1271_acx_tx_config_options(wl);
drivers/net/wireless/ti/wlcore/init.c
711
ret = wl1271_acx_init_rx_interrupt(wl);
drivers/net/wireless/ti/wlcore/init.c
716
ret = wl1271_init_energy_detection(wl);
drivers/net/wireless/ti/wlcore/init.c
721
ret = wl1271_acx_frag_threshold(wl, wl->hw->wiphy->frag_threshold);
drivers/net/wireless/ti/wlcore/init.c
726
ret = wl1271_cmd_data_path(wl, 1);
drivers/net/wireless/ti/wlcore/init.c
731
ret = wl1271_acx_pm_config(wl);
drivers/net/wireless/ti/wlcore/init.c
735
ret = wl12xx_acx_set_rate_mgmt_params(wl);
drivers/net/wireless/ti/wlcore/init.c
740
ret = wl12xx_acx_config_hangover(wl);
drivers/net/wireless/ti/wlcore/init.c
747
kfree(wl->target_mem_map);
drivers/net/wireless/ti/wlcore/init.c
748
wl->target_mem_map = NULL;
drivers/net/wireless/ti/wlcore/init.c
75
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
83
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
90
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.c
99
ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID,
drivers/net/wireless/ti/wlcore/init.h
15
int wl1271_hw_init_power_auth(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/init.h
16
int wl1271_init_templates_config(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/init.h
17
int wl1271_init_pta(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/init.h
18
int wl1271_init_energy_detection(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/init.h
19
int wl1271_chip_specific_init(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/init.h
20
int wl1271_hw_init(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/init.h
21
int wl1271_init_vif_specific(struct wl1271 *wl, struct ieee80211_vif *vif);
drivers/net/wireless/ti/wlcore/init.h
22
int wl1271_init_ap_rates(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/init.h
23
int wl1271_ap_init_templates(struct wl1271 *wl, struct ieee80211_vif *vif);
drivers/net/wireless/ti/wlcore/init.h
24
int wl1271_sta_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/io.c
123
int wlcore_set_partition(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/io.c
129
memcpy(&wl->curr_part, p, sizeof(*p));
drivers/net/wireless/ti/wlcore/io.c
140
ret = wlcore_raw_write32(wl, HW_PART0_START_ADDR, p->mem.start);
drivers/net/wireless/ti/wlcore/io.c
144
ret = wlcore_raw_write32(wl, HW_PART0_SIZE_ADDR, p->mem.size);
drivers/net/wireless/ti/wlcore/io.c
148
ret = wlcore_raw_write32(wl, HW_PART1_START_ADDR, p->reg.start);
drivers/net/wireless/ti/wlcore/io.c
152
ret = wlcore_raw_write32(wl, HW_PART1_SIZE_ADDR, p->reg.size);
drivers/net/wireless/ti/wlcore/io.c
156
ret = wlcore_raw_write32(wl, HW_PART2_START_ADDR, p->mem2.start);
drivers/net/wireless/ti/wlcore/io.c
160
ret = wlcore_raw_write32(wl, HW_PART2_SIZE_ADDR, p->mem2.size);
drivers/net/wireless/ti/wlcore/io.c
175
ret = wlcore_raw_write32(wl, HW_PART3_START_ADDR, p->mem3.start);
drivers/net/wireless/ti/wlcore/io.c
179
ret = wlcore_raw_write32(wl, HW_PART3_SIZE_ADDR, p->mem3.size);
drivers/net/wireless/ti/wlcore/io.c
188
void wl1271_io_reset(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.c
190
if (wl->if_ops->reset)
drivers/net/wireless/ti/wlcore/io.c
191
wl->if_ops->reset(wl->dev);
drivers/net/wireless/ti/wlcore/io.c
194
void wl1271_io_init(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.c
196
if (wl->if_ops->init)
drivers/net/wireless/ti/wlcore/io.c
197
wl->if_ops->init(wl->dev);
drivers/net/wireless/ti/wlcore/io.c
21
bool wl1271_set_block_size(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.c
23
if (wl->if_ops->set_block_size) {
drivers/net/wireless/ti/wlcore/io.c
24
wl->if_ops->set_block_size(wl->dev, WL12XX_BUS_BLOCK_SIZE);
drivers/net/wireless/ti/wlcore/io.c
31
void wlcore_disable_interrupts(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.c
33
disable_irq(wl->irq);
drivers/net/wireless/ti/wlcore/io.c
37
void wlcore_disable_interrupts_nosync(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.c
39
disable_irq_nosync(wl->irq);
drivers/net/wireless/ti/wlcore/io.c
43
void wlcore_enable_interrupts(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.c
45
enable_irq(wl->irq);
drivers/net/wireless/ti/wlcore/io.c
49
void wlcore_synchronize_interrupts(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.c
51
synchronize_irq(wl->irq);
drivers/net/wireless/ti/wlcore/io.c
55
int wlcore_translate_addr(struct wl1271 *wl, int addr)
drivers/net/wireless/ti/wlcore/io.c
57
struct wlcore_partition_set *part = &wl->curr_part;
drivers/net/wireless/ti/wlcore/io.h
100
sizeof(*wl->buffer_32), false);
drivers/net/wireless/ti/wlcore/io.h
105
*val = le32_to_cpu(*wl->buffer_32);
drivers/net/wireless/ti/wlcore/io.h
110
static inline int __must_check wlcore_raw_write32(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wlcore/io.h
113
*wl->buffer_32 = cpu_to_le32(val);
drivers/net/wireless/ti/wlcore/io.h
114
return wlcore_raw_write(wl, addr, wl->buffer_32,
drivers/net/wireless/ti/wlcore/io.h
115
sizeof(*wl->buffer_32), false);
drivers/net/wireless/ti/wlcore/io.h
118
static inline int __must_check wlcore_read(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wlcore/io.h
123
physical = wlcore_translate_addr(wl, addr);
drivers/net/wireless/ti/wlcore/io.h
125
return wlcore_raw_read(wl, physical, buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
128
static inline int __must_check wlcore_write(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wlcore/io.h
133
physical = wlcore_translate_addr(wl, addr);
drivers/net/wireless/ti/wlcore/io.h
135
return wlcore_raw_write(wl, physical, buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
138
static inline int __must_check wlcore_write_data(struct wl1271 *wl, int reg,
drivers/net/wireless/ti/wlcore/io.h
142
return wlcore_write(wl, wl->rtable[reg], buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
145
static inline int __must_check wlcore_read_data(struct wl1271 *wl, int reg,
drivers/net/wireless/ti/wlcore/io.h
149
return wlcore_read(wl, wl->rtable[reg], buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
152
static inline int __must_check wlcore_read_hwaddr(struct wl1271 *wl, int hwaddr,
drivers/net/wireless/ti/wlcore/io.h
160
addr = wl->ops->convert_hwaddr(wl, hwaddr);
drivers/net/wireless/ti/wlcore/io.h
162
physical = wlcore_translate_addr(wl, addr);
drivers/net/wireless/ti/wlcore/io.h
164
return wlcore_raw_read(wl, physical, buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
167
static inline int __must_check wlcore_read32(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wlcore/io.h
170
return wlcore_raw_read32(wl, wlcore_translate_addr(wl, addr), val);
drivers/net/wireless/ti/wlcore/io.h
173
static inline int __must_check wlcore_write32(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wlcore/io.h
176
return wlcore_raw_write32(wl, wlcore_translate_addr(wl, addr), val);
drivers/net/wireless/ti/wlcore/io.h
179
static inline int __must_check wlcore_read_reg(struct wl1271 *wl, int reg,
drivers/net/wireless/ti/wlcore/io.h
182
return wlcore_raw_read32(wl,
drivers/net/wireless/ti/wlcore/io.h
183
wlcore_translate_addr(wl, wl->rtable[reg]),
drivers/net/wireless/ti/wlcore/io.h
187
static inline int __must_check wlcore_write_reg(struct wl1271 *wl, int reg,
drivers/net/wireless/ti/wlcore/io.h
190
return wlcore_raw_write32(wl,
drivers/net/wireless/ti/wlcore/io.h
191
wlcore_translate_addr(wl, wl->rtable[reg]),
drivers/net/wireless/ti/wlcore/io.h
195
static inline void wl1271_power_off(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.h
199
if (!test_bit(WL1271_FLAG_GPIO_POWER, &wl->flags))
drivers/net/wireless/ti/wlcore/io.h
202
if (wl->if_ops->power)
drivers/net/wireless/ti/wlcore/io.h
203
ret = wl->if_ops->power(wl->dev, false);
drivers/net/wireless/ti/wlcore/io.h
205
clear_bit(WL1271_FLAG_GPIO_POWER, &wl->flags);
drivers/net/wireless/ti/wlcore/io.h
208
static inline int wl1271_power_on(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/io.h
212
if (wl->if_ops->power)
drivers/net/wireless/ti/wlcore/io.h
213
ret = wl->if_ops->power(wl->dev, true);
drivers/net/wireless/ti/wlcore/io.h
215
set_bit(WL1271_FLAG_GPIO_POWER, &wl->flags);
drivers/net/wireless/ti/wlcore/io.h
220
int wlcore_set_partition(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/io.h
223
bool wl1271_set_block_size(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/io.h
227
int wl1271_tx_dummy_packet(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/io.h
34
void wlcore_disable_interrupts(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/io.h
35
void wlcore_disable_interrupts_nosync(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/io.h
36
void wlcore_enable_interrupts(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/io.h
37
void wlcore_synchronize_interrupts(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/io.h
39
void wl1271_io_reset(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/io.h
40
void wl1271_io_init(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/io.h
41
int wlcore_translate_addr(struct wl1271 *wl, int addr);
drivers/net/wireless/ti/wlcore/io.h
44
static inline int __must_check wlcore_raw_write(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wlcore/io.h
50
if (test_bit(WL1271_FLAG_IO_FAILED, &wl->flags) ||
drivers/net/wireless/ti/wlcore/io.h
51
WARN_ON((test_bit(WL1271_FLAG_IN_ELP, &wl->flags) &&
drivers/net/wireless/ti/wlcore/io.h
55
ret = wl->if_ops->write(wl->dev, addr, buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
56
if (ret && wl->state != WLCORE_STATE_OFF)
drivers/net/wireless/ti/wlcore/io.h
57
set_bit(WL1271_FLAG_IO_FAILED, &wl->flags);
drivers/net/wireless/ti/wlcore/io.h
62
static inline int __must_check wlcore_raw_read(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wlcore/io.h
68
if (test_bit(WL1271_FLAG_IO_FAILED, &wl->flags) ||
drivers/net/wireless/ti/wlcore/io.h
69
WARN_ON((test_bit(WL1271_FLAG_IN_ELP, &wl->flags) &&
drivers/net/wireless/ti/wlcore/io.h
73
ret = wl->if_ops->read(wl->dev, addr, buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
74
if (ret && wl->state != WLCORE_STATE_OFF)
drivers/net/wireless/ti/wlcore/io.h
75
set_bit(WL1271_FLAG_IO_FAILED, &wl->flags);
drivers/net/wireless/ti/wlcore/io.h
80
static inline int __must_check wlcore_raw_read_data(struct wl1271 *wl, int reg,
drivers/net/wireless/ti/wlcore/io.h
84
return wlcore_raw_read(wl, wl->rtable[reg], buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
87
static inline int __must_check wlcore_raw_write_data(struct wl1271 *wl, int reg,
drivers/net/wireless/ti/wlcore/io.h
91
return wlcore_raw_write(wl, wl->rtable[reg], buf, len, fixed);
drivers/net/wireless/ti/wlcore/io.h
94
static inline int __must_check wlcore_raw_read32(struct wl1271 *wl, int addr,
drivers/net/wireless/ti/wlcore/io.h
99
ret = wlcore_raw_read(wl, addr, wl->buffer_32,
drivers/net/wireless/ti/wlcore/main.c
1001
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1003
if (wl->state == WLCORE_STATE_OFF || wl->plt)
drivers/net/wireless/ti/wlcore/main.c
1006
error = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1009
wlcore_disable_interrupts_nosync(wl);
drivers/net/wireless/ti/wlcore/main.c
1011
if (!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags)) {
drivers/net/wireless/ti/wlcore/main.c
1012
if (wl->conf.fwlog.output == WL12XX_FWLOG_OUTPUT_HOST)
drivers/net/wireless/ti/wlcore/main.c
1013
wl12xx_read_fwlog_panic(wl);
drivers/net/wireless/ti/wlcore/main.c
1014
wlcore_print_recovery(wl);
drivers/net/wireless/ti/wlcore/main.c
1017
BUG_ON(wl->conf.recovery.bug_on_recovery &&
drivers/net/wireless/ti/wlcore/main.c
1018
!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags));
drivers/net/wireless/ti/wlcore/main.c
102
int wl1271_recalc_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
1020
clear_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
1022
if (wl->conf.recovery.no_recovery) {
drivers/net/wireless/ti/wlcore/main.c
1028
wlcore_stop_queues(wl, WLCORE_QUEUE_STOP_REASON_FW_RESTART);
drivers/net/wireless/ti/wlcore/main.c
1031
while (!list_empty(&wl->wlvif_list)) {
drivers/net/wireless/ti/wlcore/main.c
1032
wlvif = list_first_entry(&wl->wlvif_list,
drivers/net/wireless/ti/wlcore/main.c
1038
wlcore_save_freed_pkts_addr(wl, wlvif, wlvif->sta.hlid,
drivers/net/wireless/ti/wlcore/main.c
1042
__wl1271_op_remove_interface(wl, vif, false);
drivers/net/wireless/ti/wlcore/main.c
1045
wlcore_op_stop_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
1046
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1048
ieee80211_restart_hw(wl->hw);
drivers/net/wireless/ti/wlcore/main.c
105
int period = wl->conf.rx_streaming.interval;
drivers/net/wireless/ti/wlcore/main.c
1054
wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_FW_RESTART);
drivers/net/wireless/ti/wlcore/main.c
1057
wl->watchdog_recovery = false;
drivers/net/wireless/ti/wlcore/main.c
1058
clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
1059
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1062
static int wlcore_fw_wakeup(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
1064
return wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_WAKE_UP);
drivers/net/wireless/ti/wlcore/main.c
1067
static int wl1271_setup(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
1069
wl->raw_fw_status = kzalloc(wl->fw_status_len, GFP_KERNEL);
drivers/net/wireless/ti/wlcore/main.c
1070
if (!wl->raw_fw_status)
drivers/net/wireless/ti/wlcore/main.c
1073
wl->fw_status = kzalloc_obj(*wl->fw_status);
drivers/net/wireless/ti/wlcore/main.c
1074
if (!wl->fw_status)
drivers/net/wireless/ti/wlcore/main.c
1077
wl->tx_res_if = kzalloc_obj(*wl->tx_res_if);
drivers/net/wireless/ti/wlcore/main.c
1078
if (!wl->tx_res_if)
drivers/net/wireless/ti/wlcore/main.c
1083
kfree(wl->fw_status);
drivers/net/wireless/ti/wlcore/main.c
1084
kfree(wl->raw_fw_status);
drivers/net/wireless/ti/wlcore/main.c
1088
static int wl12xx_set_power_on(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
1093
ret = wl1271_power_on(wl);
drivers/net/wireless/ti/wlcore/main.c
1097
wl1271_io_reset(wl);
drivers/net/wireless/ti/wlcore/main.c
1098
wl1271_io_init(wl);
drivers/net/wireless/ti/wlcore/main.c
1100
ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]);
drivers/net/wireless/ti/wlcore/main.c
1105
ret = wlcore_fw_wakeup(wl);
drivers/net/wireless/ti/wlcore/main.c
1113
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/main.c
1117
static int wl12xx_chip_wakeup(struct wl1271 *wl, bool plt)
drivers/net/wireless/ti/wlcore/main.c
1121
ret = wl12xx_set_power_on(wl);
drivers/net/wireless/ti/wlcore/main.c
1136
if (!wl1271_set_block_size(wl))
drivers/net/wireless/ti/wlcore/main.c
1137
wl->quirks &= ~WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN;
drivers/net/wireless/ti/wlcore/main.c
114
(wl->conf.rx_streaming.always ||
drivers/net/wireless/ti/wlcore/main.c
1141
ret = wl1271_setup(wl);
drivers/net/wireless/ti/wlcore/main.c
1145
ret = wl12xx_fetch_firmware(wl, plt);
drivers/net/wireless/ti/wlcore/main.c
1147
kfree(wl->fw_status);
drivers/net/wireless/ti/wlcore/main.c
1148
kfree(wl->raw_fw_status);
drivers/net/wireless/ti/wlcore/main.c
1149
kfree(wl->tx_res_if);
drivers/net/wireless/ti/wlcore/main.c
115
test_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags)))
drivers/net/wireless/ti/wlcore/main.c
1156
int wl1271_plt_start(struct wl1271 *wl, const enum plt_mode plt_mode)
drivers/net/wireless/ti/wlcore/main.c
1159
struct wiphy *wiphy = wl->hw->wiphy;
drivers/net/wireless/ti/wlcore/main.c
116
ret = wl1271_set_rx_streaming(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
1170
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1174
if (wl->state != WLCORE_STATE_OFF) {
drivers/net/wireless/ti/wlcore/main.c
1176
"in off state: %d", wl->state);
drivers/net/wireless/ti/wlcore/main.c
118
ret = wl1271_set_rx_streaming(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/main.c
1182
wl->plt = true;
drivers/net/wireless/ti/wlcore/main.c
1183
wl->plt_mode = plt_mode;
drivers/net/wireless/ti/wlcore/main.c
1187
ret = wl12xx_chip_wakeup(wl, true);
drivers/net/wireless/ti/wlcore/main.c
1192
ret = wl->ops->plt_init(wl);
drivers/net/wireless/ti/wlcore/main.c
1197
wl->state = WLCORE_STATE_ON;
drivers/net/wireless/ti/wlcore/main.c
1200
wl->chip.fw_ver_str);
drivers/net/wireless/ti/wlcore/main.c
1203
wiphy->hw_version = wl->chip.id;
drivers/net/wireless/ti/wlcore/main.c
1204
strscpy(wiphy->fw_version, wl->chip.fw_ver_str,
drivers/net/wireless/ti/wlcore/main.c
1210
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/main.c
1213
wl->plt = false;
drivers/net/wireless/ti/wlcore/main.c
1214
wl->plt_mode = PLT_OFF;
drivers/net/wireless/ti/wlcore/main.c
1219
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1224
int wl1271_plt_stop(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
1235
wlcore_disable_interrupts(wl);
drivers/net/wireless/ti/wlcore/main.c
1236
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1237
if (!wl->plt) {
drivers/net/wireless/ti/wlcore/main.c
1238
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1245
wlcore_enable_interrupts(wl);
drivers/net/wireless/ti/wlcore/main.c
1248
"state: %d", wl->state);
drivers/net/wireless/ti/wlcore/main.c
1253
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1255
wl1271_flush_deferred_work(wl);
drivers/net/wireless/ti/wlcore/main.c
1256
cancel_work_sync(&wl->netstack_work);
drivers/net/wireless/ti/wlcore/main.c
1257
cancel_work_sync(&wl->recovery_work);
drivers/net/wireless/ti/wlcore/main.c
1258
cancel_delayed_work_sync(&wl->tx_watchdog_work);
drivers/net/wireless/ti/wlcore/main.c
1260
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1261
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/main.c
1262
wl->flags = 0;
drivers/net/wireless/ti/wlcore/main.c
1263
wl->sleep_auth = WL1271_PSM_ILLEGAL;
drivers/net/wireless/ti/wlcore/main.c
1264
wl->state = WLCORE_STATE_OFF;
drivers/net/wireless/ti/wlcore/main.c
1265
wl->plt = false;
drivers/net/wireless/ti/wlcore/main.c
1266
wl->plt_mode = PLT_OFF;
drivers/net/wireless/ti/wlcore/main.c
1267
wl->rx_counter = 0;
drivers/net/wireless/ti/wlcore/main.c
1268
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1278
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
1296
hlid = wl12xx_tx_get_hlid(wl, wlvif, skb, control->sta);
drivers/net/wireless/ti/wlcore/main.c
1298
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
1307
(wlcore_is_queue_stopped_locked(wl, wlvif, q) &&
drivers/net/wireless/ti/wlcore/main.c
1308
!wlcore_is_queue_stopped_by_reason_locked(wl, wlvif, q,
drivers/net/wireless/ti/wlcore/main.c
131
struct wl1271 *wl = wlvif->wl;
drivers/net/wireless/ti/wlcore/main.c
1317
skb_queue_tail(&wl->links[hlid].tx_queue[q], skb);
drivers/net/wireless/ti/wlcore/main.c
1319
wl->tx_queue_count[q]++;
drivers/net/wireless/ti/wlcore/main.c
1327
!wlcore_is_queue_stopped_by_reason_locked(wl, wlvif, q,
drivers/net/wireless/ti/wlcore/main.c
133
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1330
wlcore_stop_queue_locked(wl, wlvif, q,
drivers/net/wireless/ti/wlcore/main.c
1339
if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) &&
drivers/net/wireless/ti/wlcore/main.c
1340
!test_bit(WL1271_FLAG_TX_PENDING, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
1341
ieee80211_queue_work(wl->hw, &wl->tx_work);
drivers/net/wireless/ti/wlcore/main.c
1344
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
1347
int wl1271_tx_dummy_packet(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
1353
if (test_bit(WL1271_FLAG_DUMMY_PACKET_PENDING, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
1356
q = wl1271_tx_get_queue(skb_get_queue_mapping(wl->dummy_packet));
drivers/net/wireless/ti/wlcore/main.c
1358
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
1359
set_bit(WL1271_FLAG_DUMMY_PACKET_PENDING, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
1360
wl->tx_queue_count[q]++;
drivers/net/wireless/ti/wlcore/main.c
1361
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
1364
if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
1365
return wlcore_tx_work_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
137
(!wl->conf.rx_streaming.always &&
drivers/net/wireless/ti/wlcore/main.c
138
!test_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags)))
drivers/net/wireless/ti/wlcore/main.c
1381
static struct sk_buff *wl12xx_alloc_dummy_packet(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
141
if (!wl->conf.rx_streaming.interval)
drivers/net/wireless/ti/wlcore/main.c
144
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
148
ret = wl1271_set_rx_streaming(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
154
jiffies + msecs_to_jiffies(wl->conf.rx_streaming.duration));
drivers/net/wireless/ti/wlcore/main.c
157
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
159
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1623
static int wl1271_configure_wowlan(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
1629
ret = wl1271_acx_default_rx_filter_enable(wl, 0,
drivers/net/wireless/ti/wlcore/main.c
1634
ret = wl1271_rx_filter_clear_all(wl);
drivers/net/wireless/ti/wlcore/main.c
1653
ret = wl1271_acx_default_rx_filter_enable(wl, 0, FILTER_SIGNAL);
drivers/net/wireless/ti/wlcore/main.c
1657
ret = wl1271_rx_filter_clear_all(wl);
drivers/net/wireless/ti/wlcore/main.c
167
struct wl1271 *wl = wlvif->wl;
drivers/net/wireless/ti/wlcore/main.c
1675
ret = wl1271_rx_filter_enable(wl, i, 1, filter);
drivers/net/wireless/ti/wlcore/main.c
1682
ret = wl1271_acx_default_rx_filter_enable(wl, 1, FILTER_DROP);
drivers/net/wireless/ti/wlcore/main.c
1688
static int wl1271_configure_suspend_sta(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
169
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1697
ret = wl1271_configure_wowlan(wl, wow);
drivers/net/wireless/ti/wlcore/main.c
1701
if ((wl->conf.conn.suspend_wake_up_event ==
drivers/net/wireless/ti/wlcore/main.c
1702
wl->conf.conn.wake_up_event) &&
drivers/net/wireless/ti/wlcore/main.c
1703
(wl->conf.conn.suspend_listen_interval ==
drivers/net/wireless/ti/wlcore/main.c
1704
wl->conf.conn.listen_interval))
drivers/net/wireless/ti/wlcore/main.c
1707
ret = wl1271_acx_wake_up_conditions(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
1708
wl->conf.conn.suspend_wake_up_event,
drivers/net/wireless/ti/wlcore/main.c
1709
wl->conf.conn.suspend_listen_interval);
drivers/net/wireless/ti/wlcore/main.c
1718
static int wl1271_configure_suspend_ap(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
1727
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
1731
ret = wl1271_configure_wowlan(wl, wow);
drivers/net/wireless/ti/wlcore/main.c
174
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1740
static int wl1271_configure_suspend(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
1745
return wl1271_configure_suspend_sta(wl, wlvif, wow);
drivers/net/wireless/ti/wlcore/main.c
1747
return wl1271_configure_suspend_ap(wl, wlvif, wow);
drivers/net/wireless/ti/wlcore/main.c
1751
static void wl1271_configure_resume(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
1764
wl1271_configure_wowlan(wl, NULL);
drivers/net/wireless/ti/wlcore/main.c
1767
if ((wl->conf.conn.suspend_wake_up_event ==
drivers/net/wireless/ti/wlcore/main.c
1768
wl->conf.conn.wake_up_event) &&
drivers/net/wireless/ti/wlcore/main.c
1769
(wl->conf.conn.suspend_listen_interval ==
drivers/net/wireless/ti/wlcore/main.c
1770
wl->conf.conn.listen_interval))
drivers/net/wireless/ti/wlcore/main.c
1773
ret = wl1271_acx_wake_up_conditions(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
1774
wl->conf.conn.wake_up_event,
drivers/net/wireless/ti/wlcore/main.c
1775
wl->conf.conn.listen_interval);
drivers/net/wireless/ti/wlcore/main.c
178
ret = wl1271_set_rx_streaming(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/main.c
1782
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/main.c
1789
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
1798
if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) {
drivers/net/wireless/ti/wlcore/main.c
1803
wl1271_tx_flush(wl);
drivers/net/wireless/ti/wlcore/main.c
1805
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1807
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1809
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1813
wl->wow_enabled = true;
drivers/net/wireless/ti/wlcore/main.c
1814
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
1818
ret = wl1271_configure_suspend(wl, wlvif, wow);
drivers/net/wireless/ti/wlcore/main.c
1825
ret = wlcore_hw_interrupt_notify(wl, false);
drivers/net/wireless/ti/wlcore/main.c
183
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1830
ret = wlcore_hw_rx_ba_filter(wl,
drivers/net/wireless/ti/wlcore/main.c
1831
!!wl->conf.conn.suspend_rx_ba_activity);
drivers/net/wireless/ti/wlcore/main.c
1836
pm_runtime_put_noidle(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1837
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1847
flush_work(&wl->tx_work);
drivers/net/wireless/ti/wlcore/main.c
185
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1853
cancel_delayed_work(&wl->tx_watchdog_work);
drivers/net/wireless/ti/wlcore/main.c
1859
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
1860
set_bit(WL1271_FLAG_SUSPENDED, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
1861
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
1863
return pm_runtime_force_suspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1868
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
1875
wl->wow_enabled);
drivers/net/wireless/ti/wlcore/main.c
1876
WARN_ON(!wl->wow_enabled);
drivers/net/wireless/ti/wlcore/main.c
1878
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
1880
ret = pm_runtime_force_resume(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1890
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
1891
clear_bit(WL1271_FLAG_SUSPENDED, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
1892
if (test_and_clear_bit(WL1271_FLAG_PENDING_WORK, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
1894
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
1898
&wl->flags);
drivers/net/wireless/ti/wlcore/main.c
1906
ret = wlcore_irq_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
1908
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/main.c
1911
wlcore_enable_interrupts(wl);
drivers/net/wireless/ti/wlcore/main.c
1916
ieee80211_queue_work(wl->hw, &wl->recovery_work);
drivers/net/wireless/ti/wlcore/main.c
192
struct wl1271 *wl = wlvif->wl;
drivers/net/wireless/ti/wlcore/main.c
1920
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1924
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
1928
wl1271_configure_resume(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
193
ieee80211_queue_work(wl->hw, &wlvif->rx_streaming_disable_work);
drivers/net/wireless/ti/wlcore/main.c
1931
ret = wlcore_hw_interrupt_notify(wl, true);
drivers/net/wireless/ti/wlcore/main.c
1936
ret = wlcore_hw_rx_ba_filter(wl, false);
drivers/net/wireless/ti/wlcore/main.c
1941
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
1944
wl->wow_enabled = false;
drivers/net/wireless/ti/wlcore/main.c
1951
set_bit(WL1271_FLAG_REINIT_TX_WDOG, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
1952
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
197
void wl12xx_rearm_tx_watchdog_locked(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
1975
static void wlcore_op_stop_locked(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
1979
if (wl->state == WLCORE_STATE_OFF) {
drivers/net/wireless/ti/wlcore/main.c
1981
&wl->flags))
drivers/net/wireless/ti/wlcore/main.c
1982
wlcore_enable_interrupts(wl);
drivers/net/wireless/ti/wlcore/main.c
1991
wl->state = WLCORE_STATE_OFF;
drivers/net/wireless/ti/wlcore/main.c
1997
wlcore_disable_interrupts_nosync(wl);
drivers/net/wireless/ti/wlcore/main.c
1999
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
200
if (wl->tx_allocated_blocks == 0)
drivers/net/wireless/ti/wlcore/main.c
2001
wlcore_synchronize_interrupts(wl);
drivers/net/wireless/ti/wlcore/main.c
2002
if (!test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
2003
cancel_work_sync(&wl->recovery_work);
drivers/net/wireless/ti/wlcore/main.c
2004
wl1271_flush_deferred_work(wl);
drivers/net/wireless/ti/wlcore/main.c
2005
cancel_delayed_work_sync(&wl->scan_complete_work);
drivers/net/wireless/ti/wlcore/main.c
2006
cancel_work_sync(&wl->netstack_work);
drivers/net/wireless/ti/wlcore/main.c
2007
cancel_work_sync(&wl->tx_work);
drivers/net/wireless/ti/wlcore/main.c
2008
cancel_delayed_work_sync(&wl->tx_watchdog_work);
drivers/net/wireless/ti/wlcore/main.c
2011
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2012
wl12xx_tx_reset(wl);
drivers/net/wireless/ti/wlcore/main.c
2014
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/main.c
2020
if (test_and_clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
2021
wlcore_enable_interrupts(wl);
drivers/net/wireless/ti/wlcore/main.c
2023
wl->band = NL80211_BAND_2GHZ;
drivers/net/wireless/ti/wlcore/main.c
2025
wl->rx_counter = 0;
drivers/net/wireless/ti/wlcore/main.c
2026
wl->power_level = WL1271_DEFAULT_POWER_LEVEL;
drivers/net/wireless/ti/wlcore/main.c
2027
wl->channel_type = NL80211_CHAN_NO_HT;
drivers/net/wireless/ti/wlcore/main.c
2028
wl->tx_blocks_available = 0;
drivers/net/wireless/ti/wlcore/main.c
2029
wl->tx_allocated_blocks = 0;
drivers/net/wireless/ti/wlcore/main.c
203
cancel_delayed_work(&wl->tx_watchdog_work);
drivers/net/wireless/ti/wlcore/main.c
2030
wl->tx_results_count = 0;
drivers/net/wireless/ti/wlcore/main.c
2031
wl->tx_packets_count = 0;
drivers/net/wireless/ti/wlcore/main.c
2032
wl->time_offset = 0;
drivers/net/wireless/ti/wlcore/main.c
2033
wl->ap_fw_ps_map = 0;
drivers/net/wireless/ti/wlcore/main.c
2034
wl->ap_ps_map = 0;
drivers/net/wireless/ti/wlcore/main.c
2035
wl->sleep_auth = WL1271_PSM_ILLEGAL;
drivers/net/wireless/ti/wlcore/main.c
2036
memset(wl->roles_map, 0, sizeof(wl->roles_map));
drivers/net/wireless/ti/wlcore/main.c
2037
memset(wl->links_map, 0, sizeof(wl->links_map));
drivers/net/wireless/ti/wlcore/main.c
2038
memset(wl->roc_map, 0, sizeof(wl->roc_map));
drivers/net/wireless/ti/wlcore/main.c
2039
memset(wl->session_ids, 0, sizeof(wl->session_ids));
drivers/net/wireless/ti/wlcore/main.c
204
ieee80211_queue_delayed_work(wl->hw, &wl->tx_watchdog_work,
drivers/net/wireless/ti/wlcore/main.c
2040
memset(wl->rx_filter_enabled, 0, sizeof(wl->rx_filter_enabled));
drivers/net/wireless/ti/wlcore/main.c
2041
wl->active_sta_count = 0;
drivers/net/wireless/ti/wlcore/main.c
2042
wl->active_link_count = 0;
drivers/net/wireless/ti/wlcore/main.c
2045
wl->links[WL12XX_SYSTEM_HLID].allocated_pkts = 0;
drivers/net/wireless/ti/wlcore/main.c
2046
wl->links[WL12XX_SYSTEM_HLID].prev_freed_pkts = 0;
drivers/net/wireless/ti/wlcore/main.c
2047
__set_bit(WL12XX_SYSTEM_HLID, wl->links_map);
drivers/net/wireless/ti/wlcore/main.c
205
msecs_to_jiffies(wl->conf.tx.tx_watchdog_timeout));
drivers/net/wireless/ti/wlcore/main.c
2054
wl->flags = 0;
drivers/net/wireless/ti/wlcore/main.c
2056
wl->tx_blocks_freed = 0;
drivers/net/wireless/ti/wlcore/main.c
2059
wl->tx_pkts_freed[i] = 0;
drivers/net/wireless/ti/wlcore/main.c
2060
wl->tx_allocated_pkts[i] = 0;
drivers/net/wireless/ti/wlcore/main.c
2063
wl1271_debugfs_reset(wl);
drivers/net/wireless/ti/wlcore/main.c
2065
kfree(wl->raw_fw_status);
drivers/net/wireless/ti/wlcore/main.c
2066
wl->raw_fw_status = NULL;
drivers/net/wireless/ti/wlcore/main.c
2067
kfree(wl->fw_status);
drivers/net/wireless/ti/wlcore/main.c
2068
wl->fw_status = NULL;
drivers/net/wireless/ti/wlcore/main.c
2069
kfree(wl->tx_res_if);
drivers/net/wireless/ti/wlcore/main.c
2070
wl->tx_res_if = NULL;
drivers/net/wireless/ti/wlcore/main.c
2071
kfree(wl->target_mem_map);
drivers/net/wireless/ti/wlcore/main.c
2072
wl->target_mem_map = NULL;
drivers/net/wireless/ti/wlcore/main.c
2078
memcpy(wl->reg_ch_conf_pending, wl->reg_ch_conf_last,
drivers/net/wireless/ti/wlcore/main.c
2079
sizeof(wl->reg_ch_conf_pending));
drivers/net/wireless/ti/wlcore/main.c
2080
memset(wl->reg_ch_conf_last, 0, sizeof(wl->reg_ch_conf_last));
drivers/net/wireless/ti/wlcore/main.c
2085
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
2089
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2091
wlcore_op_stop_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
2093
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2099
struct wl1271 *wl;
drivers/net/wireless/ti/wlcore/main.c
2106
wl = wlvif->wl;
drivers/net/wireless/ti/wlcore/main.c
2110
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2112
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
2122
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2126
wl12xx_cmd_stop_channel_switch(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
2128
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
213
struct wl1271 *wl = wlvif->wl;
drivers/net/wireless/ti/wlcore/main.c
2130
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2136
struct wl1271 *wl;
drivers/net/wireless/ti/wlcore/main.c
2142
wl = wlvif->wl;
drivers/net/wireless/ti/wlcore/main.c
2146
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2148
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
2158
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
216
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2164
struct wl1271 *wl;
drivers/net/wireless/ti/wlcore/main.c
2172
wl = wlvif->wl;
drivers/net/wireless/ti/wlcore/main.c
2174
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2176
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
218
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
2190
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2195
wlcore_update_inconn_sta(wl, wlvif, NULL, false);
drivers/net/wireless/ti/wlcore/main.c
2197
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2199
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2202
static int wl12xx_allocate_rate_policy(struct wl1271 *wl, u8 *idx)
drivers/net/wireless/ti/wlcore/main.c
2204
u8 policy = find_first_zero_bit(wl->rate_policies_map,
drivers/net/wireless/ti/wlcore/main.c
2209
__set_bit(policy, wl->rate_policies_map);
drivers/net/wireless/ti/wlcore/main.c
221
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2214
static void wl12xx_free_rate_policy(struct wl1271 *wl, u8 *idx)
drivers/net/wireless/ti/wlcore/main.c
2219
__clear_bit(*idx, wl->rate_policies_map);
drivers/net/wireless/ti/wlcore/main.c
2223
static int wlcore_allocate_klv_template(struct wl1271 *wl, u8 *idx)
drivers/net/wireless/ti/wlcore/main.c
2225
u8 policy = find_first_zero_bit(wl->klv_templates_map,
drivers/net/wireless/ti/wlcore/main.c
2230
__set_bit(policy, wl->klv_templates_map);
drivers/net/wireless/ti/wlcore/main.c
2235
static void wlcore_free_klv_template(struct wl1271 *wl, u8 *idx)
drivers/net/wireless/ti/wlcore/main.c
2240
__clear_bit(*idx, wl->klv_templates_map);
drivers/net/wireless/ti/wlcore/main.c
2244
static u8 wl12xx_get_role_type(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
226
ret = wl1271_acx_set_ht_capabilities(wl, &wlvif->rc_ht_cap,
drivers/net/wireless/ti/wlcore/main.c
2272
static int wl12xx_init_vif_data(struct wl1271 *wl, struct ieee80211_vif *vif)
drivers/net/wireless/ti/wlcore/main.c
231
wlcore_hw_sta_rc_update(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
2311
wl12xx_allocate_rate_policy(wl, &wlvif->sta.basic_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2312
wl12xx_allocate_rate_policy(wl, &wlvif->sta.ap_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2313
wl12xx_allocate_rate_policy(wl, &wlvif->sta.p2p_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2314
wlcore_allocate_klv_template(wl, &wlvif->sta.klv_template_id);
drivers/net/wireless/ti/wlcore/main.c
2322
wl12xx_allocate_rate_policy(wl, &wlvif->ap.mgmt_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2323
wl12xx_allocate_rate_policy(wl, &wlvif->ap.bcast_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2325
wl12xx_allocate_rate_policy(wl,
drivers/net/wireless/ti/wlcore/main.c
2338
wlvif->bitrate_masks[NL80211_BAND_2GHZ] = wl->conf.tx.basic_rate;
drivers/net/wireless/ti/wlcore/main.c
2339
wlvif->bitrate_masks[NL80211_BAND_5GHZ] = wl->conf.tx.basic_rate_5;
drivers/net/wireless/ti/wlcore/main.c
2346
wlvif->band = wl->band;
drivers/net/wireless/ti/wlcore/main.c
2347
wlvif->channel = wl->channel;
drivers/net/wireless/ti/wlcore/main.c
2348
wlvif->power_level = wl->power_level;
drivers/net/wireless/ti/wlcore/main.c
2349
wlvif->channel_type = wl->channel_type;
drivers/net/wireless/ti/wlcore/main.c
235
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2368
static int wl12xx_init_fw(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
237
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2372
struct wiphy *wiphy = wl->hw->wiphy;
drivers/net/wireless/ti/wlcore/main.c
2377
ret = wl12xx_chip_wakeup(wl, false);
drivers/net/wireless/ti/wlcore/main.c
2381
ret = wl->ops->boot(wl);
drivers/net/wireless/ti/wlcore/main.c
2385
ret = wl1271_hw_init(wl);
drivers/net/wireless/ti/wlcore/main.c
2393
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2401
wlcore_disable_interrupts(wl);
drivers/net/wireless/ti/wlcore/main.c
2402
wl1271_flush_deferred_work(wl);
drivers/net/wireless/ti/wlcore/main.c
2403
cancel_work_sync(&wl->netstack_work);
drivers/net/wireless/ti/wlcore/main.c
2404
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2406
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/main.c
2415
wl1271_info("firmware booted (%s)", wl->chip.fw_ver_str);
drivers/net/wireless/ti/wlcore/main.c
2418
wiphy->hw_version = wl->chip.id;
drivers/net/wireless/ti/wlcore/main.c
2419
strscpy(wiphy->fw_version, wl->chip.fw_ver_str,
drivers/net/wireless/ti/wlcore/main.c
2424
if (wl->chip.fw_ver[FW_VER_MAJOR] < 1)
drivers/net/wireless/ti/wlcore/main.c
2425
wl->hw->wiphy->n_cipher_suites--;
drivers/net/wireless/ti/wlcore/main.c
243
struct wl1271 *wl;
drivers/net/wireless/ti/wlcore/main.c
2431
if (!wl->enable_11a)
drivers/net/wireless/ti/wlcore/main.c
2435
wl->enable_11a ? "" : "not ");
drivers/net/wireless/ti/wlcore/main.c
2437
wl->state = WLCORE_STATE_ON;
drivers/net/wireless/ti/wlcore/main.c
2454
static bool wl12xx_need_fw_change(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
2458
enum wl12xx_fw_type current_fw = wl->fw_type;
drivers/net/wireless/ti/wlcore/main.c
246
wl = container_of(dwork, struct wl1271, tx_watchdog_work);
drivers/net/wireless/ti/wlcore/main.c
2461
if (test_bit(WL1271_FLAG_VIF_CHANGE_IN_PROGRESS, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
2468
wl->last_vif_count = vif_count;
drivers/net/wireless/ti/wlcore/main.c
2471
if (wl->state == WLCORE_STATE_OFF)
drivers/net/wireless/ti/wlcore/main.c
2475
if (!wl->mr_fw_name)
drivers/net/wireless/ti/wlcore/main.c
248
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2490
static void wl12xx_force_active_psm(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
2494
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
2495
wl1271_ps_set_mode(wl, wlvif, STATION_POWER_SAVE_MODE);
drivers/net/wireless/ti/wlcore/main.c
250
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
2524
static int wlcore_allocate_hw_queue_base(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
2539
ieee80211_iterate_active_interfaces_atomic(wl->hw,
drivers/net/wireless/ti/wlcore/main.c
254
if (unlikely(wl->tx_allocated_blocks == 0))
drivers/net/wireless/ti/wlcore/main.c
2564
wl->queue_stop_reasons[wlvif->hw_queue_base + i] = 0;
drivers/net/wireless/ti/wlcore/main.c
2583
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
2589
if (wl->plt) {
drivers/net/wireless/ti/wlcore/main.c
2603
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
261
if (find_first_bit(wl->roc_map, WL12XX_MAX_ROLES) < WL12XX_MAX_ROLES) {
drivers/net/wireless/ti/wlcore/main.c
2610
if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags) ||
drivers/net/wireless/ti/wlcore/main.c
2617
ret = wl12xx_init_vif_data(wl, vif);
drivers/net/wireless/ti/wlcore/main.c
2621
wlvif->wl = wl;
drivers/net/wireless/ti/wlcore/main.c
2622
role_type = wl12xx_get_role_type(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
2628
ret = wlcore_allocate_hw_queue_base(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
263
wl->conf.tx.tx_watchdog_timeout);
drivers/net/wireless/ti/wlcore/main.c
2636
if (wl->state == WLCORE_STATE_OFF) {
drivers/net/wireless/ti/wlcore/main.c
264
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
2641
memcpy(wl->addresses[0].addr, vif->addr, ETH_ALEN);
drivers/net/wireless/ti/wlcore/main.c
2643
ret = wl12xx_init_fw(wl);
drivers/net/wireless/ti/wlcore/main.c
2652
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2656
if (wl12xx_need_fw_change(wl, vif_count, true)) {
drivers/net/wireless/ti/wlcore/main.c
2657
wl12xx_force_active_psm(wl);
drivers/net/wireless/ti/wlcore/main.c
2658
set_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
2659
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2660
wl1271_recovery_work(&wl->recovery_work);
drivers/net/wireless/ti/wlcore/main.c
2665
ret = wl12xx_cmd_role_enable(wl, vif->addr,
drivers/net/wireless/ti/wlcore/main.c
2670
ret = wl1271_init_vif_specific(wl, vif);
drivers/net/wireless/ti/wlcore/main.c
2675
ret = wl12xx_cmd_role_enable(wl, vif->addr, WL1271_ROLE_DEVICE,
drivers/net/wireless/ti/wlcore/main.c
2681
ret = wl1271_sta_hw_init(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
2686
list_add(&wlvif->list, &wl->wlvif_list);
drivers/net/wireless/ti/wlcore/main.c
2690
wl->ap_count++;
drivers/net/wireless/ti/wlcore/main.c
2692
wl->sta_count++;
drivers/net/wireless/ti/wlcore/main.c
2694
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2696
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2701
static void __wl1271_op_remove_interface(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
2715
if (wl->state == WLCORE_STATE_OFF)
drivers/net/wireless/ti/wlcore/main.c
272
if (wl->scan.state != WL1271_SCAN_STATE_IDLE) {
drivers/net/wireless/ti/wlcore/main.c
2720
if (wl->scan.state != WL1271_SCAN_STATE_IDLE &&
drivers/net/wireless/ti/wlcore/main.c
2721
wl->scan_wlvif == wlvif) {
drivers/net/wireless/ti/wlcore/main.c
2730
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
2732
wl->scan.state = WL1271_SCAN_STATE_IDLE;
drivers/net/wireless/ti/wlcore/main.c
2733
memset(wl->scan.scanned_ch, 0, sizeof(wl->scan.scanned_ch));
drivers/net/wireless/ti/wlcore/main.c
2734
wl->scan_wlvif = NULL;
drivers/net/wireless/ti/wlcore/main.c
2735
wl->scan.req = NULL;
drivers/net/wireless/ti/wlcore/main.c
2736
ieee80211_scan_completed(wl->hw, &info);
drivers/net/wireless/ti/wlcore/main.c
2739
if (wl->sched_vif == wlvif)
drivers/net/wireless/ti/wlcore/main.c
274
wl->conf.tx.tx_watchdog_timeout);
drivers/net/wireless/ti/wlcore/main.c
2740
wl->sched_vif = NULL;
drivers/net/wireless/ti/wlcore/main.c
2742
if (wl->roc_vif == vif) {
drivers/net/wireless/ti/wlcore/main.c
2743
wl->roc_vif = NULL;
drivers/net/wireless/ti/wlcore/main.c
2744
ieee80211_remain_on_channel_expired(wl->hw);
drivers/net/wireless/ti/wlcore/main.c
2747
if (!test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) {
drivers/net/wireless/ti/wlcore/main.c
2749
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
275
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
2756
wl12xx_stop_dev(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
2760
ret = wl12xx_cmd_role_disable(wl, &wlvif->role_id);
drivers/net/wireless/ti/wlcore/main.c
2762
pm_runtime_put_noidle(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2766
ret = wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id);
drivers/net/wireless/ti/wlcore/main.c
2768
pm_runtime_put_noidle(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2773
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
2776
wl12xx_tx_reset_wlvif(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
2784
wl12xx_free_rate_policy(wl, &wlvif->sta.basic_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2785
wl12xx_free_rate_policy(wl, &wlvif->sta.ap_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2786
wl12xx_free_rate_policy(wl, &wlvif->sta.p2p_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2787
wlcore_free_klv_template(wl, &wlvif->sta.klv_template_id);
drivers/net/wireless/ti/wlcore/main.c
2791
wl12xx_free_rate_policy(wl, &wlvif->ap.mgmt_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2792
wl12xx_free_rate_policy(wl, &wlvif->ap.bcast_rate_idx);
drivers/net/wireless/ti/wlcore/main.c
2794
wl12xx_free_rate_policy(wl,
drivers/net/wireless/ti/wlcore/main.c
2796
wl1271_free_ap_keys(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
2801
if (wl->last_wlvif == wlvif)
drivers/net/wireless/ti/wlcore/main.c
2802
wl->last_wlvif = NULL;
drivers/net/wireless/ti/wlcore/main.c
2809
wl->ap_count--;
drivers/net/wireless/ti/wlcore/main.c
2811
wl->sta_count--;
drivers/net/wireless/ti/wlcore/main.c
2817
if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags) &&
drivers/net/wireless/ti/wlcore/main.c
2818
!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
2821
if (wl->ap_count == 0 && is_ap) {
drivers/net/wireless/ti/wlcore/main.c
2823
wl->event_mask &= ~wl->ap_event_mask;
drivers/net/wireless/ti/wlcore/main.c
2824
wl1271_event_unmask(wl);
drivers/net/wireless/ti/wlcore/main.c
2827
if (wl->ap_count == 0 && is_ap && wl->sta_count) {
drivers/net/wireless/ti/wlcore/main.c
2828
u8 sta_auth = wl->conf.conn.sta_sleep_auth;
drivers/net/wireless/ti/wlcore/main.c
2831
wl1271_acx_sleep_auth(wl, sta_auth);
drivers/net/wireless/ti/wlcore/main.c
2834
wl1271_acx_sleep_auth(wl, WL1271_PSM_ELP);
drivers/net/wireless/ti/wlcore/main.c
2838
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2848
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
285
if (wl->active_sta_count) {
drivers/net/wireless/ti/wlcore/main.c
2854
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
2860
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
2862
if (wl->state == WLCORE_STATE_OFF ||
drivers/net/wireless/ti/wlcore/main.c
2870
wl12xx_for_each_wlvif(wl, iter) {
drivers/net/wireless/ti/wlcore/main.c
2874
__wl1271_op_remove_interface(wl, vif, true);
drivers/net/wireless/ti/wlcore/main.c
2878
if (wl12xx_need_fw_change(wl, vif_count, false)) {
drivers/net/wireless/ti/wlcore/main.c
2879
wl12xx_force_active_psm(wl);
drivers/net/wireless/ti/wlcore/main.c
288
wl->conf.tx.tx_watchdog_timeout,
drivers/net/wireless/ti/wlcore/main.c
2880
set_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
2881
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/main.c
2884
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
289
wl->active_sta_count);
drivers/net/wireless/ti/wlcore/main.c
2891
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
2894
set_bit(WL1271_FLAG_VIF_CHANGE_IN_PROGRESS, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
290
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
2901
clear_bit(WL1271_FLAG_VIF_CHANGE_IN_PROGRESS, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
2905
static int wlcore_join(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
2926
ret = wl12xx_cmd_role_start_ibss(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
2928
ret = wl12xx_cmd_role_start_sta(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
295
wl->conf.tx.tx_watchdog_timeout);
drivers/net/wireless/ti/wlcore/main.c
2956
static int wlcore_set_ssid(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
296
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/main.c
2966
skb = ieee80211_ap_probereq_get(wl->hw, vif);
drivers/net/wireless/ti/wlcore/main.c
2978
static int wlcore_set_assoc(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
299
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3000
ret = wl1271_cmd_build_ps_poll(wl, wlvif, wlvif->aid);
drivers/net/wireless/ti/wlcore/main.c
3008
wlvif->probereq = wl1271_cmd_build_ap_probe_req(wl,
drivers/net/wireless/ti/wlcore/main.c
3016
ret = wl1271_acx_conn_monit_params(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
302
static void wlcore_adjust_conf(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
3026
ret = wl1271_acx_keep_alive_mode(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
3030
ret = wl1271_acx_aid(wl, wlvif, wlvif->aid);
drivers/net/wireless/ti/wlcore/main.c
3034
ret = wl12xx_cmd_build_klv_null_data(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
3038
ret = wl1271_acx_keep_alive_config(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
3048
ret = wl1271_ps_set_mode(wl, wlvif, STATION_ACTIVE_MODE);
drivers/net/wireless/ti/wlcore/main.c
3054
wl1271_tx_enabled_rates_get(wl,
drivers/net/wireless/ti/wlcore/main.c
3057
ret = wl1271_acx_sta_rate_policies(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
3065
static int wlcore_unset_assoc(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
307
wl->conf.fwlog.mode = WL12XX_FWLOG_CONTINUOUS;
drivers/net/wireless/ti/wlcore/main.c
308
wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_HOST;
drivers/net/wireless/ti/wlcore/main.c
3089
ret = wl1271_acx_conn_monit_params(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/main.c
3094
ret = wl1271_acx_keep_alive_mode(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/main.c
3099
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/main.c
310
wl->conf.fwlog.mode = WL12XX_FWLOG_CONTINUOUS;
drivers/net/wireless/ti/wlcore/main.c
3107
wl12xx_cmd_stop_channel_switch(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
311
wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_DBG_PINS;
drivers/net/wireless/ti/wlcore/main.c
3113
wl1271_acx_keep_alive_config(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
3120
static void wl1271_set_band_rate(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
3126
static void wl1271_sta_handle_idle(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
313
wl->conf.fwlog.mem_blocks = 0;
drivers/net/wireless/ti/wlcore/main.c
3138
if (wl->sched_vif == wlvif)
drivers/net/wireless/ti/wlcore/main.c
3139
wl->ops->sched_scan_stop(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
314
wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_NONE;
drivers/net/wireless/ti/wlcore/main.c
3145
static int wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
3154
ret = wl1271_acx_tx_power(wl, wlvif, conf->power_level);
drivers/net/wireless/ti/wlcore/main.c
3166
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
3178
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3181
wl->power_level = conf->power_level;
drivers/net/wireless/ti/wlcore/main.c
3183
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
3186
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3191
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
3192
ret = wl12xx_config_vif(wl, wlvif, conf, changed);
drivers/net/wireless/ti/wlcore/main.c
3198
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3201
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
321
wl->conf.recovery.bug_on_recovery = (u8) bug_on_recovery;
drivers/net/wireless/ti/wlcore/main.c
324
wl->conf.recovery.no_recovery = (u8) no_recovery;
drivers/net/wireless/ti/wlcore/main.c
3251
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
3259
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3264
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
3267
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
327
static void wl12xx_irq_ps_regulate_link(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
3271
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
3277
ret = wl1271_acx_group_address_tbl(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
3281
ret = wl1271_acx_group_address_tbl(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
3296
ret = wl1271_acx_group_address_tbl(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
3312
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3315
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3319
static int wl1271_record_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
333
fw_ps = test_bit(hlid, &wl->ap_fw_ps_map);
drivers/net/wireless/ti/wlcore/main.c
3366
static void wl1271_free_ap_keys(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
3376
static int wl1271_ap_init_hwenc(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
3392
ret = wl1271_cmd_set_ap_key(wl, wlvif, KEY_ADD_OR_REPLACE,
drivers/net/wireless/ti/wlcore/main.c
340
wl12xx_ps_link_end(wl, wlvif, hlid);
drivers/net/wireless/ti/wlcore/main.c
3405
ret = wl12xx_cmd_set_default_wep_key(wl, wlvif->default_key,
drivers/net/wireless/ti/wlcore/main.c
3412
wl1271_free_ap_keys(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
3416
static int wl1271_set_key(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
3444
ret = wl1271_record_ap_key(wl, wlvif, id,
drivers/net/wireless/ti/wlcore/main.c
3449
ret = wl1271_cmd_set_ap_key(wl, wlvif, action,
drivers/net/wireless/ti/wlcore/main.c
3482
ret = wl1271_cmd_set_sta_key(wl, wlvif, action,
drivers/net/wireless/ti/wlcore/main.c
3499
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
351
else if (wl->active_link_count > (wl->ap_count*2 + 1) && fw_ps &&
drivers/net/wireless/ti/wlcore/main.c
3510
wlcore_stop_queues(wl, WLCORE_QUEUE_STOP_REASON_SPARE_BLK);
drivers/net/wireless/ti/wlcore/main.c
3511
wl1271_tx_flush(wl);
drivers/net/wireless/ti/wlcore/main.c
3514
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3516
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
3521
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3525
ret = wlcore_hw_set_key(wl, cmd, vif, sta, key_conf);
drivers/net/wireless/ti/wlcore/main.c
3527
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
353
wl12xx_ps_link_start(wl, wlvif, hlid, true);
drivers/net/wireless/ti/wlcore/main.c
3531
wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_SPARE_BLK);
drivers/net/wireless/ti/wlcore/main.c
3533
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3538
int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
drivers/net/wireless/ti/wlcore/main.c
356
static void wl12xx_irq_update_links_status(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
3570
u64 tx_seq = wl->links[hlid].total_freed_pkts;
drivers/net/wireless/ti/wlcore/main.c
3606
ret = wl1271_set_key(wl, wlvif, KEY_ADD_OR_REPLACE,
drivers/net/wireless/ti/wlcore/main.c
3627
ret = wl1271_cmd_build_arp_rsp(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
3636
ret = wl1271_set_key(wl, wlvif, KEY_REMOVE,
drivers/net/wireless/ti/wlcore/main.c
364
if (wl->ap_fw_ps_map != cur_fw_ps_map) {
drivers/net/wireless/ti/wlcore/main.c
3659
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
367
wl->ap_fw_ps_map, cur_fw_ps_map,
drivers/net/wireless/ti/wlcore/main.c
3670
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3672
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
3677
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
368
wl->ap_fw_ps_map ^ cur_fw_ps_map);
drivers/net/wireless/ti/wlcore/main.c
3685
ret = wl12xx_cmd_set_default_wep_key(wl,
drivers/net/wireless/ti/wlcore/main.c
3693
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3696
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3699
void wlcore_regdomain_config(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
370
wl->ap_fw_ps_map = cur_fw_ps_map;
drivers/net/wireless/ti/wlcore/main.c
3703
if (!(wl->quirks & WLCORE_QUIRK_REGDOMAIN_CONF))
drivers/net/wireless/ti/wlcore/main.c
3706
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3708
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
3711
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3715
ret = wlcore_cmd_regdomain_config_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
3717
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/main.c
3721
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3723
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
373
for_each_set_bit(hlid, wlvif->ap.sta_hlid_map, wl->num_links)
drivers/net/wireless/ti/wlcore/main.c
3731
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
374
wl12xx_irq_ps_regulate_link(wl, wlvif, hlid,
drivers/net/wireless/ti/wlcore/main.c
3743
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3745
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
375
wl->links[hlid].allocated_pkts);
drivers/net/wireless/ti/wlcore/main.c
3755
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3760
if (find_first_bit(wl->roc_map, WL12XX_MAX_ROLES) < WL12XX_MAX_ROLES) {
drivers/net/wireless/ti/wlcore/main.c
3768
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3770
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3778
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
378
static int wlcore_fw_status(struct wl1271 *wl, struct wl_fw_status *status)
drivers/net/wireless/ti/wlcore/main.c
3787
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3789
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
3792
if (wl->scan.state == WL1271_SCAN_STATE_IDLE)
drivers/net/wireless/ti/wlcore/main.c
3795
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3799
if (wl->scan.state != WL1271_SCAN_STATE_DONE) {
drivers/net/wireless/ti/wlcore/main.c
3800
ret = wl->ops->scan_stop(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
3809
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
3811
wl->scan.state = WL1271_SCAN_STATE_IDLE;
drivers/net/wireless/ti/wlcore/main.c
3812
memset(wl->scan.scanned_ch, 0, sizeof(wl->scan.scanned_ch));
drivers/net/wireless/ti/wlcore/main.c
3813
wl->scan_wlvif = NULL;
drivers/net/wireless/ti/wlcore/main.c
3814
wl->scan.req = NULL;
drivers/net/wireless/ti/wlcore/main.c
3815
ieee80211_scan_completed(wl->hw, &info);
drivers/net/wireless/ti/wlcore/main.c
3818
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3820
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3822
cancel_delayed_work_sync(&wl->scan_complete_work);
drivers/net/wireless/ti/wlcore/main.c
383
u32 old_tx_blk_count = wl->tx_blocks_available;
drivers/net/wireless/ti/wlcore/main.c
3830
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
3836
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3838
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
3843
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3847
ret = wl->ops->sched_scan_start(wl, wlvif, req, ies);
drivers/net/wireless/ti/wlcore/main.c
3851
wl->sched_vif = wlvif;
drivers/net/wireless/ti/wlcore/main.c
3854
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3856
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3863
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
3869
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3871
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
3874
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3878
wl->ops->sched_scan_stop(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
3880
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3882
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
389
ret = wlcore_raw_read_data(wl, REG_RAW_FW_STATUS_ADDR,
drivers/net/wireless/ti/wlcore/main.c
3890
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
3893
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3895
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
390
wl->raw_fw_status,
drivers/net/wireless/ti/wlcore/main.c
3900
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3904
ret = wl1271_acx_frag_threshold(wl, value);
drivers/net/wireless/ti/wlcore/main.c
3908
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
391
wl->fw_status_len, false);
drivers/net/wireless/ti/wlcore/main.c
3911
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3919
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
3923
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
3925
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
3930
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3934
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
3935
ret = wl1271_acx_rts_threshold(wl, wlvif, value);
drivers/net/wireless/ti/wlcore/main.c
3939
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
3942
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
395
wlcore_hw_convert_fw_status(wl, wl->raw_fw_status, status);
drivers/net/wireless/ti/wlcore/main.c
3978
static int wl1271_ap_set_probe_resp_tmpl(struct wl1271 *wl, u32 rates,
drivers/net/wireless/ti/wlcore/main.c
3985
skb = ieee80211_proberesp_get(wl->hw, vif);
drivers/net/wireless/ti/wlcore/main.c
3989
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/main.c
40
static void __wl1271_op_remove_interface(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
4006
static int wl1271_ap_set_probe_resp_tmpl_legacy(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
4019
return wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/main.c
4056
return wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/main.c
406
wl->tx_allocated_pkts[i] -=
drivers/net/wireless/ti/wlcore/main.c
4063
static int wl1271_bss_erp_info_changed(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
4073
ret = wl1271_acx_slot(wl, wlvif, SLOT_TIME_SHORT);
drivers/net/wireless/ti/wlcore/main.c
4075
ret = wl1271_acx_slot(wl, wlvif, SLOT_TIME_LONG);
drivers/net/wireless/ti/wlcore/main.c
408
wl->tx_pkts_freed[i]) & 0xff;
drivers/net/wireless/ti/wlcore/main.c
4084
wl1271_acx_set_preamble(wl, wlvif, ACX_PREAMBLE_SHORT);
drivers/net/wireless/ti/wlcore/main.c
4086
wl1271_acx_set_preamble(wl, wlvif, ACX_PREAMBLE_LONG);
drivers/net/wireless/ti/wlcore/main.c
4091
ret = wl1271_acx_cts_protect(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
4094
ret = wl1271_acx_cts_protect(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
410
wl->tx_pkts_freed[i] = status->counters.tx_released_pkts[i];
drivers/net/wireless/ti/wlcore/main.c
4106
static int wlcore_set_beacon_template(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
4115
struct sk_buff *beacon = ieee80211_beacon_get(wl->hw, vif, 0);
drivers/net/wireless/ti/wlcore/main.c
4130
min_rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
drivers/net/wireless/ti/wlcore/main.c
4133
ret = wl1271_cmd_template_set(wl, wlvif->role_id, tmpl_id,
drivers/net/wireless/ti/wlcore/main.c
415
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
4173
ret = wl1271_ap_set_probe_resp_tmpl_legacy(wl, vif,
drivers/net/wireless/ti/wlcore/main.c
4178
ret = wl1271_cmd_template_set(wl, wlvif->role_id,
drivers/net/wireless/ti/wlcore/main.c
4192
static int wl1271_bss_beacon_info_changed(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
4209
u32 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
drivers/net/wireless/ti/wlcore/main.c
4211
wl1271_ap_set_probe_resp_tmpl(wl, rate, vif);
drivers/net/wireless/ti/wlcore/main.c
4215
ret = wlcore_set_beacon_template(wl, vif, is_ap);
drivers/net/wireless/ti/wlcore/main.c
4221
ret = wlcore_hw_dfs_master_restart(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4233
static void wl1271_bss_info_changed_ap(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
4244
wlvif->basic_rate_set = wl1271_tx_enabled_rates_get(wl, rates,
drivers/net/wireless/ti/wlcore/main.c
4246
wlvif->basic_rate = wl1271_tx_min_rate_get(wl,
drivers/net/wireless/ti/wlcore/main.c
4249
ret = wl1271_init_ap_rates(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
425
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
4255
ret = wl1271_ap_init_templates(wl, vif);
drivers/net/wireless/ti/wlcore/main.c
4261
ret = wl1271_ap_set_probe_resp_tmpl(wl,
drivers/net/wireless/ti/wlcore/main.c
4268
ret = wlcore_set_beacon_template(wl, vif, true);
drivers/net/wireless/ti/wlcore/main.c
4273
ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, changed);
drivers/net/wireless/ti/wlcore/main.c
4280
ret = wl12xx_cmd_role_start_ap(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4284
ret = wl1271_ap_init_hwenc(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4297
if (test_bit(wlvif->role_id, wl->roc_map))
drivers/net/wireless/ti/wlcore/main.c
4298
wl12xx_croc(wl, wlvif->role_id);
drivers/net/wireless/ti/wlcore/main.c
43
static void wlcore_op_stop_locked(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/main.c
4300
ret = wl12xx_cmd_role_stop_ap(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4312
ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed);
drivers/net/wireless/ti/wlcore/main.c
4319
ret = wl1271_acx_set_ht_information(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
4331
static int wlcore_set_bssid(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
434
for_each_set_bit(i, wl->links_map, wl->num_links) {
drivers/net/wireless/ti/wlcore/main.c
4347
wl1271_tx_enabled_rates_get(wl, rates,
drivers/net/wireless/ti/wlcore/main.c
4350
wl1271_tx_min_rate_get(wl,
drivers/net/wireless/ti/wlcore/main.c
4355
wl1271_tx_enabled_rates_get(wl,
drivers/net/wireless/ti/wlcore/main.c
4360
if (wl->sched_vif == wlvif)
drivers/net/wireless/ti/wlcore/main.c
4361
wl->ops->sched_scan_stop(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4363
ret = wl1271_acx_sta_rate_policies(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4367
ret = wl12xx_cmd_build_null_data(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4371
ret = wl1271_build_qos_null_data(wl, wl12xx_wlvif_to_vif(wlvif));
drivers/net/wireless/ti/wlcore/main.c
4375
wlcore_set_ssid(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
438
lnk = &wl->links[i];
drivers/net/wireless/ti/wlcore/main.c
4382
static int wlcore_clear_bssid(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
4387
wl1271_set_band_rate(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4388
wlvif->basic_rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
drivers/net/wireless/ti/wlcore/main.c
4390
ret = wl1271_acx_sta_rate_policies(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4396
ret = wl12xx_cmd_role_stop_sta(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
44
static void wl1271_free_ap_keys(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/main.c
4405
static void wl1271_bss_info_changed_sta(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
4421
ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf,
drivers/net/wireless/ti/wlcore/main.c
4432
wlcore_unset_assoc(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4433
wl12xx_cmd_role_stop_sta(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4452
wl1271_sta_handle_idle(wl, wlvif, vif->cfg.idle);
drivers/net/wireless/ti/wlcore/main.c
4458
ret = wl1271_acx_rssi_snr_trigger(wl, wlvif, enable,
drivers/net/wireless/ti/wlcore/main.c
4488
ret = wlcore_set_bssid(wl, wlvif, vif,
drivers/net/wireless/ti/wlcore/main.c
4496
ret = wlcore_clear_bssid(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4509
wl1271_tx_enabled_rates_get(wl, rates,
drivers/net/wireless/ti/wlcore/main.c
4512
wl1271_tx_min_rate_get(wl,
drivers/net/wireless/ti/wlcore/main.c
4517
ret = wl1271_acx_sta_rate_policies(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4525
ret = wl1271_acx_beacon_filter_opt(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
4530
ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed);
drivers/net/wireless/ti/wlcore/main.c
4535
ret = wlcore_join(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4544
ret = wlcore_set_assoc(wl, wlvif, bss_conf,
drivers/net/wireless/ti/wlcore/main.c
4550
wl12xx_set_authorized(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4552
wlcore_unset_assoc(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4563
if (wl->conf.conn.forced_ps) {
drivers/net/wireless/ti/wlcore/main.c
4573
ret = wl1271_ps_set_mode(wl, wlvif, ps_mode);
drivers/net/wireless/ti/wlcore/main.c
4581
ret = wl1271_ps_set_mode(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
4593
ret = wlcore_hw_set_peer_cap(wl,
drivers/net/wireless/ti/wlcore/main.c
46
static int wl12xx_set_authorized(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/main.c
4605
ret = wl1271_acx_set_ht_information(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
4630
ret = wl1271_cmd_build_arp_rsp(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4636
ret = wl1271_acx_arp_ip_filter(wl, wlvif,
drivers/net/wireless/ti/wlcore/main.c
4642
ret = wl1271_acx_arp_ip_filter(wl, wlvif, 0, addr);
drivers/net/wireless/ti/wlcore/main.c
4658
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
4675
wl1271_tx_flush(wl);
drivers/net/wireless/ti/wlcore/main.c
4677
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4679
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
4685
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4692
ret = wl1271_acx_tx_power(wl, wlvif, bss_conf->txpower);
drivers/net/wireless/ti/wlcore/main.c
4700
wl1271_bss_info_changed_ap(wl, vif, bss_conf, changed);
drivers/net/wireless/ti/wlcore/main.c
4702
wl1271_bss_info_changed_sta(wl, vif, bss_conf, changed);
drivers/net/wireless/ti/wlcore/main.c
4704
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4707
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4731
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
4741
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4743
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4747
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
4763
wlcore_hw_set_cac(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
4768
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4770
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4778
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
4790
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4792
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
4798
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4807
wl1271_set_band_rate(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
4812
wlcore_hw_set_cac(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
4816
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4818
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4828
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
4838
wl1271_tx_flush(wl);
drivers/net/wireless/ti/wlcore/main.c
4840
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4842
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
4848
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4854
wlcore_hw_set_cac(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/main.c
4858
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4860
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4863
static int __wlcore_switch_vif_chan(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
4882
wlcore_hw_set_cac(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/main.c
4893
wlcore_hw_set_cac(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/main.c
4906
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
4913
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4915
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4922
ret = __wlcore_switch_vif_chan(wl, wlvif, vifs[i].new_ctx);
drivers/net/wireless/ti/wlcore/main.c
4927
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4929
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4939
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
4947
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4959
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4967
ret = wl1271_acx_ac_cfg(wl, wlvif, wl1271_tx_get_queue(queue),
drivers/net/wireless/ti/wlcore/main.c
4973
ret = wl1271_acx_tid_cfg(wl, wlvif, wl1271_tx_get_queue(queue),
drivers/net/wireless/ti/wlcore/main.c
4980
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
4983
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
4992
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
4999
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5001
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
5004
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5008
ret = wl12xx_acx_tsf_info(wl, wlvif, &mactime);
drivers/net/wireless/ti/wlcore/main.c
5013
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5016
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5033
static int wl1271_allocate_sta(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
5041
if (wl->active_sta_count >= wl->max_ap_stations) {
drivers/net/wireless/ti/wlcore/main.c
5047
ret = wl12xx_allocate_link(wl, wlvif, &wl_sta->hlid);
drivers/net/wireless/ti/wlcore/main.c
5054
wl->links[wl_sta->hlid].total_freed_pkts = wl_sta->total_freed_pkts;
drivers/net/wireless/ti/wlcore/main.c
5057
memcpy(wl->links[wl_sta->hlid].addr, sta->addr, ETH_ALEN);
drivers/net/wireless/ti/wlcore/main.c
5058
wl->active_sta_count++;
drivers/net/wireless/ti/wlcore/main.c
5062
void wl1271_free_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid)
drivers/net/wireless/ti/wlcore/main.c
5068
__clear_bit(hlid, &wl->ap_ps_map);
drivers/net/wireless/ti/wlcore/main.c
5069
__clear_bit(hlid, &wl->ap_fw_ps_map);
drivers/net/wireless/ti/wlcore/main.c
5075
wlcore_save_freed_pkts_addr(wl, wlvif, hlid, wl->links[hlid].addr);
drivers/net/wireless/ti/wlcore/main.c
5077
wl12xx_free_link(wl, wlvif, &hlid);
drivers/net/wireless/ti/wlcore/main.c
5078
wl->active_sta_count--;
drivers/net/wireless/ti/wlcore/main.c
5084
if (wl->active_sta_count == 0)
drivers/net/wireless/ti/wlcore/main.c
5085
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
5088
static int wl12xx_sta_add(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
5098
ret = wl1271_allocate_sta(wl, wlvif, sta);
drivers/net/wireless/ti/wlcore/main.c
510
if (likely(wl->tx_blocks_freed <= status->total_released_blks))
drivers/net/wireless/ti/wlcore/main.c
5105
ret = wl12xx_cmd_add_peer(wl, wlvif, sta, hlid);
drivers/net/wireless/ti/wlcore/main.c
5107
wl1271_free_sta(wl, wlvif, hlid);
drivers/net/wireless/ti/wlcore/main.c
5112
static int wl12xx_sta_remove(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
512
wl->tx_blocks_freed;
drivers/net/wireless/ti/wlcore/main.c
5126
ret = wl12xx_cmd_remove_peer(wl, wlvif, wl_sta->hlid);
drivers/net/wireless/ti/wlcore/main.c
5130
wl1271_free_sta(wl, wlvif, wl_sta->hlid);
drivers/net/wireless/ti/wlcore/main.c
5134
static void wlcore_roc_if_possible(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
5137
if (find_first_bit(wl->roc_map,
drivers/net/wireless/ti/wlcore/main.c
514
freed_blocks = 0x100000000LL - wl->tx_blocks_freed +
drivers/net/wireless/ti/wlcore/main.c
5144
wl12xx_roc(wl, wlvif, wlvif->role_id, wlvif->band, wlvif->channel);
drivers/net/wireless/ti/wlcore/main.c
5153
void wlcore_update_inconn_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
5162
wlcore_roc_if_possible(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
517
wl->tx_blocks_freed = status->total_released_blks;
drivers/net/wireless/ti/wlcore/main.c
5188
test_bit(wlvif->role_id, wl->roc_map))
drivers/net/wireless/ti/wlcore/main.c
5189
wl12xx_croc(wl, wlvif->role_id);
drivers/net/wireless/ti/wlcore/main.c
519
wl->tx_allocated_blocks -= freed_blocks;
drivers/net/wireless/ti/wlcore/main.c
5193
static int wl12xx_update_sta_state(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
5210
ret = wl12xx_sta_add(wl, wlvif, sta);
drivers/net/wireless/ti/wlcore/main.c
5216
wlcore_update_inconn_sta(wl, wlvif, wl_sta, true);
drivers/net/wireless/ti/wlcore/main.c
5226
wl12xx_sta_remove(wl, wlvif, sta);
drivers/net/wireless/ti/wlcore/main.c
5228
wlcore_update_inconn_sta(wl, wlvif, wl_sta, false);
drivers/net/wireless/ti/wlcore/main.c
5234
ret = wl12xx_cmd_set_peer_state(wl, wlvif, wl_sta->hlid);
drivers/net/wireless/ti/wlcore/main.c
5238
ret = wl1271_acx_set_ht_capabilities(wl, &sta->deflink.ht_cap,
drivers/net/wireless/ti/wlcore/main.c
5244
wlcore_update_inconn_sta(wl, wlvif, wl_sta, false);
drivers/net/wireless/ti/wlcore/main.c
5251
ret = wl12xx_set_authorized(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
5267
wlcore_save_freed_pkts(wl, wlvif, wlvif->sta.hlid, sta);
drivers/net/wireless/ti/wlcore/main.c
527
if (wl->tx_allocated_blocks)
drivers/net/wireless/ti/wlcore/main.c
528
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
5282
if (test_bit(wlvif->role_id, wl->roc_map))
drivers/net/wireless/ti/wlcore/main.c
5283
wl12xx_croc(wl, wlvif->role_id);
drivers/net/wireless/ti/wlcore/main.c
5289
if (find_first_bit(wl->roc_map,
drivers/net/wireless/ti/wlcore/main.c
5292
wl12xx_roc(wl, wlvif, wlvif->role_id,
drivers/net/wireless/ti/wlcore/main.c
530
cancel_delayed_work(&wl->tx_watchdog_work);
drivers/net/wireless/ti/wlcore/main.c
5305
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5312
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5314
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
5319
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5323
ret = wl12xx_update_sta_state(wl, wlvif, sta, old_state, new_state);
drivers/net/wireless/ti/wlcore/main.c
5325
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5327
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
533
avail = status->tx_total - wl->tx_allocated_blocks;
drivers/net/wireless/ti/wlcore/main.c
5337
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5353
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5355
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
5372
ba_bitmap = &wl->links[hlid].ba_bitmap;
drivers/net/wireless/ti/wlcore/main.c
5374
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5388
if (wl->ba_rx_session_count >= wl->ba_rx_session_count_max) {
drivers/net/wireless/ti/wlcore/main.c
5401
ret = wl12xx_acx_set_ba_receiver_session(wl, tid, *ssn, true,
drivers/net/wireless/ti/wlcore/main.c
5407
wl->ba_rx_session_count++;
drivers/net/wireless/ti/wlcore/main.c
5424
ret = wl12xx_acx_set_ba_receiver_session(wl, tid, 0, false,
drivers/net/wireless/ti/wlcore/main.c
5428
wl->ba_rx_session_count--;
drivers/net/wireless/ti/wlcore/main.c
543
wl->tx_blocks_available = max((int)wl->tx_blocks_available,
drivers/net/wireless/ti/wlcore/main.c
5449
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5452
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5462
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5469
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
547
if (wl->tx_blocks_available > old_tx_blk_count)
drivers/net/wireless/ti/wlcore/main.c
5473
wl1271_tx_enabled_rates_get(wl,
drivers/net/wireless/ti/wlcore/main.c
5477
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
548
clear_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
5483
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5487
wl1271_set_band_rate(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
5489
wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set);
drivers/net/wireless/ti/wlcore/main.c
5490
ret = wl1271_acx_sta_rate_policies(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
5492
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5495
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5504
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
551
wl12xx_for_each_wlvif_ap(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
5510
wl1271_tx_flush(wl);
drivers/net/wireless/ti/wlcore/main.c
5512
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5514
if (unlikely(wl->state == WLCORE_STATE_OFF)) {
drivers/net/wireless/ti/wlcore/main.c
5518
} else if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
552
wl12xx_irq_update_links_status(wl, wlvif, status);
drivers/net/wireless/ti/wlcore/main.c
5522
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5531
ret = wl->ops->channel_switch(wl, wlvif, ch_switch);
drivers/net/wireless/ti/wlcore/main.c
5546
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5549
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5552
static const void *wlcore_get_beacon_ie(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
5558
ieee80211_beacon_get(wl->hw, wl12xx_wlvif_to_vif(wlvif), 0);
drivers/net/wireless/ti/wlcore/main.c
556
wl->time_offset = (ktime_get_boottime_ns() >> 10) -
drivers/net/wireless/ti/wlcore/main.c
5568
static int wlcore_get_csa_count(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
5574
ie = wlcore_get_beacon_ie(wl, wlvif, WLAN_EID_CHANNEL_SWITCH);
drivers/net/wireless/ti/wlcore/main.c
5588
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
559
wl->fw_fast_lnk_map = status->link_fast_bitmap;
drivers/net/wireless/ti/wlcore/main.c
5600
ret = wlcore_get_csa_count(wl, wlvif, &ch_switch.count);
drivers/net/wireless/ti/wlcore/main.c
5606
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5608
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
5613
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5617
ret = wl->ops->channel_switch(wl, wlvif, &ch_switch);
drivers/net/wireless/ti/wlcore/main.c
5624
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5626
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5632
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5634
wl1271_tx_flush(wl);
drivers/net/wireless/ti/wlcore/main.c
564
static void wl1271_flush_deferred_work(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
5644
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5652
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5654
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
5658
active_roc = find_first_bit(wl->roc_map, WL12XX_MAX_ROLES);
drivers/net/wireless/ti/wlcore/main.c
5659
if (wl->roc_vif || active_roc < WL12XX_MAX_ROLES) {
drivers/net/wireless/ti/wlcore/main.c
5665
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5669
ret = wl12xx_start_dev(wl, wlvif, chan->band, channel);
drivers/net/wireless/ti/wlcore/main.c
5673
wl->roc_vif = vif;
drivers/net/wireless/ti/wlcore/main.c
5674
ieee80211_queue_delayed_work(hw, &wl->roc_complete_work,
drivers/net/wireless/ti/wlcore/main.c
5677
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5679
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5683
static int __wlcore_roc_completed(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
5689
if (unlikely(!wl->roc_vif))
drivers/net/wireless/ti/wlcore/main.c
569
while ((skb = skb_dequeue(&wl->deferred_rx_queue)))
drivers/net/wireless/ti/wlcore/main.c
5692
wlvif = wl12xx_vif_to_data(wl->roc_vif);
drivers/net/wireless/ti/wlcore/main.c
5697
ret = wl12xx_stop_dev(wl, wlvif);
drivers/net/wireless/ti/wlcore/main.c
570
ieee80211_rx_ni(wl->hw, skb);
drivers/net/wireless/ti/wlcore/main.c
5701
wl->roc_vif = NULL;
drivers/net/wireless/ti/wlcore/main.c
5706
static int wlcore_roc_completed(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
5712
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5714
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/main.c
5719
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5723
ret = __wlcore_roc_completed(wl);
drivers/net/wireless/ti/wlcore/main.c
5725
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5727
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
573
while ((skb = skb_dequeue(&wl->deferred_tx_queue)))
drivers/net/wireless/ti/wlcore/main.c
5735
struct wl1271 *wl;
drivers/net/wireless/ti/wlcore/main.c
5739
wl = container_of(dwork, struct wl1271, roc_complete_work);
drivers/net/wireless/ti/wlcore/main.c
574
ieee80211_tx_status_ni(wl->hw, skb);
drivers/net/wireless/ti/wlcore/main.c
5741
ret = wlcore_roc_completed(wl);
drivers/net/wireless/ti/wlcore/main.c
5743
ieee80211_remain_on_channel_expired(wl->hw);
drivers/net/wireless/ti/wlcore/main.c
5749
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5754
wl1271_tx_flush(wl);
drivers/net/wireless/ti/wlcore/main.c
5760
cancel_delayed_work_sync(&wl->roc_complete_work);
drivers/net/wireless/ti/wlcore/main.c
5761
wlcore_roc_completed(wl);
drivers/net/wireless/ti/wlcore/main.c
579
struct wl1271 *wl =
drivers/net/wireless/ti/wlcore/main.c
5791
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5798
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5800
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
5803
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5807
ret = wlcore_acx_average_rssi(wl, wlvif, &rssi_dbm);
drivers/net/wireless/ti/wlcore/main.c
5815
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
5818
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5825
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5829
return (wl->links[hlid].fw_rate_mbps * 1000);
drivers/net/wireless/ti/wlcore/main.c
583
wl1271_flush_deferred_work(wl);
drivers/net/wireless/ti/wlcore/main.c
5834
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
5837
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
5839
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
584
} while (skb_queue_len(&wl->deferred_rx_queue));
drivers/net/wireless/ti/wlcore/main.c
5843
ret = (wl1271_tx_total_queue_count(wl) > 0) || (wl->tx_frames_cnt > 0);
drivers/net/wireless/ti/wlcore/main.c
5845
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
589
static int wlcore_irq_locked(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
59
ret = wl12xx_cmd_set_peer_state(wl, wlvif, wlvif->sta.hlid);
drivers/net/wireless/ti/wlcore/main.c
603
if (wl->irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))
drivers/net/wireless/ti/wlcore/main.c
6038
u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum nl80211_band band)
drivers/net/wireless/ti/wlcore/main.c
6044
if (unlikely(rate >= wl->hw_tx_rate_tbl_size)) {
drivers/net/wireless/ti/wlcore/main.c
6049
idx = wl->band_rate_to_idx[band][rate];
drivers/net/wireless/ti/wlcore/main.c
6058
static void wl12xx_derive_mac_addresses(struct wl1271 *wl, u32 oui, u32 nic)
drivers/net/wireless/ti/wlcore/main.c
6065
if (nic + WLCORE_NUM_MAC_ADDRESSES - wl->num_mac_addr > 0xffffff)
drivers/net/wireless/ti/wlcore/main.c
6068
for (i = 0; i < wl->num_mac_addr; i++) {
drivers/net/wireless/ti/wlcore/main.c
6069
wl->addresses[i].addr[0] = (u8)(oui >> 16);
drivers/net/wireless/ti/wlcore/main.c
6070
wl->addresses[i].addr[1] = (u8)(oui >> 8);
drivers/net/wireless/ti/wlcore/main.c
6071
wl->addresses[i].addr[2] = (u8) oui;
drivers/net/wireless/ti/wlcore/main.c
6072
wl->addresses[i].addr[3] = (u8)(nic >> 16);
drivers/net/wireless/ti/wlcore/main.c
6073
wl->addresses[i].addr[4] = (u8)(nic >> 8);
drivers/net/wireless/ti/wlcore/main.c
6074
wl->addresses[i].addr[5] = (u8) nic;
drivers/net/wireless/ti/wlcore/main.c
6079
WARN_ON(wl->num_mac_addr + 1 < WLCORE_NUM_MAC_ADDRESSES);
drivers/net/wireless/ti/wlcore/main.c
608
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/main.c
6085
if (wl->num_mac_addr < WLCORE_NUM_MAC_ADDRESSES) {
drivers/net/wireless/ti/wlcore/main.c
6087
memcpy(&wl->addresses[idx], &wl->addresses[0],
drivers/net/wireless/ti/wlcore/main.c
6088
sizeof(wl->addresses[0]));
drivers/net/wireless/ti/wlcore/main.c
6090
wl->addresses[idx].addr[0] |= BIT(1);
drivers/net/wireless/ti/wlcore/main.c
6093
wl->hw->wiphy->n_addresses = WLCORE_NUM_MAC_ADDRESSES;
drivers/net/wireless/ti/wlcore/main.c
6094
wl->hw->wiphy->addresses = wl->addresses;
drivers/net/wireless/ti/wlcore/main.c
6097
static int wl12xx_get_hw_info(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
6101
ret = wlcore_read_reg(wl, REG_CHIP_ID_B, &wl->chip.id);
drivers/net/wireless/ti/wlcore/main.c
6105
wl->fuse_oui_addr = 0;
drivers/net/wireless/ti/wlcore/main.c
6106
wl->fuse_nic_addr = 0;
drivers/net/wireless/ti/wlcore/main.c
6108
ret = wl->ops->get_pg_ver(wl, &wl->hw_pg_ver);
drivers/net/wireless/ti/wlcore/main.c
611
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6112
if (wl->ops->get_mac)
drivers/net/wireless/ti/wlcore/main.c
6113
ret = wl->ops->get_mac(wl);
drivers/net/wireless/ti/wlcore/main.c
6119
static int wl1271_register_hw(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
6123
struct platform_device *pdev = wl->pdev;
drivers/net/wireless/ti/wlcore/main.c
6126
if (wl->mac80211_registered)
drivers/net/wireless/ti/wlcore/main.c
6129
if (wl->nvs_len >= 12) {
drivers/net/wireless/ti/wlcore/main.c
6134
u8 *nvs_ptr = (u8 *)wl->nvs;
drivers/net/wireless/ti/wlcore/main.c
6144
oui_addr = wl->fuse_oui_addr;
drivers/net/wireless/ti/wlcore/main.c
6146
nic_addr = wl->fuse_nic_addr + 1;
drivers/net/wireless/ti/wlcore/main.c
6158
if (wl->fuse_oui_addr == 0 && wl->fuse_nic_addr == 0) {
drivers/net/wireless/ti/wlcore/main.c
6164
oui_addr = wl->fuse_oui_addr;
drivers/net/wireless/ti/wlcore/main.c
6166
nic_addr = wl->fuse_nic_addr + 1;
drivers/net/wireless/ti/wlcore/main.c
6170
wl12xx_derive_mac_addresses(wl, oui_addr, nic_addr);
drivers/net/wireless/ti/wlcore/main.c
6172
ret = ieee80211_register_hw(wl->hw);
drivers/net/wireless/ti/wlcore/main.c
6178
wl->mac80211_registered = true;
drivers/net/wireless/ti/wlcore/main.c
618
ret = wlcore_fw_status(wl, wl->fw_status);
drivers/net/wireless/ti/wlcore/main.c
6180
wl1271_debugfs_init(wl);
drivers/net/wireless/ti/wlcore/main.c
6188
static void wl1271_unregister_hw(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
6190
if (wl->plt)
drivers/net/wireless/ti/wlcore/main.c
6191
wl1271_plt_stop(wl);
drivers/net/wireless/ti/wlcore/main.c
6193
ieee80211_unregister_hw(wl->hw);
drivers/net/wireless/ti/wlcore/main.c
6194
wl->mac80211_registered = false;
drivers/net/wireless/ti/wlcore/main.c
6198
static int wl1271_init_ieee80211(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
6211
wl->hw->extra_tx_headroom = sizeof(struct wl1271_tx_hw_descr);
drivers/net/wireless/ti/wlcore/main.c
6213
if (wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE)
drivers/net/wireless/ti/wlcore/main.c
6214
wl->hw->extra_tx_headroom += WL1271_EXTRA_SPACE_TKIP;
drivers/net/wireless/ti/wlcore/main.c
6218
wl->hw->max_listen_interval = wl->conf.conn.max_listen_interval;
drivers/net/wireless/ti/wlcore/main.c
622
wlcore_hw_tx_immediate_compl(wl);
drivers/net/wireless/ti/wlcore/main.c
6220
ieee80211_hw_set(wl->hw, SUPPORT_FAST_XMIT);
drivers/net/wireless/ti/wlcore/main.c
6221
ieee80211_hw_set(wl->hw, CHANCTX_STA_CSA);
drivers/net/wireless/ti/wlcore/main.c
6222
ieee80211_hw_set(wl->hw, SUPPORTS_PER_STA_GTK);
drivers/net/wireless/ti/wlcore/main.c
6223
ieee80211_hw_set(wl->hw, QUEUE_CONTROL);
drivers/net/wireless/ti/wlcore/main.c
6224
ieee80211_hw_set(wl->hw, TX_AMPDU_SETUP_IN_HW);
drivers/net/wireless/ti/wlcore/main.c
6225
ieee80211_hw_set(wl->hw, AMPDU_AGGREGATION);
drivers/net/wireless/ti/wlcore/main.c
6226
ieee80211_hw_set(wl->hw, AP_LINK_PS);
drivers/net/wireless/ti/wlcore/main.c
6227
ieee80211_hw_set(wl->hw, SPECTRUM_MGMT);
drivers/net/wireless/ti/wlcore/main.c
6228
ieee80211_hw_set(wl->hw, REPORTS_TX_ACK_STATUS);
drivers/net/wireless/ti/wlcore/main.c
6229
ieee80211_hw_set(wl->hw, CONNECTION_MONITOR);
drivers/net/wireless/ti/wlcore/main.c
6230
ieee80211_hw_set(wl->hw, HAS_RATE_CONTROL);
drivers/net/wireless/ti/wlcore/main.c
6231
ieee80211_hw_set(wl->hw, SUPPORTS_DYNAMIC_PS);
drivers/net/wireless/ti/wlcore/main.c
6232
ieee80211_hw_set(wl->hw, SIGNAL_DBM);
drivers/net/wireless/ti/wlcore/main.c
6233
ieee80211_hw_set(wl->hw, SUPPORTS_PS);
drivers/net/wireless/ti/wlcore/main.c
6234
ieee80211_hw_set(wl->hw, SUPPORTS_TX_FRAG);
drivers/net/wireless/ti/wlcore/main.c
6236
wl->hw->wiphy->cipher_suites = cipher_suites;
drivers/net/wireless/ti/wlcore/main.c
6237
wl->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
drivers/net/wireless/ti/wlcore/main.c
6239
wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
drivers/net/wireless/ti/wlcore/main.c
624
intr = wl->fw_status->intr;
drivers/net/wireless/ti/wlcore/main.c
6248
wl->hw->wiphy->max_scan_ssids = 1;
drivers/net/wireless/ti/wlcore/main.c
6249
wl->hw->wiphy->max_sched_scan_ssids = 16;
drivers/net/wireless/ti/wlcore/main.c
6250
wl->hw->wiphy->max_match_sets = 16;
drivers/net/wireless/ti/wlcore/main.c
6256
wl->hw->wiphy->max_scan_ie_len = WL1271_CMD_TEMPL_MAX_SIZE -
drivers/net/wireless/ti/wlcore/main.c
6259
wl->hw->wiphy->max_sched_scan_reqs = 1;
drivers/net/wireless/ti/wlcore/main.c
6260
wl->hw->wiphy->max_sched_scan_ie_len = WL1271_CMD_TEMPL_MAX_SIZE -
drivers/net/wireless/ti/wlcore/main.c
6263
wl->hw->wiphy->max_remain_on_channel_duration = 30000;
drivers/net/wireless/ti/wlcore/main.c
6265
wl->hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD |
drivers/net/wireless/ti/wlcore/main.c
6270
wl->hw->wiphy->features |= NL80211_FEATURE_AP_SCAN;
drivers/net/wireless/ti/wlcore/main.c
6296
memcpy(&wl->bands[NL80211_BAND_2GHZ], &wl1271_band_2ghz,
drivers/net/wireless/ti/wlcore/main.c
6298
memcpy(&wl->bands[NL80211_BAND_2GHZ].ht_cap,
drivers/net/wireless/ti/wlcore/main.c
6299
&wl->ht_cap[NL80211_BAND_2GHZ],
drivers/net/wireless/ti/wlcore/main.c
6300
sizeof(*wl->ht_cap));
drivers/net/wireless/ti/wlcore/main.c
6301
memcpy(&wl->bands[NL80211_BAND_5GHZ], &wl1271_band_5ghz,
drivers/net/wireless/ti/wlcore/main.c
6303
memcpy(&wl->bands[NL80211_BAND_5GHZ].ht_cap,
drivers/net/wireless/ti/wlcore/main.c
6304
&wl->ht_cap[NL80211_BAND_5GHZ],
drivers/net/wireless/ti/wlcore/main.c
6305
sizeof(*wl->ht_cap));
drivers/net/wireless/ti/wlcore/main.c
6307
wl->hw->wiphy->bands[NL80211_BAND_2GHZ] =
drivers/net/wireless/ti/wlcore/main.c
6308
&wl->bands[NL80211_BAND_2GHZ];
drivers/net/wireless/ti/wlcore/main.c
6309
wl->hw->wiphy->bands[NL80211_BAND_5GHZ] =
drivers/net/wireless/ti/wlcore/main.c
6310
&wl->bands[NL80211_BAND_5GHZ];
drivers/net/wireless/ti/wlcore/main.c
6316
wl->hw->queues = (NUM_TX_QUEUES + 1) * WLCORE_NUM_MAC_ADDRESSES + 1;
drivers/net/wireless/ti/wlcore/main.c
6319
wl->hw->offchannel_tx_hw_queue = wl->hw->queues - 1;
drivers/net/wireless/ti/wlcore/main.c
6320
wl->hw->max_rates = 1;
drivers/net/wireless/ti/wlcore/main.c
6322
wl->hw->wiphy->reg_notifier = wl1271_reg_notify;
drivers/net/wireless/ti/wlcore/main.c
6325
wl->hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD;
drivers/net/wireless/ti/wlcore/main.c
6326
wl->hw->wiphy->probe_resp_offload =
drivers/net/wireless/ti/wlcore/main.c
633
wl->watchdog_recovery = true;
drivers/net/wireless/ti/wlcore/main.c
6332
wl->hw->wiphy->iface_combinations = wl->iface_combinations;
drivers/net/wireless/ti/wlcore/main.c
6333
wl->hw->wiphy->n_iface_combinations = wl->n_iface_combinations;
drivers/net/wireless/ti/wlcore/main.c
6336
wlcore_set_vendor_commands(wl->hw->wiphy);
drivers/net/wireless/ti/wlcore/main.c
6338
SET_IEEE80211_DEV(wl->hw, wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6340
wl->hw->sta_data_size = sizeof(struct wl1271_station);
drivers/net/wireless/ti/wlcore/main.c
6341
wl->hw->vif_data_size = sizeof(struct wl12xx_vif);
drivers/net/wireless/ti/wlcore/main.c
6343
wl->hw->max_rx_aggregation_subframes = wl->conf.ht.rx_ba_win_size;
drivers/net/wireless/ti/wlcore/main.c
6352
struct wl1271 *wl;
drivers/net/wireless/ti/wlcore/main.c
6356
hw = ieee80211_alloc_hw(sizeof(*wl), &wl1271_ops);
drivers/net/wireless/ti/wlcore/main.c
6363
wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
6364
memset(wl, 0, sizeof(*wl));
drivers/net/wireless/ti/wlcore/main.c
6366
wl->priv = kzalloc(priv_size, GFP_KERNEL);
drivers/net/wireless/ti/wlcore/main.c
6367
if (!wl->priv) {
drivers/net/wireless/ti/wlcore/main.c
6373
INIT_LIST_HEAD(&wl->wlvif_list);
drivers/net/wireless/ti/wlcore/main.c
6375
wl->hw = hw;
drivers/net/wireless/ti/wlcore/main.c
6383
skb_queue_head_init(&wl->links[j].tx_queue[i]);
drivers/net/wireless/ti/wlcore/main.c
6385
skb_queue_head_init(&wl->deferred_rx_queue);
drivers/net/wireless/ti/wlcore/main.c
6386
skb_queue_head_init(&wl->deferred_tx_queue);
drivers/net/wireless/ti/wlcore/main.c
6388
INIT_WORK(&wl->netstack_work, wl1271_netstack_work);
drivers/net/wireless/ti/wlcore/main.c
6389
INIT_WORK(&wl->tx_work, wl1271_tx_work);
drivers/net/wireless/ti/wlcore/main.c
6390
INIT_WORK(&wl->recovery_work, wl1271_recovery_work);
drivers/net/wireless/ti/wlcore/main.c
6391
INIT_DELAYED_WORK(&wl->scan_complete_work, wl1271_scan_complete_work);
drivers/net/wireless/ti/wlcore/main.c
6392
INIT_DELAYED_WORK(&wl->roc_complete_work, wlcore_roc_complete_work);
drivers/net/wireless/ti/wlcore/main.c
6393
INIT_DELAYED_WORK(&wl->tx_watchdog_work, wl12xx_tx_watchdog_work);
drivers/net/wireless/ti/wlcore/main.c
6395
wl->freezable_wq = create_freezable_workqueue("wl12xx_wq");
drivers/net/wireless/ti/wlcore/main.c
6396
if (!wl->freezable_wq) {
drivers/net/wireless/ti/wlcore/main.c
6401
wl->channel = 0;
drivers/net/wireless/ti/wlcore/main.c
6402
wl->rx_counter = 0;
drivers/net/wireless/ti/wlcore/main.c
6403
wl->power_level = WL1271_DEFAULT_POWER_LEVEL;
drivers/net/wireless/ti/wlcore/main.c
6404
wl->band = NL80211_BAND_2GHZ;
drivers/net/wireless/ti/wlcore/main.c
6405
wl->channel_type = NL80211_CHAN_NO_HT;
drivers/net/wireless/ti/wlcore/main.c
6406
wl->flags = 0;
drivers/net/wireless/ti/wlcore/main.c
6407
wl->sg_enabled = true;
drivers/net/wireless/ti/wlcore/main.c
6408
wl->sleep_auth = WL1271_PSM_ILLEGAL;
drivers/net/wireless/ti/wlcore/main.c
6409
wl->recovery_count = 0;
drivers/net/wireless/ti/wlcore/main.c
6410
wl->hw_pg_ver = -1;
drivers/net/wireless/ti/wlcore/main.c
6411
wl->ap_ps_map = 0;
drivers/net/wireless/ti/wlcore/main.c
6412
wl->ap_fw_ps_map = 0;
drivers/net/wireless/ti/wlcore/main.c
6413
wl->quirks = 0;
drivers/net/wireless/ti/wlcore/main.c
6414
wl->system_hlid = WL12XX_SYSTEM_HLID;
drivers/net/wireless/ti/wlcore/main.c
6415
wl->active_sta_count = 0;
drivers/net/wireless/ti/wlcore/main.c
6416
wl->active_link_count = 0;
drivers/net/wireless/ti/wlcore/main.c
6417
wl->fwlog_size = 0;
drivers/net/wireless/ti/wlcore/main.c
6420
__set_bit(WL12XX_SYSTEM_HLID, wl->links_map);
drivers/net/wireless/ti/wlcore/main.c
6422
memset(wl->tx_frames_map, 0, sizeof(wl->tx_frames_map));
drivers/net/wireless/ti/wlcore/main.c
6423
for (i = 0; i < wl->num_tx_desc; i++)
drivers/net/wireless/ti/wlcore/main.c
6424
wl->tx_frames[i] = NULL;
drivers/net/wireless/ti/wlcore/main.c
6426
spin_lock_init(&wl->wl_lock);
drivers/net/wireless/ti/wlcore/main.c
6428
wl->state = WLCORE_STATE_OFF;
drivers/net/wireless/ti/wlcore/main.c
6429
wl->fw_type = WL12XX_FW_TYPE_NONE;
drivers/net/wireless/ti/wlcore/main.c
643
wl->watchdog_recovery = true;
drivers/net/wireless/ti/wlcore/main.c
6430
mutex_init(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
6431
mutex_init(&wl->flush_mutex);
drivers/net/wireless/ti/wlcore/main.c
6432
init_completion(&wl->nvs_loading_complete);
drivers/net/wireless/ti/wlcore/main.c
6435
wl->aggr_buf = (u8 *)__get_free_pages(GFP_KERNEL, order);
drivers/net/wireless/ti/wlcore/main.c
6436
if (!wl->aggr_buf) {
drivers/net/wireless/ti/wlcore/main.c
6440
wl->aggr_buf_size = aggr_buf_size;
drivers/net/wireless/ti/wlcore/main.c
6442
wl->dummy_packet = wl12xx_alloc_dummy_packet(wl);
drivers/net/wireless/ti/wlcore/main.c
6443
if (!wl->dummy_packet) {
drivers/net/wireless/ti/wlcore/main.c
6449
wl->fwlog = (u8 *)get_zeroed_page(GFP_KERNEL);
drivers/net/wireless/ti/wlcore/main.c
6450
if (!wl->fwlog) {
drivers/net/wireless/ti/wlcore/main.c
6455
wl->mbox_size = mbox_size;
drivers/net/wireless/ti/wlcore/main.c
6456
wl->mbox = kmalloc(wl->mbox_size, GFP_KERNEL | GFP_DMA);
drivers/net/wireless/ti/wlcore/main.c
6457
if (!wl->mbox) {
drivers/net/wireless/ti/wlcore/main.c
6462
wl->buffer_32 = kmalloc_obj(*wl->buffer_32);
drivers/net/wireless/ti/wlcore/main.c
6463
if (!wl->buffer_32) {
drivers/net/wireless/ti/wlcore/main.c
6471
kfree(wl->mbox);
drivers/net/wireless/ti/wlcore/main.c
6474
free_page((unsigned long)wl->fwlog);
drivers/net/wireless/ti/wlcore/main.c
6477
dev_kfree_skb(wl->dummy_packet);
drivers/net/wireless/ti/wlcore/main.c
6480
free_pages((unsigned long)wl->aggr_buf, order);
drivers/net/wireless/ti/wlcore/main.c
6483
destroy_workqueue(wl->freezable_wq);
drivers/net/wireless/ti/wlcore/main.c
6486
wl1271_debugfs_exit(wl);
drivers/net/wireless/ti/wlcore/main.c
6487
kfree(wl->priv);
drivers/net/wireless/ti/wlcore/main.c
6498
int wlcore_free_hw(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
6501
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
6502
wl->fwlog_size = -1;
drivers/net/wireless/ti/wlcore/main.c
6503
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
6505
wlcore_sysfs_free(wl);
drivers/net/wireless/ti/wlcore/main.c
6507
kfree(wl->buffer_32);
drivers/net/wireless/ti/wlcore/main.c
6508
kfree(wl->mbox);
drivers/net/wireless/ti/wlcore/main.c
6509
free_page((unsigned long)wl->fwlog);
drivers/net/wireless/ti/wlcore/main.c
6510
dev_kfree_skb(wl->dummy_packet);
drivers/net/wireless/ti/wlcore/main.c
6511
free_pages((unsigned long)wl->aggr_buf, get_order(wl->aggr_buf_size));
drivers/net/wireless/ti/wlcore/main.c
6513
wl1271_debugfs_exit(wl);
drivers/net/wireless/ti/wlcore/main.c
6515
vfree(wl->fw);
drivers/net/wireless/ti/wlcore/main.c
6516
wl->fw = NULL;
drivers/net/wireless/ti/wlcore/main.c
6517
wl->fw_type = WL12XX_FW_TYPE_NONE;
drivers/net/wireless/ti/wlcore/main.c
6518
kfree(wl->nvs);
drivers/net/wireless/ti/wlcore/main.c
6519
wl->nvs = NULL;
drivers/net/wireless/ti/wlcore/main.c
6521
kfree(wl->raw_fw_status);
drivers/net/wireless/ti/wlcore/main.c
6522
kfree(wl->fw_status);
drivers/net/wireless/ti/wlcore/main.c
6523
kfree(wl->tx_res_if);
drivers/net/wireless/ti/wlcore/main.c
6524
destroy_workqueue(wl->freezable_wq);
drivers/net/wireless/ti/wlcore/main.c
6526
kfree(wl->priv);
drivers/net/wireless/ti/wlcore/main.c
6527
ieee80211_free_hw(wl->hw);
drivers/net/wireless/ti/wlcore/main.c
653
ret = wlcore_rx(wl, wl->fw_status);
drivers/net/wireless/ti/wlcore/main.c
6549
struct wl1271 *wl = context;
drivers/net/wireless/ti/wlcore/main.c
6550
struct platform_device *pdev = wl->pdev;
drivers/net/wireless/ti/wlcore/main.c
6558
wl->nvs = kmemdup(fw->data, fw->size, GFP_KERNEL);
drivers/net/wireless/ti/wlcore/main.c
6559
if (!wl->nvs) {
drivers/net/wireless/ti/wlcore/main.c
6563
wl->nvs_len = fw->size;
drivers/net/wireless/ti/wlcore/main.c
6567
wl->nvs = NULL;
drivers/net/wireless/ti/wlcore/main.c
6568
wl->nvs_len = 0;
drivers/net/wireless/ti/wlcore/main.c
6570
wl->nvs = NULL;
drivers/net/wireless/ti/wlcore/main.c
6571
wl->nvs_len = 0;
drivers/net/wireless/ti/wlcore/main.c
6574
ret = wl->ops->setup(wl);
drivers/net/wireless/ti/wlcore/main.c
6578
BUG_ON(wl->num_tx_desc > WLCORE_MAX_TX_DESCRIPTORS);
drivers/net/wireless/ti/wlcore/main.c
658
if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags)) {
drivers/net/wireless/ti/wlcore/main.c
6581
wlcore_adjust_conf(wl);
drivers/net/wireless/ti/wlcore/main.c
6589
wl->irq = res->start;
drivers/net/wireless/ti/wlcore/main.c
659
if (spin_trylock_irqsave(&wl->wl_lock, flags)) {
drivers/net/wireless/ti/wlcore/main.c
6590
wl->irq_flags = res->flags & IRQF_TRIGGER_MASK;
drivers/net/wireless/ti/wlcore/main.c
6591
wl->if_ops = pdev_data->if_ops;
drivers/net/wireless/ti/wlcore/main.c
6593
if (wl->irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))
drivers/net/wireless/ti/wlcore/main.c
6596
wl->irq_flags |= IRQF_ONESHOT;
drivers/net/wireless/ti/wlcore/main.c
6598
ret = wl12xx_set_power_on(wl);
drivers/net/wireless/ti/wlcore/main.c
660
if (!wl1271_tx_total_queue_count(wl))
drivers/net/wireless/ti/wlcore/main.c
6602
ret = wl12xx_get_hw_info(wl);
drivers/net/wireless/ti/wlcore/main.c
6605
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/main.c
6609
ret = request_threaded_irq(wl->irq, hardirq_fn, wlcore_irq,
drivers/net/wireless/ti/wlcore/main.c
6610
wl->irq_flags, pdev->name, wl);
drivers/net/wireless/ti/wlcore/main.c
6613
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/main.c
6618
device_init_wakeup(wl->dev, true);
drivers/net/wireless/ti/wlcore/main.c
662
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
6620
ret = enable_irq_wake(wl->irq);
drivers/net/wireless/ti/wlcore/main.c
6622
wl->irq_wake_enabled = true;
drivers/net/wireless/ti/wlcore/main.c
6624
wl->hw->wiphy->wowlan = &wlcore_wowlan_support;
drivers/net/wireless/ti/wlcore/main.c
6629
wl->wakeirq = res->start;
drivers/net/wireless/ti/wlcore/main.c
6630
wl->wakeirq_flags = res->flags & IRQF_TRIGGER_MASK;
drivers/net/wireless/ti/wlcore/main.c
6631
ret = dev_pm_set_dedicated_wake_irq(wl->dev, wl->wakeirq);
drivers/net/wireless/ti/wlcore/main.c
6633
wl->wakeirq = -ENODEV;
drivers/net/wireless/ti/wlcore/main.c
6635
wl->wakeirq = -ENODEV;
drivers/net/wireless/ti/wlcore/main.c
6638
disable_irq(wl->irq);
drivers/net/wireless/ti/wlcore/main.c
6639
wl1271_power_off(wl);
drivers/net/wireless/ti/wlcore/main.c
6641
ret = wl->ops->identify_chip(wl);
drivers/net/wireless/ti/wlcore/main.c
6645
ret = wl1271_init_ieee80211(wl);
drivers/net/wireless/ti/wlcore/main.c
6649
ret = wl1271_register_hw(wl);
drivers/net/wireless/ti/wlcore/main.c
6653
ret = wlcore_sysfs_init(wl);
drivers/net/wireless/ti/wlcore/main.c
6657
wl->initialized = true;
drivers/net/wireless/ti/wlcore/main.c
6661
wl1271_unregister_hw(wl);
drivers/net/wireless/ti/wlcore/main.c
6664
if (wl->wakeirq >= 0)
drivers/net/wireless/ti/wlcore/main.c
6665
dev_pm_clear_wake_irq(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6666
device_init_wakeup(wl->dev, false);
drivers/net/wireless/ti/wlcore/main.c
6667
free_irq(wl->irq, wl);
drivers/net/wireless/ti/wlcore/main.c
6670
kfree(wl->nvs);
drivers/net/wireless/ti/wlcore/main.c
6674
complete_all(&wl->nvs_loading_complete);
drivers/net/wireless/ti/wlcore/main.c
6679
struct wl1271 *wl = dev_get_drvdata(dev);
drivers/net/wireless/ti/wlcore/main.c
6684
if (wl->plt)
drivers/net/wireless/ti/wlcore/main.c
6688
if (wl->sleep_auth != WL1271_PSM_ELP)
drivers/net/wireless/ti/wlcore/main.c
6691
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/main.c
6698
error = wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_SLEEP);
drivers/net/wireless/ti/wlcore/main.c
670
ret = wlcore_tx_work_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
6700
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/main.c
6705
set_bit(WL1271_FLAG_IN_ELP, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
6712
struct wl1271 *wl = dev_get_drvdata(dev);
drivers/net/wireless/ti/wlcore/main.c
6720
if (!test_bit(WL1271_FLAG_IN_ELP, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
6725
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
6726
wl->elp_compl = &compl;
drivers/net/wireless/ti/wlcore/main.c
6727
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
6729
ret = wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_WAKE_UP);
drivers/net/wireless/ti/wlcore/main.c
6732
} else if (!test_bit(WL1271_FLAG_IRQ_RUNNING, &wl->flags)) {
drivers/net/wireless/ti/wlcore/main.c
6741
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
6742
wl->elp_compl = NULL;
drivers/net/wireless/ti/wlcore/main.c
6743
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
6744
clear_bit(WL1271_FLAG_IN_ELP, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
6747
set_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
6748
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/main.c
6763
int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev)
drivers/net/wireless/ti/wlcore/main.c
6769
if (!wl->ops || !wl->ptable || !pdev_data)
drivers/net/wireless/ti/wlcore/main.c
677
ret = wlcore_hw_tx_delayed_compl(wl);
drivers/net/wireless/ti/wlcore/main.c
6772
wl->dev = &pdev->dev;
drivers/net/wireless/ti/wlcore/main.c
6773
wl->pdev = pdev;
drivers/net/wireless/ti/wlcore/main.c
6774
platform_set_drvdata(pdev, wl);
drivers/net/wireless/ti/wlcore/main.c
6780
wl, wlcore_nvs_cb);
drivers/net/wireless/ti/wlcore/main.c
6784
complete_all(&wl->nvs_loading_complete);
drivers/net/wireless/ti/wlcore/main.c
6787
wlcore_nvs_cb(NULL, wl);
drivers/net/wireless/ti/wlcore/main.c
6790
wl->dev->driver->pm = &wlcore_pm_ops;
drivers/net/wireless/ti/wlcore/main.c
6791
pm_runtime_set_autosuspend_delay(wl->dev, 50);
drivers/net/wireless/ti/wlcore/main.c
6792
pm_runtime_use_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6793
pm_runtime_enable(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6802
struct wl1271 *wl = platform_get_drvdata(pdev);
drivers/net/wireless/ti/wlcore/main.c
6805
error = pm_runtime_get_sync(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6807
dev_warn(wl->dev, "PM runtime failed: %i\n", error);
drivers/net/wireless/ti/wlcore/main.c
6809
wl->dev->driver->pm = NULL;
drivers/net/wireless/ti/wlcore/main.c
6812
wait_for_completion(&wl->nvs_loading_complete);
drivers/net/wireless/ti/wlcore/main.c
6813
if (!wl->initialized)
drivers/net/wireless/ti/wlcore/main.c
6816
if (wl->wakeirq >= 0) {
drivers/net/wireless/ti/wlcore/main.c
6817
dev_pm_clear_wake_irq(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6818
wl->wakeirq = -ENODEV;
drivers/net/wireless/ti/wlcore/main.c
682
defer_count = skb_queue_len(&wl->deferred_tx_queue) +
drivers/net/wireless/ti/wlcore/main.c
6821
device_init_wakeup(wl->dev, false);
drivers/net/wireless/ti/wlcore/main.c
6823
if (wl->irq_wake_enabled)
drivers/net/wireless/ti/wlcore/main.c
6824
disable_irq_wake(wl->irq);
drivers/net/wireless/ti/wlcore/main.c
6826
wl1271_unregister_hw(wl);
drivers/net/wireless/ti/wlcore/main.c
6828
pm_runtime_put_sync(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6829
pm_runtime_dont_use_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
683
skb_queue_len(&wl->deferred_rx_queue);
drivers/net/wireless/ti/wlcore/main.c
6830
pm_runtime_disable(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
6832
free_irq(wl->irq, wl);
drivers/net/wireless/ti/wlcore/main.c
6833
wlcore_free_hw(wl);
drivers/net/wireless/ti/wlcore/main.c
685
wl1271_flush_deferred_work(wl);
drivers/net/wireless/ti/wlcore/main.c
690
ret = wl1271_event_handle(wl, 0);
drivers/net/wireless/ti/wlcore/main.c
697
ret = wl1271_event_handle(wl, 1);
drivers/net/wireless/ti/wlcore/main.c
71
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/main.c
711
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
721
struct wl1271 *wl = cookie;
drivers/net/wireless/ti/wlcore/main.c
724
set_bit(WL1271_FLAG_IRQ_RUNNING, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
727
if (test_bit(WL1271_FLAG_IN_ELP, &wl->flags)) {
drivers/net/wireless/ti/wlcore/main.c
728
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
729
if (wl->elp_compl)
drivers/net/wireless/ti/wlcore/main.c
730
complete(wl->elp_compl);
drivers/net/wireless/ti/wlcore/main.c
731
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
734
if (test_bit(WL1271_FLAG_SUSPENDED, &wl->flags)) {
drivers/net/wireless/ti/wlcore/main.c
736
set_bit(WL1271_FLAG_PENDING_WORK, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
738
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
739
disable_irq_nosync(wl->irq);
drivers/net/wireless/ti/wlcore/main.c
740
pm_wakeup_event(wl->dev, 0);
drivers/net/wireless/ti/wlcore/main.c
741
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
746
set_bit(WL1271_FLAG_TX_PENDING, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
747
cancel_work_sync(&wl->tx_work);
drivers/net/wireless/ti/wlcore/main.c
749
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
75
wl->dfs_region = request->dfs_region;
drivers/net/wireless/ti/wlcore/main.c
751
ret = wlcore_irq_locked(wl);
drivers/net/wireless/ti/wlcore/main.c
753
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/main.c
756
clear_bit(WL1271_FLAG_TX_PENDING, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
757
if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags)) {
drivers/net/wireless/ti/wlcore/main.c
758
if (spin_trylock_irqsave(&wl->wl_lock, flags)) {
drivers/net/wireless/ti/wlcore/main.c
759
if (!wl1271_tx_total_queue_count(wl))
drivers/net/wireless/ti/wlcore/main.c
761
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/main.c
764
ieee80211_queue_work(wl->hw, &wl->tx_work);
drivers/net/wireless/ti/wlcore/main.c
767
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/main.c
77
wlcore_regdomain_config(wl);
drivers/net/wireless/ti/wlcore/main.c
770
clear_bit(WL1271_FLAG_IRQ_RUNNING, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
80
static int wl1271_set_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
804
static int wl12xx_fetch_firmware(struct wl1271 *wl, bool plt)
drivers/net/wireless/ti/wlcore/main.c
813
fw_name = wl->plt_fw_name;
drivers/net/wireless/ti/wlcore/main.c
819
if (wl->last_vif_count > 1 && wl->mr_fw_name) {
drivers/net/wireless/ti/wlcore/main.c
821
fw_name = wl->mr_fw_name;
drivers/net/wireless/ti/wlcore/main.c
824
fw_name = wl->sr_fw_name;
drivers/net/wireless/ti/wlcore/main.c
828
if (wl->fw_type == fw_type)
drivers/net/wireless/ti/wlcore/main.c
833
ret = request_firmware(&fw, fw_name, wl->dev);
drivers/net/wireless/ti/wlcore/main.c
847
vfree(wl->fw);
drivers/net/wireless/ti/wlcore/main.c
848
wl->fw_type = WL12XX_FW_TYPE_NONE;
drivers/net/wireless/ti/wlcore/main.c
849
wl->fw_len = fw->size;
drivers/net/wireless/ti/wlcore/main.c
850
wl->fw = vmalloc(wl->fw_len);
drivers/net/wireless/ti/wlcore/main.c
852
if (!wl->fw) {
drivers/net/wireless/ti/wlcore/main.c
858
memcpy(wl->fw, fw->data, wl->fw_len);
drivers/net/wireless/ti/wlcore/main.c
86
ret = wl1271_acx_ps_rx_streaming(wl, wlvif, enable);
drivers/net/wireless/ti/wlcore/main.c
860
wl->fw_type = fw_type;
drivers/net/wireless/ti/wlcore/main.c
867
void wl12xx_queue_recovery_work(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
870
if (wl->state == WLCORE_STATE_ON) {
drivers/net/wireless/ti/wlcore/main.c
872
&wl->flags));
drivers/net/wireless/ti/wlcore/main.c
874
wl->state = WLCORE_STATE_RESTARTING;
drivers/net/wireless/ti/wlcore/main.c
875
set_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags);
drivers/net/wireless/ti/wlcore/main.c
876
ieee80211_queue_work(wl->hw, &wl->recovery_work);
drivers/net/wireless/ti/wlcore/main.c
880
size_t wl12xx_copy_fwlog(struct wl1271 *wl, u8 *memblock, size_t maxlen)
drivers/net/wireless/ti/wlcore/main.c
885
len = min_t(size_t, maxlen, PAGE_SIZE - wl->fwlog_size);
drivers/net/wireless/ti/wlcore/main.c
888
memcpy(wl->fwlog + wl->fwlog_size, memblock, len);
drivers/net/wireless/ti/wlcore/main.c
889
wl->fwlog_size += len;
drivers/net/wireless/ti/wlcore/main.c
894
static void wl12xx_read_fwlog_panic(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
899
if (wl->quirks & WLCORE_QUIRK_FWLOG_NOT_IMPLEMENTED)
drivers/net/wireless/ti/wlcore/main.c
909
error = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/main.c
912
if (!wl->watchdog_recovery &&
drivers/net/wireless/ti/wlcore/main.c
913
wl->conf.fwlog.output != WL12XX_FWLOG_OUTPUT_DBG_PINS)
drivers/net/wireless/ti/wlcore/main.c
914
wl12xx_cmd_stop_fwlog(wl);
drivers/net/wireless/ti/wlcore/main.c
918
end_of_log = wlcore_event_fw_logger(wl);
drivers/net/wireless/ti/wlcore/main.c
921
end_of_log = wlcore_event_fw_logger(wl);
drivers/net/wireless/ti/wlcore/main.c
926
static void wlcore_save_freed_pkts(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/main.c
933
wl_sta->total_freed_pkts = wl->links[hlid].total_freed_pkts;
drivers/net/wireless/ti/wlcore/main.c
942
if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags))
drivers/net/wireless/ti/wlcore/main.c
946
static void wlcore_save_freed_pkts_addr(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/main.c
960
wlcore_save_freed_pkts(wl, wlvif, hlid, sta);
drivers/net/wireless/ti/wlcore/main.c
964
static void wlcore_print_recovery(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/main.c
971
wl->chip.fw_ver_str);
drivers/net/wireless/ti/wlcore/main.c
974
ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]);
drivers/net/wireless/ti/wlcore/main.c
978
ret = wlcore_read_reg(wl, REG_PC_ON_RECOVERY, &pc);
drivers/net/wireless/ti/wlcore/main.c
982
ret = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR, &hint_sts);
drivers/net/wireless/ti/wlcore/main.c
987
pc, hint_sts, ++wl->recovery_count);
drivers/net/wireless/ti/wlcore/main.c
989
wlcore_set_partition(wl, &wl->ptable[PART_WORK]);
drivers/net/wireless/ti/wlcore/main.c
995
struct wl1271 *wl =
drivers/net/wireless/ti/wlcore/ps.c
102
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/ps.c
104
wl->tx_queue_count[i] -= filtered[i];
drivers/net/wireless/ti/wlcore/ps.c
108
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/ps.c
110
wl1271_handle_tx_low_watermark(wl);
drivers/net/wireless/ti/wlcore/ps.c
113
void wl12xx_ps_link_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/ps.c
123
test_bit(hlid, &wl->ap_ps_map))
drivers/net/wireless/ti/wlcore/ps.c
127
"clean_queues %d", hlid, wl->links[hlid].allocated_pkts,
drivers/net/wireless/ti/wlcore/ps.c
131
sta = ieee80211_find_sta(vif, wl->links[hlid].addr);
drivers/net/wireless/ti/wlcore/ps.c
134
wl->links[hlid].addr);
drivers/net/wireless/ti/wlcore/ps.c
144
wl1271_ps_filter_frames(wl, hlid);
drivers/net/wireless/ti/wlcore/ps.c
146
__set_bit(hlid, &wl->ap_ps_map);
drivers/net/wireless/ti/wlcore/ps.c
149
void wl12xx_ps_link_end(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid)
drivers/net/wireless/ti/wlcore/ps.c
15
int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/ps.c
154
if (!test_bit(hlid, &wl->ap_ps_map))
drivers/net/wireless/ti/wlcore/ps.c
159
__clear_bit(hlid, &wl->ap_ps_map);
drivers/net/wireless/ti/wlcore/ps.c
162
sta = ieee80211_find_sta(vif, wl->links[hlid].addr);
drivers/net/wireless/ti/wlcore/ps.c
165
wl->links[hlid].addr);
drivers/net/wireless/ti/wlcore/ps.c
19
u16 timeout = wl->conf.conn.dynamic_ps_timeout;
drivers/net/wireless/ti/wlcore/ps.c
27
ret = wl1271_acx_wake_up_conditions(wl, wlvif,
drivers/net/wireless/ti/wlcore/ps.c
28
wl->conf.conn.wake_up_event,
drivers/net/wireless/ti/wlcore/ps.c
29
wl->conf.conn.listen_interval);
drivers/net/wireless/ti/wlcore/ps.c
35
ret = wl1271_cmd_ps_mode(wl, wlvif, mode, timeout);
drivers/net/wireless/ti/wlcore/ps.c
47
ret = wl1271_acx_bet_enable(wl, wlvif, true);
drivers/net/wireless/ti/wlcore/ps.c
58
ret = wl1271_acx_bet_enable(wl, wlvif, false);
drivers/net/wireless/ti/wlcore/ps.c
63
ret = wl1271_cmd_ps_mode(wl, wlvif, mode, 0);
drivers/net/wireless/ti/wlcore/ps.c
77
static void wl1271_ps_filter_frames(struct wl1271 *wl, u8 hlid)
drivers/net/wireless/ti/wlcore/ps.c
84
struct wl1271_link *lnk = &wl->links[hlid];
drivers/net/wireless/ti/wlcore/ps.c
92
if (WARN_ON(wl12xx_is_dummy_packet(wl, skb)))
drivers/net/wireless/ti/wlcore/ps.c
98
ieee80211_tx_status_ni(wl->hw, skb);
drivers/net/wireless/ti/wlcore/ps.h
16
int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/ps.h
18
void wl12xx_ps_link_start(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/ps.h
20
void wl12xx_ps_link_end(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid);
drivers/net/wireless/ti/wlcore/rx.c
103
static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length,
drivers/net/wireless/ti/wlcore/rx.c
119
if (unlikely(wl->plt))
drivers/net/wireless/ti/wlcore/rx.c
122
pkt_data_len = wlcore_hw_get_rx_packet_len(wl, data, length);
drivers/net/wireless/ti/wlcore/rx.c
139
wl12xx_copy_fwlog(wl, data + sizeof(*desc), len);
drivers/net/wireless/ti/wlcore/rx.c
183
wl1271_rx_status(wl, desc, IEEE80211_SKB_RXCB(skb), beacon,
drivers/net/wireless/ti/wlcore/rx.c
185
wlcore_hw_set_rx_csum(wl, desc, skb);
drivers/net/wireless/ti/wlcore/rx.c
193
skb_queue_tail(&wl->deferred_rx_queue, skb);
drivers/net/wireless/ti/wlcore/rx.c
194
queue_work(wl->freezable_wq, &wl->netstack_work);
drivers/net/wireless/ti/wlcore/rx.c
199
int wlcore_rx(struct wl1271 *wl, struct wl_fw_status *status)
drivers/net/wireless/ti/wlcore/rx.c
203
u32 fw_rx_counter = status->fw_rx_counter % wl->num_rx_desc;
drivers/net/wireless/ti/wlcore/rx.c
204
u32 drv_rx_counter = wl->rx_counter % wl->num_rx_desc;
drivers/net/wireless/ti/wlcore/rx.c
216
wl->links[hlid].fw_rate_mbps =
drivers/net/wireless/ti/wlcore/rx.c
224
pkt_len = wlcore_rx_get_buf_size(wl, des);
drivers/net/wireless/ti/wlcore/rx.c
225
align_pkt_len = wlcore_rx_get_align_buf_size(wl,
drivers/net/wireless/ti/wlcore/rx.c
227
if (buf_size + align_pkt_len > wl->aggr_buf_size)
drivers/net/wireless/ti/wlcore/rx.c
231
rx_counter %= wl->num_rx_desc;
drivers/net/wireless/ti/wlcore/rx.c
241
ret = wlcore_hw_prepare_read(wl, des, buf_size);
drivers/net/wireless/ti/wlcore/rx.c
245
ret = wlcore_read_data(wl, REG_SLV_MEM_DATA, wl->aggr_buf,
drivers/net/wireless/ti/wlcore/rx.c
254
pkt_len = wlcore_rx_get_buf_size(wl, des);
drivers/net/wireless/ti/wlcore/rx.c
255
rx_align = wlcore_hw_get_rx_buf_align(wl, des);
drivers/net/wireless/ti/wlcore/rx.c
262
if (wl1271_rx_handle_data(wl,
drivers/net/wireless/ti/wlcore/rx.c
263
wl->aggr_buf + pkt_offset,
drivers/net/wireless/ti/wlcore/rx.c
266
if (hlid < wl->num_links)
drivers/net/wireless/ti/wlcore/rx.c
27
static u32 wlcore_rx_get_buf_size(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/rx.c
274
wl->rx_counter++;
drivers/net/wireless/ti/wlcore/rx.c
276
drv_rx_counter %= wl->num_rx_desc;
drivers/net/wireless/ti/wlcore/rx.c
277
pkt_offset += wlcore_rx_get_align_buf_size(wl, pkt_len);
drivers/net/wireless/ti/wlcore/rx.c
285
if (wl->quirks & WLCORE_QUIRK_END_OF_TRANSACTION) {
drivers/net/wireless/ti/wlcore/rx.c
286
ret = wlcore_write32(wl, WL12XX_REG_RX_DRIVER_COUNTER,
drivers/net/wireless/ti/wlcore/rx.c
287
wl->rx_counter);
drivers/net/wireless/ti/wlcore/rx.c
292
wl12xx_rearm_rx_streaming(wl, active_hlids);
drivers/net/wireless/ti/wlcore/rx.c
299
int wl1271_rx_filter_enable(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/rx.c
30
if (wl->quirks & WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN)
drivers/net/wireless/ti/wlcore/rx.c
305
if (!!test_bit(index, wl->rx_filter_enabled) == enable) {
drivers/net/wireless/ti/wlcore/rx.c
311
ret = wl1271_acx_set_rx_filter(wl, index, enable, filter);
drivers/net/wireless/ti/wlcore/rx.c
320
__set_bit(index, wl->rx_filter_enabled);
drivers/net/wireless/ti/wlcore/rx.c
322
__clear_bit(index, wl->rx_filter_enabled);
drivers/net/wireless/ti/wlcore/rx.c
327
int wl1271_rx_filter_clear_all(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/rx.c
332
if (!test_bit(i, wl->rx_filter_enabled))
drivers/net/wireless/ti/wlcore/rx.c
334
ret = wl1271_rx_filter_enable(wl, i, 0, NULL);
drivers/net/wireless/ti/wlcore/rx.c
37
static u32 wlcore_rx_get_align_buf_size(struct wl1271 *wl, u32 pkt_len)
drivers/net/wireless/ti/wlcore/rx.c
39
if (wl->quirks & WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN)
drivers/net/wireless/ti/wlcore/rx.c
45
static void wl1271_rx_status(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/rx.c
57
status->rate_idx = wlcore_rate_to_idx(wl, desc->rate, status->band);
drivers/net/wireless/ti/wlcore/rx.c
60
if (desc->rate <= wl->hw_min_ht_rate)
drivers/net/wireless/ti/wlcore/rx.c
77
wl->noise = desc->rssi - (desc->snr >> 1);
drivers/net/wireless/ti/wlcore/rx.c
99
wlcore_set_pending_regdomain_ch(wl, (u16)desc->channel,
drivers/net/wireless/ti/wlcore/rx.h
134
int wlcore_rx(struct wl1271 *wl, struct wl_fw_status *status);
drivers/net/wireless/ti/wlcore/rx.h
136
int wl1271_rx_filter_enable(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/rx.h
139
int wl1271_rx_filter_clear_all(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/scan.c
100
if (wlvif->wl->active_sta_count > 0)
drivers/net/wireless/ti/wlcore/scan.c
112
static int wlcore_count_started_vifs(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/scan.c
116
ieee80211_iterate_active_interfaces_atomic(wl->hw,
drivers/net/wireless/ti/wlcore/scan.c
123
wlcore_scan_get_channels(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/scan.c
141
struct conf_scan_settings *c = &wl->conf.scan;
drivers/net/wireless/ti/wlcore/scan.c
142
bool active_vif_exists = !!wlcore_count_started_vifs(wl);
drivers/net/wireless/ti/wlcore/scan.c
153
struct conf_sched_scan_settings *c = &wl->conf.sched_scan;
drivers/net/wireless/ti/wlcore/scan.c
23
struct wl1271 *wl;
drivers/net/wireless/ti/wlcore/scan.c
243
wlcore_set_scan_chan_params(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/scan.c
253
wlcore_scan_get_channels(wl,
drivers/net/wireless/ti/wlcore/scan.c
264
wlcore_scan_get_channels(wl,
drivers/net/wireless/ti/wlcore/scan.c
276
wlcore_scan_get_channels(wl,
drivers/net/wireless/ti/wlcore/scan.c
283
wl->max_channels_5,
drivers/net/wireless/ti/wlcore/scan.c
287
wlcore_scan_get_channels(wl,
drivers/net/wireless/ti/wlcore/scan.c
295
wl->max_channels_5,
drivers/net/wireless/ti/wlcore/scan.c
299
wlcore_scan_get_channels(wl,
drivers/net/wireless/ti/wlcore/scan.c
307
wl->max_channels_5,
drivers/net/wireless/ti/wlcore/scan.c
31
wl = container_of(dwork, struct wl1271, scan_complete_work);
drivers/net/wireless/ti/wlcore/scan.c
329
int wlcore_scan(struct wl1271 *wl, struct ieee80211_vif *vif,
drivers/net/wireless/ti/wlcore/scan.c
341
if (wl->scan.state != WL1271_SCAN_STATE_IDLE)
drivers/net/wireless/ti/wlcore/scan.c
344
wl->scan.state = WL1271_SCAN_STATE_2GHZ_ACTIVE;
drivers/net/wireless/ti/wlcore/scan.c
347
wl->scan.ssid_len = ssid_len;
drivers/net/wireless/ti/wlcore/scan.c
348
memcpy(wl->scan.ssid, ssid, ssid_len);
drivers/net/wireless/ti/wlcore/scan.c
35
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/scan.c
350
wl->scan.ssid_len = 0;
drivers/net/wireless/ti/wlcore/scan.c
353
wl->scan_wlvif = wlvif;
drivers/net/wireless/ti/wlcore/scan.c
354
wl->scan.req = req;
drivers/net/wireless/ti/wlcore/scan.c
355
memset(wl->scan.scanned_ch, 0, sizeof(wl->scan.scanned_ch));
drivers/net/wireless/ti/wlcore/scan.c
358
wl->scan.failed = true;
drivers/net/wireless/ti/wlcore/scan.c
359
ieee80211_queue_delayed_work(wl->hw, &wl->scan_complete_work,
drivers/net/wireless/ti/wlcore/scan.c
362
wl->ops->scan_start(wl, wlvif, req);
drivers/net/wireless/ti/wlcore/scan.c
368
wlcore_scan_sched_scan_ssid_list(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/scan.c
37
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/scan.c
40
if (wl->scan.state == WL1271_SCAN_STATE_IDLE)
drivers/net/wireless/ti/wlcore/scan.c
43
wlvif = wl->scan_wlvif;
drivers/net/wireless/ti/wlcore/scan.c
455
ret = wl1271_cmd_send(wl, CMD_CONNECTION_SCAN_SSID_CFG, cmd,
drivers/net/wireless/ti/wlcore/scan.c
471
void wlcore_scan_sched_scan_results(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/scan.c
475
ieee80211_sched_scan_results(wl->hw);
drivers/net/wireless/ti/wlcore/scan.c
49
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/scan.c
51
wl->scan.state = WL1271_SCAN_STATE_IDLE;
drivers/net/wireless/ti/wlcore/scan.c
52
memset(wl->scan.scanned_ch, 0, sizeof(wl->scan.scanned_ch));
drivers/net/wireless/ti/wlcore/scan.c
53
wl->scan.req = NULL;
drivers/net/wireless/ti/wlcore/scan.c
54
wl->scan_wlvif = NULL;
drivers/net/wireless/ti/wlcore/scan.c
56
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/scan.c
62
wl1271_cmd_build_ap_probe_req(wl, wlvif, wlvif->probereq);
drivers/net/wireless/ti/wlcore/scan.c
65
if (wl->scan.failed) {
drivers/net/wireless/ti/wlcore/scan.c
67
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/scan.c
70
wlcore_cmd_regdomain_config_locked(wl);
drivers/net/wireless/ti/wlcore/scan.c
72
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/scan.c
74
ieee80211_scan_completed(wl->hw, &info);
drivers/net/wireless/ti/wlcore/scan.c
77
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/scan.h
15
int wlcore_scan(struct wl1271 *wl, struct ieee80211_vif *vif,
drivers/net/wireless/ti/wlcore/scan.h
152
wlcore_set_scan_chan_params(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/scan.h
160
wlcore_scan_sched_scan_ssid_list(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/scan.h
18
int wl1271_scan_build_probe_req(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/scan.h
21
void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/scan.h
23
int wl1271_scan_sched_scan_config(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/scan.h
27
int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/scan.h
28
void wlcore_scan_sched_scan_results(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/sdio.c
379
struct wl1271 *wl = platform_get_drvdata(glue->core);
drivers/net/wireless/ti/wlcore/sdio.c
383
if (!wl) {
drivers/net/wireless/ti/wlcore/sdio.c
389
wl->wow_enabled);
drivers/net/wireless/ti/wlcore/sdio.c
392
if (wl->wow_enabled) {
drivers/net/wireless/ti/wlcore/spi.c
198
struct wl1271 *wl = dev_get_drvdata(child);
drivers/net/wireless/ti/wlcore/spi.c
210
busy_buf = wl->buffer_busyword;
drivers/net/wireless/ti/wlcore/spi.c
234
struct wl1271 *wl = dev_get_drvdata(child);
drivers/net/wireless/ti/wlcore/spi.c
244
cmd = &wl->buffer_cmd;
drivers/net/wireless/ti/wlcore/spi.c
245
busy_buf = wl->buffer_busyword;
drivers/net/wireless/ti/wlcore/sysfs.c
103
if (wl->fwlog_size < 0) {
drivers/net/wireless/ti/wlcore/sysfs.c
104
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.c
109
len = min_t(size_t, count, wl->fwlog_size);
drivers/net/wireless/ti/wlcore/sysfs.c
110
wl->fwlog_size -= len;
drivers/net/wireless/ti/wlcore/sysfs.c
111
memcpy(buffer, wl->fwlog, len);
drivers/net/wireless/ti/wlcore/sysfs.c
114
memmove(wl->fwlog, wl->fwlog + len, wl->fwlog_size);
drivers/net/wireless/ti/wlcore/sysfs.c
116
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.c
126
int wlcore_sysfs_init(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/sysfs.c
131
ret = device_create_file(wl->dev, &dev_attr_bt_coex_state);
drivers/net/wireless/ti/wlcore/sysfs.c
138
ret = device_create_file(wl->dev, &dev_attr_hw_pg_ver);
drivers/net/wireless/ti/wlcore/sysfs.c
145
ret = device_create_bin_file(wl->dev, &fwlog_attr);
drivers/net/wireless/ti/wlcore/sysfs.c
154
device_remove_file(wl->dev, &dev_attr_hw_pg_ver);
drivers/net/wireless/ti/wlcore/sysfs.c
157
device_remove_file(wl->dev, &dev_attr_bt_coex_state);
drivers/net/wireless/ti/wlcore/sysfs.c
163
void wlcore_sysfs_free(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/sysfs.c
165
device_remove_bin_file(wl->dev, &fwlog_attr);
drivers/net/wireless/ti/wlcore/sysfs.c
167
device_remove_file(wl->dev, &dev_attr_hw_pg_ver);
drivers/net/wireless/ti/wlcore/sysfs.c
169
device_remove_file(wl->dev, &dev_attr_bt_coex_state);
drivers/net/wireless/ti/wlcore/sysfs.c
19
struct wl1271 *wl = dev_get_drvdata(dev);
drivers/net/wireless/ti/wlcore/sysfs.c
22
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.c
23
len = sysfs_emit(buf, "%d\n\n0 - off\n1 - on\n", wl->sg_enabled);
drivers/net/wireless/ti/wlcore/sysfs.c
24
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.c
34
struct wl1271 *wl = dev_get_drvdata(dev);
drivers/net/wireless/ti/wlcore/sysfs.c
44
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.c
48
if (res == wl->sg_enabled)
drivers/net/wireless/ti/wlcore/sysfs.c
51
wl->sg_enabled = res;
drivers/net/wireless/ti/wlcore/sysfs.c
53
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/sysfs.c
56
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/sysfs.c
60
wl1271_acx_sg_enable(wl, wl->sg_enabled);
drivers/net/wireless/ti/wlcore/sysfs.c
61
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/sysfs.c
64
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.c
74
struct wl1271 *wl = dev_get_drvdata(dev);
drivers/net/wireless/ti/wlcore/sysfs.c
77
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.c
78
if (wl->hw_pg_ver >= 0)
drivers/net/wireless/ti/wlcore/sysfs.c
79
len = sysfs_emit(buf, "%d\n", wl->hw_pg_ver);
drivers/net/wireless/ti/wlcore/sysfs.c
82
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.c
94
struct wl1271 *wl = dev_get_drvdata(dev);
drivers/net/wireless/ti/wlcore/sysfs.c
98
ret = mutex_lock_interruptible(&wl->mutex);
drivers/net/wireless/ti/wlcore/sysfs.h
11
int wlcore_sysfs_init(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/sysfs.h
12
void wlcore_sysfs_free(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/testmode.c
112
skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len);
drivers/net/wireless/ti/wlcore/testmode.c
130
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/testmode.c
132
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
137
static int wl1271_tm_cmd_interrogate(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
151
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
153
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/testmode.c
158
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/testmode.c
168
ret = wl1271_cmd_interrogate(wl, ie_id, cmd,
drivers/net/wireless/ti/wlcore/testmode.c
175
skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, sizeof(*cmd));
drivers/net/wireless/ti/wlcore/testmode.c
194
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/testmode.c
196
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
201
static int wl1271_tm_cmd_configure(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
221
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
222
ret = wl1271_cmd_configure(wl, ie_id, buf, buf_len);
drivers/net/wireless/ti/wlcore/testmode.c
223
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
233
static int wl1271_tm_detect_fem(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
239
ret = wl1271_plt_start(wl, PLT_FEM_DETECT);
drivers/net/wireless/ti/wlcore/testmode.c
243
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
245
len = nla_total_size(sizeof(wl->fem_manuf));
drivers/net/wireless/ti/wlcore/testmode.c
246
skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len);
drivers/net/wireless/ti/wlcore/testmode.c
252
if (nla_put(skb, WL1271_TM_ATTR_DATA, sizeof(wl->fem_manuf),
drivers/net/wireless/ti/wlcore/testmode.c
253
&wl->fem_manuf)) {
drivers/net/wireless/ti/wlcore/testmode.c
262
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
265
wl1271_plt_stop(wl);
drivers/net/wireless/ti/wlcore/testmode.c
270
static int wl1271_tm_cmd_set_plt_mode(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
284
ret = wl1271_plt_stop(wl);
drivers/net/wireless/ti/wlcore/testmode.c
288
ret = wl1271_plt_start(wl, val);
drivers/net/wireless/ti/wlcore/testmode.c
291
ret = wl1271_tm_detect_fem(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
301
static int wl12xx_tm_cmd_get_mac(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
307
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
309
if (!wl->plt) {
drivers/net/wireless/ti/wlcore/testmode.c
314
if (wl->fuse_oui_addr == 0 && wl->fuse_nic_addr == 0) {
drivers/net/wireless/ti/wlcore/testmode.c
319
mac_addr[0] = (u8)(wl->fuse_oui_addr >> 16);
drivers/net/wireless/ti/wlcore/testmode.c
320
mac_addr[1] = (u8)(wl->fuse_oui_addr >> 8);
drivers/net/wireless/ti/wlcore/testmode.c
321
mac_addr[2] = (u8) wl->fuse_oui_addr;
drivers/net/wireless/ti/wlcore/testmode.c
322
mac_addr[3] = (u8)(wl->fuse_nic_addr >> 16);
drivers/net/wireless/ti/wlcore/testmode.c
323
mac_addr[4] = (u8)(wl->fuse_nic_addr >> 8);
drivers/net/wireless/ti/wlcore/testmode.c
324
mac_addr[5] = (u8) wl->fuse_nic_addr;
drivers/net/wireless/ti/wlcore/testmode.c
326
skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, ETH_ALEN);
drivers/net/wireless/ti/wlcore/testmode.c
343
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
350
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/testmode.c
366
if (wl->plt_mode == PLT_CHIP_AWAKE &&
drivers/net/wireless/ti/wlcore/testmode.c
372
return wl1271_tm_cmd_test(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
374
return wl1271_tm_cmd_interrogate(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
376
return wl1271_tm_cmd_configure(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
378
return wl1271_tm_cmd_set_plt_mode(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
380
return wl12xx_tm_cmd_get_mac(wl, tb);
drivers/net/wireless/ti/wlcore/testmode.c
58
static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[])
drivers/net/wireless/ti/wlcore/testmode.c
79
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/testmode.c
81
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/testmode.c
86
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/testmode.c
90
ret = wl1271_cmd_test(wl, buf, buf_len, answer);
drivers/net/wireless/ti/wlcore/tx.c
1004
u8 offset = wl->tx_results_count & TX_HW_RESULT_QUEUE_LEN_MASK;
drivers/net/wireless/ti/wlcore/tx.c
1007
result = &(wl->tx_res_if->tx_results_queue[offset]);
drivers/net/wireless/ti/wlcore/tx.c
1008
wl1271_tx_complete_packet(wl, result);
drivers/net/wireless/ti/wlcore/tx.c
101
ieee80211_queue_delayed_work(wl->hw,
drivers/net/wireless/ti/wlcore/tx.c
1010
wl->tx_results_count++;
drivers/net/wireless/ti/wlcore/tx.c
1018
void wl1271_tx_reset_link_queues(struct wl1271 *wl, u8 hlid)
drivers/net/wireless/ti/wlcore/tx.c
1025
struct wl1271_link *lnk = &wl->links[hlid];
drivers/net/wireless/ti/wlcore/tx.c
1032
if (!wl12xx_is_dummy_packet(wl, skb)) {
drivers/net/wireless/ti/wlcore/tx.c
1036
ieee80211_tx_status_ni(wl->hw, skb);
drivers/net/wireless/ti/wlcore/tx.c
1043
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1045
wl->tx_queue_count[i] -= total[i];
drivers/net/wireless/ti/wlcore/tx.c
1049
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1051
wl1271_handle_tx_low_watermark(wl);
drivers/net/wireless/ti/wlcore/tx.c
1055
void wl12xx_tx_reset_wlvif(struct wl1271 *wl, struct wl12xx_vif *wlvif)
drivers/net/wireless/ti/wlcore/tx.c
106
static void wl1271_tx_regulate_link(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
1060
for_each_set_bit(i, wlvif->links_map, wl->num_links) {
drivers/net/wireless/ti/wlcore/tx.c
1064
wl1271_free_sta(wl, wlvif, i);
drivers/net/wireless/ti/wlcore/tx.c
1067
wl12xx_free_link(wl, wlvif, &hlid);
drivers/net/wireless/ti/wlcore/tx.c
1076
void wl12xx_tx_reset(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/tx.c
1083
if (wl1271_tx_total_queue_count(wl) != 0) {
drivers/net/wireless/ti/wlcore/tx.c
1084
for (i = 0; i < wl->num_links; i++)
drivers/net/wireless/ti/wlcore/tx.c
1085
wl1271_tx_reset_link_queues(wl, i);
drivers/net/wireless/ti/wlcore/tx.c
1088
wl->tx_queue_count[i] = 0;
drivers/net/wireless/ti/wlcore/tx.c
1096
wl1271_handle_tx_low_watermark(wl);
drivers/net/wireless/ti/wlcore/tx.c
1098
for (i = 0; i < wl->num_tx_desc; i++) {
drivers/net/wireless/ti/wlcore/tx.c
1099
if (wl->tx_frames[i] == NULL)
drivers/net/wireless/ti/wlcore/tx.c
1102
skb = wl->tx_frames[i];
drivers/net/wireless/ti/wlcore/tx.c
1103
wl1271_free_tx_id(wl, i);
drivers/net/wireless/ti/wlcore/tx.c
1106
if (!wl12xx_is_dummy_packet(wl, skb)) {
drivers/net/wireless/ti/wlcore/tx.c
1113
if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) &&
drivers/net/wireless/ti/wlcore/tx.c
1126
ieee80211_tx_status_ni(wl->hw, skb);
drivers/net/wireless/ti/wlcore/tx.c
1134
void wl1271_tx_flush(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/tx.c
1142
mutex_lock(&wl->flush_mutex);
drivers/net/wireless/ti/wlcore/tx.c
1144
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/tx.c
1145
if (wl->tx_frames_cnt == 0 && wl1271_tx_total_queue_count(wl) == 0) {
drivers/net/wireless/ti/wlcore/tx.c
1146
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/tx.c
1150
wlcore_stop_queues(wl, WLCORE_QUEUE_STOP_REASON_FLUSH);
drivers/net/wireless/ti/wlcore/tx.c
1154
wl->tx_frames_cnt,
drivers/net/wireless/ti/wlcore/tx.c
1155
wl1271_tx_total_queue_count(wl));
drivers/net/wireless/ti/wlcore/tx.c
1158
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/tx.c
1159
if (wl1271_tx_total_queue_count(wl))
drivers/net/wireless/ti/wlcore/tx.c
116
fw_ps = test_bit(hlid, &wl->ap_fw_ps_map);
drivers/net/wireless/ti/wlcore/tx.c
1160
wl1271_tx_work(&wl->tx_work);
drivers/net/wireless/ti/wlcore/tx.c
1162
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/tx.c
1164
if ((wl->tx_frames_cnt == 0) &&
drivers/net/wireless/ti/wlcore/tx.c
1165
(wl1271_tx_total_queue_count(wl) == 0)) {
drivers/net/wireless/ti/wlcore/tx.c
117
tx_pkts = wl->links[hlid].allocated_pkts;
drivers/net/wireless/ti/wlcore/tx.c
1177
for (i = 0; i < wl->num_links; i++)
drivers/net/wireless/ti/wlcore/tx.c
1178
wl1271_tx_reset_link_queues(wl, i);
drivers/net/wireless/ti/wlcore/tx.c
1181
wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_FLUSH);
drivers/net/wireless/ti/wlcore/tx.c
1182
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/tx.c
1184
mutex_unlock(&wl->flush_mutex);
drivers/net/wireless/ti/wlcore/tx.c
1188
u32 wl1271_tx_min_rate_get(struct wl1271 *wl, u32 rate_set)
drivers/net/wireless/ti/wlcore/tx.c
1197
void wlcore_stop_queue_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.c
1201
bool stopped = !!wl->queue_stop_reasons[hwq];
drivers/net/wireless/ti/wlcore/tx.c
1204
WARN_ON_ONCE(test_and_set_bit(reason, &wl->queue_stop_reasons[hwq]));
drivers/net/wireless/ti/wlcore/tx.c
1209
ieee80211_stop_queue(wl->hw, hwq);
drivers/net/wireless/ti/wlcore/tx.c
1212
void wlcore_stop_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue,
drivers/net/wireless/ti/wlcore/tx.c
1217
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1218
wlcore_stop_queue_locked(wl, wlvif, queue, reason);
drivers/net/wireless/ti/wlcore/tx.c
1219
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1222
void wlcore_wake_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue,
drivers/net/wireless/ti/wlcore/tx.c
1228
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1231
WARN_ON_ONCE(!test_and_clear_bit(reason, &wl->queue_stop_reasons[hwq]));
drivers/net/wireless/ti/wlcore/tx.c
1233
if (wl->queue_stop_reasons[hwq])
drivers/net/wireless/ti/wlcore/tx.c
1236
ieee80211_wake_queue(wl->hw, hwq);
drivers/net/wireless/ti/wlcore/tx.c
1239
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1242
void wlcore_stop_queues(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
1248
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1253
&wl->queue_stop_reasons[i]));
drivers/net/wireless/ti/wlcore/tx.c
1258
ieee80211_stop_queues(wl->hw);
drivers/net/wireless/ti/wlcore/tx.c
1260
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1263
void wlcore_wake_queues(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
1269
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1274
&wl->queue_stop_reasons[i]));
drivers/net/wireless/ti/wlcore/tx.c
1279
ieee80211_wake_queues(wl->hw);
drivers/net/wireless/ti/wlcore/tx.c
1281
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1284
bool wlcore_is_queue_stopped_by_reason(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
129
if (wl->active_link_count > (wl->ap_count*2 + 1) && fw_ps &&
drivers/net/wireless/ti/wlcore/tx.c
1291
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1292
stopped = wlcore_is_queue_stopped_by_reason_locked(wl, wlvif, queue,
drivers/net/wireless/ti/wlcore/tx.c
1294
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
1299
bool wlcore_is_queue_stopped_by_reason_locked(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
1305
assert_spin_locked(&wl->wl_lock);
drivers/net/wireless/ti/wlcore/tx.c
1306
return test_bit(reason, &wl->queue_stop_reasons[hwq]);
drivers/net/wireless/ti/wlcore/tx.c
1309
bool wlcore_is_queue_stopped_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.c
131
wl12xx_ps_link_start(wl, wlvif, hlid, true);
drivers/net/wireless/ti/wlcore/tx.c
1314
assert_spin_locked(&wl->wl_lock);
drivers/net/wireless/ti/wlcore/tx.c
1315
return !!wl->queue_stop_reasons[hwq];
drivers/net/wireless/ti/wlcore/tx.c
134
bool wl12xx_is_dummy_packet(struct wl1271 *wl, struct sk_buff *skb)
drivers/net/wireless/ti/wlcore/tx.c
136
return wl->dummy_packet == skb;
drivers/net/wireless/ti/wlcore/tx.c
140
static u8 wl12xx_tx_get_hlid_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.c
149
return wl->system_hlid;
drivers/net/wireless/ti/wlcore/tx.c
159
u8 wl12xx_tx_get_hlid(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.c
165
return wl12xx_tx_get_hlid_ap(wl, wlvif, skb, sta);
drivers/net/wireless/ti/wlcore/tx.c
176
unsigned int wlcore_calc_packet_alignment(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
179
if ((wl->quirks & WLCORE_QUIRK_TX_PAD_LAST_FRAME) ||
drivers/net/wireless/ti/wlcore/tx.c
180
!(wl->quirks & WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN))
drivers/net/wireless/ti/wlcore/tx.c
187
static int wl1271_tx_allocate(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.c
197
if (buf_offset + total_len > wl->aggr_buf_size)
drivers/net/wireless/ti/wlcore/tx.c
200
spare_blocks = wlcore_hw_get_spare_blocks(wl, is_gem);
drivers/net/wireless/ti/wlcore/tx.c
203
id = wl1271_alloc_tx_id(wl, skb);
drivers/net/wireless/ti/wlcore/tx.c
207
total_blocks = wlcore_hw_calc_tx_blocks(wl, total_len, spare_blocks);
drivers/net/wireless/ti/wlcore/tx.c
209
if (total_blocks <= wl->tx_blocks_available) {
drivers/net/wireless/ti/wlcore/tx.c
212
wl1271_free_tx_id(wl, id);
drivers/net/wireless/ti/wlcore/tx.c
217
wlcore_hw_set_tx_desc_blocks(wl, desc, total_blocks,
drivers/net/wireless/ti/wlcore/tx.c
222
wl->tx_blocks_available -= total_blocks;
drivers/net/wireless/ti/wlcore/tx.c
223
wl->tx_allocated_blocks += total_blocks;
drivers/net/wireless/ti/wlcore/tx.c
230
if (wl->tx_allocated_blocks == total_blocks ||
drivers/net/wireless/ti/wlcore/tx.c
231
test_and_clear_bit(WL1271_FLAG_REINIT_TX_WDOG, &wl->flags))
drivers/net/wireless/ti/wlcore/tx.c
232
wl12xx_rearm_tx_watchdog_locked(wl);
drivers/net/wireless/ti/wlcore/tx.c
235
wl->tx_allocated_pkts[ac]++;
drivers/net/wireless/ti/wlcore/tx.c
237
if (test_bit(hlid, wl->links_map))
drivers/net/wireless/ti/wlcore/tx.c
238
wl->links[hlid].allocated_pkts++;
drivers/net/wireless/ti/wlcore/tx.c
246
wl1271_free_tx_id(wl, id);
drivers/net/wireless/ti/wlcore/tx.c
252
static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.c
279
desc->start_time = cpu_to_le32(hosttime - wl->time_offset);
drivers/net/wireless/ti/wlcore/tx.c
281
is_dummy = wl12xx_is_dummy_packet(wl, skb);
drivers/net/wireless/ti/wlcore/tx.c
30
static int wl1271_set_default_wep_key(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
302
u8 session_id = wl->session_ids[hlid];
drivers/net/wireless/ti/wlcore/tx.c
304
if ((wl->quirks & WLCORE_QUIRK_AP_ZERO_SESSION_ID) &&
drivers/net/wireless/ti/wlcore/tx.c
357
wlcore_hw_set_tx_desc_csum(wl, desc, skb);
drivers/net/wireless/ti/wlcore/tx.c
358
wlcore_hw_set_tx_desc_data_len(wl, desc, skb);
drivers/net/wireless/ti/wlcore/tx.c
362
static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.c
37
ret = wl12xx_cmd_set_default_wep_key(wl, id,
drivers/net/wireless/ti/wlcore/tx.c
384
is_dummy = wl12xx_is_dummy_packet(wl, skb);
drivers/net/wireless/ti/wlcore/tx.c
386
if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) &&
drivers/net/wireless/ti/wlcore/tx.c
40
ret = wl12xx_cmd_set_default_wep_key(wl, id, wlvif->sta.hlid);
drivers/net/wireless/ti/wlcore/tx.c
400
ret = wl1271_set_default_wep_key(wl, wlvif, idx);
drivers/net/wireless/ti/wlcore/tx.c
409
ret = wl1271_tx_allocate(wl, wlvif, skb, extra, buf_offset, hlid,
drivers/net/wireless/ti/wlcore/tx.c
414
wl1271_tx_fill_hdr(wl, wlvif, skb, extra, info, hlid);
drivers/net/wireless/ti/wlcore/tx.c
417
wl1271_tx_ap_update_inconnection_sta(wl, wlvif, skb);
drivers/net/wireless/ti/wlcore/tx.c
418
wl1271_tx_regulate_link(wl, wlvif, hlid);
drivers/net/wireless/ti/wlcore/tx.c
429
total_len = wlcore_calc_packet_alignment(wl, skb->len);
drivers/net/wireless/ti/wlcore/tx.c
431
memcpy(wl->aggr_buf + buf_offset, skb->data, skb->len);
drivers/net/wireless/ti/wlcore/tx.c
432
memset(wl->aggr_buf + buf_offset + skb->len, 0, total_len - skb->len);
drivers/net/wireless/ti/wlcore/tx.c
441
u32 wl1271_tx_enabled_rates_get(struct wl1271 *wl, u32 rate_set,
drivers/net/wireless/ti/wlcore/tx.c
448
band = wl->hw->wiphy->bands[rate_band];
drivers/net/wireless/ti/wlcore/tx.c
467
void wl1271_handle_tx_low_watermark(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/tx.c
472
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/tx.c
474
if (wlcore_is_queue_stopped_by_reason(wl, wlvif, i,
drivers/net/wireless/ti/wlcore/tx.c
479
wlcore_wake_queue(wl, wlvif, i,
drivers/net/wireless/ti/wlcore/tx.c
485
static int wlcore_select_ac(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/tx.c
49
static int wl1271_alloc_tx_id(struct wl1271 *wl, struct sk_buff *skb)
drivers/net/wireless/ti/wlcore/tx.c
499
if (wl->tx_queue_count[ac] &&
drivers/net/wireless/ti/wlcore/tx.c
500
wl->tx_allocated_pkts[ac] < min_pkts) {
drivers/net/wireless/ti/wlcore/tx.c
502
min_pkts = wl->tx_allocated_pkts[q];
drivers/net/wireless/ti/wlcore/tx.c
509
static struct sk_buff *wlcore_lnk_dequeue(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
517
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
518
WARN_ON_ONCE(wl->tx_queue_count[q] <= 0);
drivers/net/wireless/ti/wlcore/tx.c
519
wl->tx_queue_count[q]--;
drivers/net/wireless/ti/wlcore/tx.c
524
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
53
id = find_first_zero_bit(wl->tx_frames_map, wl->num_tx_desc);
drivers/net/wireless/ti/wlcore/tx.c
530
static struct sk_buff *wlcore_lnk_dequeue_high_prio(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
534
struct wl1271_link *lnk = &wl->links[hlid];
drivers/net/wireless/ti/wlcore/tx.c
536
if (!wlcore_hw_lnk_high_prio(wl, hlid, lnk)) {
drivers/net/wireless/ti/wlcore/tx.c
539
wlcore_hw_lnk_low_prio(wl, hlid, lnk))
drivers/net/wireless/ti/wlcore/tx.c
54
if (id >= wl->num_tx_desc)
drivers/net/wireless/ti/wlcore/tx.c
546
return wlcore_lnk_dequeue(wl, lnk, ac);
drivers/net/wireless/ti/wlcore/tx.c
549
static struct sk_buff *wlcore_vif_dequeue_high_prio(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
558
start_hlid = (wlvif->last_tx_hlid + 1) % wl->num_links;
drivers/net/wireless/ti/wlcore/tx.c
561
for (i = 0; i < wl->num_links; i++) {
drivers/net/wireless/ti/wlcore/tx.c
562
h = (start_hlid + i) % wl->num_links;
drivers/net/wireless/ti/wlcore/tx.c
568
skb = wlcore_lnk_dequeue_high_prio(wl, h, ac,
drivers/net/wireless/ti/wlcore/tx.c
57
__set_bit(id, wl->tx_frames_map);
drivers/net/wireless/ti/wlcore/tx.c
58
wl->tx_frames[id] = skb;
drivers/net/wireless/ti/wlcore/tx.c
584
static struct sk_buff *wl1271_skb_dequeue(struct wl1271 *wl, u8 *hlid)
drivers/net/wireless/ti/wlcore/tx.c
587
struct wl12xx_vif *wlvif = wl->last_wlvif;
drivers/net/wireless/ti/wlcore/tx.c
59
wl->tx_frames_cnt++;
drivers/net/wireless/ti/wlcore/tx.c
592
ac = wlcore_select_ac(wl);
drivers/net/wireless/ti/wlcore/tx.c
598
wl12xx_for_each_wlvif_continue(wl, wlvif) {
drivers/net/wireless/ti/wlcore/tx.c
602
skb = wlcore_vif_dequeue_high_prio(wl, wlvif, ac, hlid,
drivers/net/wireless/ti/wlcore/tx.c
607
wl->last_wlvif = wlvif;
drivers/net/wireless/ti/wlcore/tx.c
614
skb = wlcore_lnk_dequeue_high_prio(wl, wl->system_hlid,
drivers/net/wireless/ti/wlcore/tx.c
617
*hlid = wl->system_hlid;
drivers/net/wireless/ti/wlcore/tx.c
618
wl->last_wlvif = NULL;
drivers/net/wireless/ti/wlcore/tx.c
625
wl12xx_for_each_wlvif(wl, wlvif) {
drivers/net/wireless/ti/wlcore/tx.c
629
skb = wlcore_vif_dequeue_high_prio(wl, wlvif, ac, hlid,
drivers/net/wireless/ti/wlcore/tx.c
63
void wl1271_free_tx_id(struct wl1271 *wl, int id)
drivers/net/wireless/ti/wlcore/tx.c
632
wl->last_wlvif = wlvif;
drivers/net/wireless/ti/wlcore/tx.c
637
if (wlvif == wl->last_wlvif)
drivers/net/wireless/ti/wlcore/tx.c
644
struct wl1271_link *lnk = &wl->links[low_prio_hlid];
drivers/net/wireless/ti/wlcore/tx.c
645
skb = wlcore_lnk_dequeue(wl, lnk, ac);
drivers/net/wireless/ti/wlcore/tx.c
65
if (__test_and_clear_bit(id, wl->tx_frames_map)) {
drivers/net/wireless/ti/wlcore/tx.c
651
wl->last_wlvif = lnk->wlvif;
drivers/net/wireless/ti/wlcore/tx.c
659
test_and_clear_bit(WL1271_FLAG_DUMMY_PACKET_PENDING, &wl->flags)) {
drivers/net/wireless/ti/wlcore/tx.c
66
if (unlikely(wl->tx_frames_cnt == wl->num_tx_desc))
drivers/net/wireless/ti/wlcore/tx.c
662
skb = wl->dummy_packet;
drivers/net/wireless/ti/wlcore/tx.c
663
*hlid = wl->system_hlid;
drivers/net/wireless/ti/wlcore/tx.c
665
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
666
WARN_ON_ONCE(wl->tx_queue_count[q] <= 0);
drivers/net/wireless/ti/wlcore/tx.c
667
wl->tx_queue_count[q]--;
drivers/net/wireless/ti/wlcore/tx.c
668
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
67
clear_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags);
drivers/net/wireless/ti/wlcore/tx.c
674
static void wl1271_skb_queue_head(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.c
680
if (wl12xx_is_dummy_packet(wl, skb)) {
drivers/net/wireless/ti/wlcore/tx.c
681
set_bit(WL1271_FLAG_DUMMY_PACKET_PENDING, &wl->flags);
drivers/net/wireless/ti/wlcore/tx.c
683
skb_queue_head(&wl->links[hlid].tx_queue[q], skb);
drivers/net/wireless/ti/wlcore/tx.c
686
wlvif->last_tx_hlid = (hlid + wl->num_links - 1) %
drivers/net/wireless/ti/wlcore/tx.c
687
wl->num_links;
drivers/net/wireless/ti/wlcore/tx.c
69
wl->tx_frames[id] = NULL;
drivers/net/wireless/ti/wlcore/tx.c
690
spin_lock_irqsave(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
691
wl->tx_queue_count[q]++;
drivers/net/wireless/ti/wlcore/tx.c
694
spin_unlock_irqrestore(&wl->wl_lock, flags);
drivers/net/wireless/ti/wlcore/tx.c
70
wl->tx_frames_cnt--;
drivers/net/wireless/ti/wlcore/tx.c
704
void wl12xx_rearm_rx_streaming(struct wl1271 *wl, unsigned long *active_hlids)
drivers/net/wireless/ti/wlcore/tx.c
710
if (!wl->conf.rx_streaming.interval)
drivers/net/wireless/ti/wlcore/tx.c
713
if (!wl->conf.rx_streaming.always &&
drivers/net/wireless/ti/wlcore/tx.c
714
!test_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags))
drivers/net/wireless/ti/wlcore/tx.c
717
timeout = wl->conf.rx_streaming.duration;
drivers/net/wireless/ti/wlcore/tx.c
718
wl12xx_for_each_wlvif_sta(wl, wlvif) {
drivers/net/wireless/ti/wlcore/tx.c
720
for_each_set_bit(hlid, active_hlids, wl->num_links) {
drivers/net/wireless/ti/wlcore/tx.c
732
ieee80211_queue_work(wl->hw,
drivers/net/wireless/ti/wlcore/tx.c
75
static void wl1271_tx_ap_update_inconnection_sta(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
750
int wlcore_tx_work_locked(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/tx.c
762
if (unlikely(wl->state != WLCORE_STATE_ON))
drivers/net/wireless/ti/wlcore/tx.c
765
while ((skb = wl1271_skb_dequeue(wl, &hlid))) {
drivers/net/wireless/ti/wlcore/tx.c
770
if (!wl12xx_is_dummy_packet(wl, skb))
drivers/net/wireless/ti/wlcore/tx.c
773
hlid = wl->system_hlid;
drivers/net/wireless/ti/wlcore/tx.c
776
ret = wl1271_prepare_tx_frame(wl, wlvif, skb, buf_offset,
drivers/net/wireless/ti/wlcore/tx.c
783
wl1271_skb_queue_head(wl, wlvif, skb, hlid);
drivers/net/wireless/ti/wlcore/tx.c
785
buf_offset = wlcore_hw_pre_pkt_send(wl, buf_offset,
drivers/net/wireless/ti/wlcore/tx.c
787
bus_ret = wlcore_write_data(wl, REG_SLV_MEM_DATA,
drivers/net/wireless/ti/wlcore/tx.c
788
wl->aggr_buf, buf_offset, true);
drivers/net/wireless/ti/wlcore/tx.c
800
wl1271_skb_queue_head(wl, wlvif, skb, hlid);
drivers/net/wireless/ti/wlcore/tx.c
802
set_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags);
drivers/net/wireless/ti/wlcore/tx.c
805
if (wl12xx_is_dummy_packet(wl, skb))
drivers/net/wireless/ti/wlcore/tx.c
810
wl1271_skb_queue_head(wl, wlvif, skb, hlid);
drivers/net/wireless/ti/wlcore/tx.c
812
ieee80211_free_txskb(wl->hw, skb);
drivers/net/wireless/ti/wlcore/tx.c
817
wl->tx_packets_count++;
drivers/net/wireless/ti/wlcore/tx.c
826
buf_offset = wlcore_hw_pre_pkt_send(wl, buf_offset, last_len);
drivers/net/wireless/ti/wlcore/tx.c
827
bus_ret = wlcore_write_data(wl, REG_SLV_MEM_DATA, wl->aggr_buf,
drivers/net/wireless/ti/wlcore/tx.c
839
if (wl->quirks & WLCORE_QUIRK_END_OF_TRANSACTION) {
drivers/net/wireless/ti/wlcore/tx.c
840
bus_ret = wlcore_write32(wl, WL12XX_HOST_WR_ACCESS,
drivers/net/wireless/ti/wlcore/tx.c
841
wl->tx_packets_count);
drivers/net/wireless/ti/wlcore/tx.c
846
wl1271_handle_tx_low_watermark(wl);
drivers/net/wireless/ti/wlcore/tx.c
848
wl12xx_rearm_rx_streaming(wl, active_hlids);
drivers/net/wireless/ti/wlcore/tx.c
856
struct wl1271 *wl = container_of(work, struct wl1271, tx_work);
drivers/net/wireless/ti/wlcore/tx.c
859
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/tx.c
860
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/tx.c
864
ret = wlcore_tx_work_locked(wl);
drivers/net/wireless/ti/wlcore/tx.c
866
pm_runtime_put_noidle(wl->dev);
drivers/net/wireless/ti/wlcore/tx.c
867
wl12xx_queue_recovery_work(wl);
drivers/net/wireless/ti/wlcore/tx.c
871
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/tx.c
873
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/tx.c
897
static void wl1271_tx_complete_packet(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.c
91
wl1271_acx_set_inconnection_sta(wl, wlvif, hdr->addr1);
drivers/net/wireless/ti/wlcore/tx.c
910
if (unlikely(id >= wl->num_tx_desc || wl->tx_frames[id] == NULL)) {
drivers/net/wireless/ti/wlcore/tx.c
915
skb = wl->tx_frames[id];
drivers/net/wireless/ti/wlcore/tx.c
918
if (wl12xx_is_dummy_packet(wl, skb)) {
drivers/net/wireless/ti/wlcore/tx.c
919
wl1271_free_tx_id(wl, id);
drivers/net/wireless/ti/wlcore/tx.c
931
rate = wlcore_rate_to_idx(wl, result->rate_class_index,
drivers/net/wireless/ti/wlcore/tx.c
936
wl->stats.excessive_retries++;
drivers/net/wireless/ti/wlcore/tx.c
945
wl->stats.retry_count += result->ack_failures;
drivers/net/wireless/ti/wlcore/tx.c
951
if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) &&
drivers/net/wireless/ti/wlcore/tx.c
966
skb_queue_tail(&wl->deferred_tx_queue, skb);
drivers/net/wireless/ti/wlcore/tx.c
967
queue_work(wl->freezable_wq, &wl->netstack_work);
drivers/net/wireless/ti/wlcore/tx.c
968
wl1271_free_tx_id(wl, result->id);
drivers/net/wireless/ti/wlcore/tx.c
972
int wlcore_tx_complete(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/tx.c
974
struct wl1271_acx_mem_map *memmap = wl->target_mem_map;
drivers/net/wireless/ti/wlcore/tx.c
98
wlcore_update_inconn_sta(wl, wlvif, NULL, true);
drivers/net/wireless/ti/wlcore/tx.c
980
ret = wlcore_read(wl, le32_to_cpu(memmap->tx_result),
drivers/net/wireless/ti/wlcore/tx.c
981
wl->tx_res_if, sizeof(*wl->tx_res_if), false);
drivers/net/wireless/ti/wlcore/tx.c
985
fw_counter = le32_to_cpu(wl->tx_res_if->tx_result_fw_counter);
drivers/net/wireless/ti/wlcore/tx.c
988
ret = wlcore_write32(wl, le32_to_cpu(memmap->tx_result) +
drivers/net/wireless/ti/wlcore/tx.c
994
count = fw_counter - wl->tx_results_count;
drivers/net/wireless/ti/wlcore/tx.h
219
static inline int wl1271_tx_total_queue_count(struct wl1271 *wl)
drivers/net/wireless/ti/wlcore/tx.h
224
count += wl->tx_queue_count[i];
drivers/net/wireless/ti/wlcore/tx.h
230
int wlcore_tx_work_locked(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/tx.h
231
int wlcore_tx_complete(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/tx.h
232
void wl12xx_tx_reset_wlvif(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/tx.h
233
void wl12xx_tx_reset(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/tx.h
234
void wl1271_tx_flush(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/tx.h
235
u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum nl80211_band band);
drivers/net/wireless/ti/wlcore/tx.h
236
u32 wl1271_tx_enabled_rates_get(struct wl1271 *wl, u32 rate_set,
drivers/net/wireless/ti/wlcore/tx.h
238
u32 wl1271_tx_min_rate_get(struct wl1271 *wl, u32 rate_set);
drivers/net/wireless/ti/wlcore/tx.h
239
u8 wl12xx_tx_get_hlid(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.h
241
void wl1271_tx_reset_link_queues(struct wl1271 *wl, u8 hlid);
drivers/net/wireless/ti/wlcore/tx.h
242
void wl1271_handle_tx_low_watermark(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/tx.h
243
bool wl12xx_is_dummy_packet(struct wl1271 *wl, struct sk_buff *skb);
drivers/net/wireless/ti/wlcore/tx.h
244
void wl12xx_rearm_rx_streaming(struct wl1271 *wl, unsigned long *active_hlids);
drivers/net/wireless/ti/wlcore/tx.h
245
unsigned int wlcore_calc_packet_alignment(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.h
247
void wl1271_free_tx_id(struct wl1271 *wl, int id);
drivers/net/wireless/ti/wlcore/tx.h
248
void wlcore_stop_queue_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.h
250
void wlcore_stop_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue,
drivers/net/wireless/ti/wlcore/tx.h
252
void wlcore_wake_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue,
drivers/net/wireless/ti/wlcore/tx.h
254
void wlcore_stop_queues(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.h
256
void wlcore_wake_queues(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.h
258
bool wlcore_is_queue_stopped_by_reason(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.h
262
wlcore_is_queue_stopped_by_reason_locked(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/tx.h
266
bool wlcore_is_queue_stopped_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/tx.h
270
void wl1271_free_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid);
drivers/net/wireless/ti/wlcore/tx.h
271
void wl12xx_rearm_tx_watchdog_locked(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
107
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/vendor_cmd.c
125
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
127
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/vendor_cmd.c
132
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
136
ret = wlcore_smart_config_set_group_key(wl,
drivers/net/wireless/ti/wlcore/vendor_cmd.c
141
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
143
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
32
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/vendor_cmd.c
49
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
51
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/vendor_cmd.c
56
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
60
ret = wlcore_smart_config_start(wl,
drivers/net/wireless/ti/wlcore/vendor_cmd.c
63
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
65
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
76
struct wl1271 *wl = hw->priv;
drivers/net/wireless/ti/wlcore/vendor_cmd.c
81
mutex_lock(&wl->mutex);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
83
if (unlikely(wl->state != WLCORE_STATE_ON)) {
drivers/net/wireless/ti/wlcore/vendor_cmd.c
88
ret = pm_runtime_resume_and_get(wl->dev);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
92
ret = wlcore_smart_config_stop(wl);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
94
pm_runtime_put_autosuspend(wl->dev);
drivers/net/wireless/ti/wlcore/vendor_cmd.c
96
mutex_unlock(&wl->mutex);
drivers/net/wireless/ti/wlcore/wlcore.h
103
u32 (*convert_hwaddr)(struct wl1271 *wl, u32 hwaddr);
drivers/net/wireless/ti/wlcore/wlcore.h
104
bool (*lnk_high_prio)(struct wl1271 *wl, u8 hlid,
drivers/net/wireless/ti/wlcore/wlcore.h
106
bool (*lnk_low_prio)(struct wl1271 *wl, u8 hlid,
drivers/net/wireless/ti/wlcore/wlcore.h
108
int (*interrupt_notify)(struct wl1271 *wl, bool action);
drivers/net/wireless/ti/wlcore/wlcore.h
109
int (*rx_ba_filter)(struct wl1271 *wl, bool action);
drivers/net/wireless/ti/wlcore/wlcore.h
110
int (*ap_sleep)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
111
int (*smart_config_start)(struct wl1271 *wl, u32 group_bitmap);
drivers/net/wireless/ti/wlcore/wlcore.h
112
int (*smart_config_stop)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
113
int (*smart_config_set_group_key)(struct wl1271 *wl, u16 group_id,
drivers/net/wireless/ti/wlcore/wlcore.h
115
int (*set_cac)(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/wlcore.h
117
int (*dfs_master_restart)(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/wlcore.h
38
int (*setup)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
39
int (*identify_chip)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
40
int (*identify_fw)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
41
int (*boot)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
42
int (*plt_init)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
43
int (*trigger_cmd)(struct wl1271 *wl, int cmd_box_addr,
drivers/net/wireless/ti/wlcore/wlcore.h
45
int (*ack_event)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
46
int (*wait_for_event)(struct wl1271 *wl, enum wlcore_wait_event event,
drivers/net/wireless/ti/wlcore/wlcore.h
48
int (*process_mailbox_events)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
49
u32 (*calc_tx_blocks)(struct wl1271 *wl, u32 len, u32 spare_blks);
drivers/net/wireless/ti/wlcore/wlcore.h
499
int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev);
drivers/net/wireless/ti/wlcore/wlcore.h
50
void (*set_tx_desc_blocks)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
503
int wlcore_free_hw(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
504
int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd,
drivers/net/wireless/ti/wlcore/wlcore.h
508
void wlcore_regdomain_config(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
509
void wlcore_update_inconn_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/wlcore.h
513
wlcore_set_ht_cap(struct wl1271 *wl, enum nl80211_band band,
drivers/net/wireless/ti/wlcore/wlcore.h
516
memcpy(&wl->ht_cap[band], ht_cap, sizeof(*ht_cap));
drivers/net/wireless/ti/wlcore/wlcore.h
523
wlcore_set_min_fw_ver(struct wl1271 *wl, unsigned int chip,
drivers/net/wireless/ti/wlcore/wlcore.h
529
wl->min_sr_fw_ver[FW_VER_CHIP] = chip;
drivers/net/wireless/ti/wlcore/wlcore.h
53
void (*set_tx_desc_data_len)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
530
wl->min_sr_fw_ver[FW_VER_IF_TYPE] = iftype_sr;
drivers/net/wireless/ti/wlcore/wlcore.h
531
wl->min_sr_fw_ver[FW_VER_MAJOR] = major_sr;
drivers/net/wireless/ti/wlcore/wlcore.h
532
wl->min_sr_fw_ver[FW_VER_SUBTYPE] = subtype_sr;
drivers/net/wireless/ti/wlcore/wlcore.h
533
wl->min_sr_fw_ver[FW_VER_MINOR] = minor_sr;
drivers/net/wireless/ti/wlcore/wlcore.h
535
wl->min_mr_fw_ver[FW_VER_CHIP] = chip;
drivers/net/wireless/ti/wlcore/wlcore.h
536
wl->min_mr_fw_ver[FW_VER_IF_TYPE] = iftype_mr;
drivers/net/wireless/ti/wlcore/wlcore.h
537
wl->min_mr_fw_ver[FW_VER_MAJOR] = major_mr;
drivers/net/wireless/ti/wlcore/wlcore.h
538
wl->min_mr_fw_ver[FW_VER_SUBTYPE] = subtype_mr;
drivers/net/wireless/ti/wlcore/wlcore.h
539
wl->min_mr_fw_ver[FW_VER_MINOR] = minor_mr;
drivers/net/wireless/ti/wlcore/wlcore.h
56
enum wl_rx_buf_align (*get_rx_buf_align)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
58
int (*prepare_read)(struct wl1271 *wl, u32 rx_desc, u32 len);
drivers/net/wireless/ti/wlcore/wlcore.h
59
u32 (*get_rx_packet_len)(struct wl1271 *wl, void *rx_data,
drivers/net/wireless/ti/wlcore/wlcore.h
61
int (*tx_delayed_compl)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
62
void (*tx_immediate_compl)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
63
int (*hw_init)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
64
int (*init_vif)(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/wlcore.h
65
void (*convert_fw_status)(struct wl1271 *wl, void *raw_fw_status,
drivers/net/wireless/ti/wlcore/wlcore.h
67
u32 (*sta_get_ap_rate_mask)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
69
int (*get_pg_ver)(struct wl1271 *wl, s8 *ver);
drivers/net/wireless/ti/wlcore/wlcore.h
70
int (*get_mac)(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore.h
71
void (*set_tx_desc_csum)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
74
void (*set_rx_csum)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
77
u32 (*ap_get_mimo_wide_rate_mask)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
79
int (*debugfs_init)(struct wl1271 *wl, struct dentry *rootdir);
drivers/net/wireless/ti/wlcore/wlcore.h
80
int (*handle_static_data)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
82
int (*scan_start)(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/wlcore.h
84
int (*scan_stop)(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/wlcore.h
85
int (*sched_scan_start)(struct wl1271 *wl, struct wl12xx_vif *wlvif,
drivers/net/wireless/ti/wlcore/wlcore.h
88
void (*sched_scan_stop)(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/wlcore.h
89
int (*get_spare_blocks)(struct wl1271 *wl, bool is_gem);
drivers/net/wireless/ti/wlcore/wlcore.h
90
int (*set_key)(struct wl1271 *wl, enum set_key_cmd cmd,
drivers/net/wireless/ti/wlcore/wlcore.h
94
int (*channel_switch)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore.h
97
u32 (*pre_pkt_send)(struct wl1271 *wl, u32 buf_offset, u32 last_len);
drivers/net/wireless/ti/wlcore/wlcore.h
98
void (*sta_rc_update)(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/wlcore.h
99
int (*set_peer_cap)(struct wl1271 *wl,
drivers/net/wireless/ti/wlcore/wlcore_i.h
349
struct wl1271 *wl;
drivers/net/wireless/ti/wlcore/wlcore_i.h
520
#define wl12xx_for_each_wlvif(wl, wlvif) \
drivers/net/wireless/ti/wlcore/wlcore_i.h
521
list_for_each_entry(wlvif, &wl->wlvif_list, list)
drivers/net/wireless/ti/wlcore/wlcore_i.h
523
#define wl12xx_for_each_wlvif_continue(wl, wlvif) \
drivers/net/wireless/ti/wlcore/wlcore_i.h
524
list_for_each_entry_continue(wlvif, &wl->wlvif_list, list)
drivers/net/wireless/ti/wlcore/wlcore_i.h
526
#define wl12xx_for_each_wlvif_bss_type(wl, wlvif, _bss_type) \
drivers/net/wireless/ti/wlcore/wlcore_i.h
527
wl12xx_for_each_wlvif(wl, wlvif) \
drivers/net/wireless/ti/wlcore/wlcore_i.h
530
#define wl12xx_for_each_wlvif_sta(wl, wlvif) \
drivers/net/wireless/ti/wlcore/wlcore_i.h
531
wl12xx_for_each_wlvif_bss_type(wl, wlvif, BSS_TYPE_STA_BSS)
drivers/net/wireless/ti/wlcore/wlcore_i.h
533
#define wl12xx_for_each_wlvif_ap(wl, wlvif) \
drivers/net/wireless/ti/wlcore/wlcore_i.h
534
wl12xx_for_each_wlvif_bss_type(wl, wlvif, BSS_TYPE_AP_BSS)
drivers/net/wireless/ti/wlcore/wlcore_i.h
536
int wl1271_plt_start(struct wl1271 *wl, const enum plt_mode plt_mode);
drivers/net/wireless/ti/wlcore/wlcore_i.h
537
int wl1271_plt_stop(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore_i.h
538
int wl1271_recalc_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif);
drivers/net/wireless/ti/wlcore/wlcore_i.h
539
void wl12xx_queue_recovery_work(struct wl1271 *wl);
drivers/net/wireless/ti/wlcore/wlcore_i.h
540
size_t wl12xx_copy_fwlog(struct wl1271 *wl, u8 *memblock, size_t maxlen);
drivers/scsi/myrs.h
1029
uint wl[2];
drivers/scsi/myrs.h
1034
writel(u.wl[0], write_address);
drivers/scsi/myrs.h
1035
writel(u.wl[1], write_address + 4);
drivers/video/fbdev/leo.c
442
static void leo_wid_put(struct fb_info *info, struct fb_wid_list *wl)
drivers/video/fbdev/leo.c
455
for (i = 0, wi = wl->wl_list; i < wl->wl_count; i++, wi++) {
drivers/video/fbdev/leo.c
483
struct fb_wid_list wl;
drivers/video/fbdev/leo.c
485
wl.wl_count = 1;
drivers/video/fbdev/leo.c
486
wl.wl_list = &wi;
drivers/video/fbdev/leo.c
490
leo_wid_put(info, &wl);
drivers/video/fbdev/leo.c
493
leo_wid_put(info, &wl);
drivers/video/fbdev/leo.c
496
leo_wid_put(info, &wl);
drivers/video/fbdev/leo.c
500
leo_wid_put(info, &wl);
drivers/video/fbdev/matrox/matroxfb_g450.c
135
int *wl)
drivers/video/fbdev/matrox/matroxfb_g450.c
141
*wl = min(b + c, WLMAX);
drivers/video/fbdev/matrox/matroxfb_maven.c
359
int *bl, int *wl) {
drivers/video/fbdev/matrox/matroxfb_maven.c
364
*wl = min(b + c, WLMAX);
drivers/video/fbdev/matrox/matroxfb_maven.c
504
int bl, wl;
drivers/video/fbdev/matrox/matroxfb_maven.c
505
maven_compute_bwlevel (md, &bl, &wl);
drivers/video/fbdev/matrox/matroxfb_maven.c
508
data->regs[0x1e] = wl >> 2;
drivers/video/fbdev/matrox/matroxfb_maven.c
509
data->regs[0x1f] = wl & 3;
include/net/ipv6.h
556
__be32 wh, __be32 wl)
include/net/ipv6.h
560
if (__builtin_constant_p(wh) && __builtin_constant_p(wl)) {
include/net/ipv6.h
561
*(__force u64 *)addr = ((__force u64)(wh) << 32 | (__force u64)(wl));
include/net/ipv6.h
565
if (__builtin_constant_p(wl) && __builtin_constant_p(wh)) {
include/net/ipv6.h
566
*(__force u64 *)addr = ((__force u64)(wl) << 32 | (__force u64)(wh));
include/net/ipv6.h
572
addr[1] = wl;
kernel/power/wakelock.c
100
list_move(&wl->lru, &wakelocks_lru_list);
kernel/power/wakelock.c
105
struct wakelock *wl, *aux;
kernel/power/wakelock.c
111
list_for_each_entry_safe_reverse(wl, aux, &wakelocks_lru_list, lru) {
kernel/power/wakelock.c
115
spin_lock_irq(&wl->ws->lock);
kernel/power/wakelock.c
116
idle_time_ns = ktime_to_ns(ktime_sub(now, wl->ws->last_time));
kernel/power/wakelock.c
117
active = wl->ws->active;
kernel/power/wakelock.c
118
spin_unlock_irq(&wl->ws->lock);
kernel/power/wakelock.c
124
wakeup_source_unregister(wl->ws);
kernel/power/wakelock.c
125
rb_erase(&wl->node, &wakelocks_tree);
kernel/power/wakelock.c
126
list_del(&wl->lru);
kernel/power/wakelock.c
127
kfree(wl->name);
kernel/power/wakelock.c
128
kfree(wl);
kernel/power/wakelock.c
145
static inline void wakelocks_lru_add(struct wakelock *wl) {}
kernel/power/wakelock.c
146
static inline void wakelocks_lru_most_recent(struct wakelock *wl) {}
kernel/power/wakelock.c
155
struct wakelock *wl;
kernel/power/wakelock.c
161
wl = rb_entry(*node, struct wakelock, node);
kernel/power/wakelock.c
162
diff = strncmp(name, wl->name, len);
kernel/power/wakelock.c
164
if (wl->name[len])
kernel/power/wakelock.c
167
return wl;
kernel/power/wakelock.c
181
wl = kzalloc_obj(*wl);
kernel/power/wakelock.c
182
if (!wl)
kernel/power/wakelock.c
185
wl->name = kstrndup(name, len, GFP_KERNEL);
kernel/power/wakelock.c
186
if (!wl->name) {
kernel/power/wakelock.c
187
kfree(wl);
kernel/power/wakelock.c
191
wl->ws = wakeup_source_register(NULL, wl->name);
kernel/power/wakelock.c
192
if (!wl->ws) {
kernel/power/wakelock.c
193
kfree(wl->name);
kernel/power/wakelock.c
194
kfree(wl);
kernel/power/wakelock.c
197
wl->ws->last_time = ktime_get();
kernel/power/wakelock.c
199
rb_link_node(&wl->node, parent, node);
kernel/power/wakelock.c
200
rb_insert_color(&wl->node, &wakelocks_tree);
kernel/power/wakelock.c
201
wakelocks_lru_add(wl);
kernel/power/wakelock.c
203
return wl;
kernel/power/wakelock.c
209
struct wakelock *wl;
kernel/power/wakelock.c
233
wl = wakelock_lookup_add(buf, len, true);
kernel/power/wakelock.c
234
if (IS_ERR(wl)) {
kernel/power/wakelock.c
235
ret = PTR_ERR(wl);
kernel/power/wakelock.c
242
__pm_wakeup_event(wl->ws, timeout_ms);
kernel/power/wakelock.c
244
__pm_stay_awake(wl->ws);
kernel/power/wakelock.c
247
wakelocks_lru_most_recent(wl);
kernel/power/wakelock.c
256
struct wakelock *wl;
kernel/power/wakelock.c
275
wl = wakelock_lookup_add(buf, len, false);
kernel/power/wakelock.c
276
if (IS_ERR(wl)) {
kernel/power/wakelock.c
277
ret = PTR_ERR(wl);
kernel/power/wakelock.c
280
__pm_relax(wl->ws);
kernel/power/wakelock.c
282
wakelocks_lru_most_recent(wl);
kernel/power/wakelock.c
41
struct wakelock *wl;
kernel/power/wakelock.c
47
wl = rb_entry(node, struct wakelock, node);
kernel/power/wakelock.c
48
if (wl->ws->active == show_active)
kernel/power/wakelock.c
49
len += sysfs_emit_at(buf, len, "%s ", wl->name);
kernel/power/wakelock.c
93
static inline void wakelocks_lru_add(struct wakelock *wl)
kernel/power/wakelock.c
95
list_add(&wl->lru, &wakelocks_lru_list);
kernel/power/wakelock.c
98
static inline void wakelocks_lru_most_recent(struct wakelock *wl)
lib/crypto/mpi/longlong.h
320
#define umul_ppmm(wh, wl, u, v) \
lib/crypto/mpi/longlong.h
330
(wl) = __xx.__i.__l; \
lib/crypto/mpi/longlong.h
613
#define umul_ppmm(wh, wl, u, v) \
lib/crypto/mpi/longlong.h
620
(wl) = __x.__i.__l; \
sound/pci/intel8x0.c
2762
const struct snd_pci_quirk *wl;
sound/pci/intel8x0.c
2764
wl = snd_pci_quirk_lookup(pci, intel8x0_clock_list);
sound/pci/intel8x0.c
2765
if (!wl)
sound/pci/intel8x0.c
2768
pci->subsystem_vendor, pci->subsystem_device, wl->value);
sound/pci/intel8x0.c
2769
chip->ac97_bus->clock = wl->value;
sound/soc/codecs/arizona.c
1787
int bclk, lrclk, wl, frame, bclk_target;
sound/soc/codecs/arizona.c
1796
wl = params_width(params);
sound/soc/codecs/arizona.c
1805
tdm_width = wl;
sound/soc/codecs/arizona.c
1841
frame = wl << ARIZONA_AIF1TX_WL_SHIFT | tdm_width;
sound/soc/codecs/es8311.c
487
unsigned int wl;
sound/soc/codecs/es8311.c
492
wl = ES8311_SDP_WL_16;
sound/soc/codecs/es8311.c
495
wl = ES8311_SDP_WL_18;
sound/soc/codecs/es8311.c
498
wl = ES8311_SDP_WL_20;
sound/soc/codecs/es8311.c
501
wl = ES8311_SDP_WL_24;
sound/soc/codecs/es8311.c
504
wl = ES8311_SDP_WL_32;
sound/soc/codecs/es8311.c
514
wl << ES8311_SDP_WL_SHIFT);
sound/soc/codecs/es8311.c
518
wl << ES8311_SDP_WL_SHIFT);
sound/soc/codecs/es8328.c
466
int wl;
sound/soc/codecs/es8328.c
506
wl = 3;
sound/soc/codecs/es8328.c
509
wl = 2;
sound/soc/codecs/es8328.c
512
wl = 1;
sound/soc/codecs/es8328.c
515
wl = 0;
sound/soc/codecs/es8328.c
518
wl = 4;
sound/soc/codecs/es8328.c
527
wl << ES8328_DACCONTROL1_DACWL_SHIFT);
sound/soc/codecs/es8328.c
538
wl << ES8328_ADCCONTROL4_ADCWL_SHIFT);
sound/soc/codecs/madera.c
3102
int bclk, lrclk, wl, frame, bclk_target, num_rates;
sound/soc/codecs/madera.c
3114
wl = snd_pcm_format_width(params_format(params));
sound/soc/codecs/madera.c
3123
tdm_width = wl;
sound/soc/codecs/madera.c
3158
frame = wl << MADERA_AIF1TX_WL_SHIFT | tdm_width;
sound/soc/codecs/wm2200.c
1693
int i, bclk, lrclk, wl, fl, sr_code;
sound/soc/codecs/wm2200.c
1697
wl = params_width(params);
sound/soc/codecs/wm2200.c
1698
if (wl < 0)
sound/soc/codecs/wm2200.c
1699
return wl;
sound/soc/codecs/wm2200.c
1705
wl, fl);
sound/soc/codecs/wm2200.c
1760
i = (wl << WM2200_AIF1TX_WL_SHIFT) | wl;
sound/soc/codecs/wm5100.c
1405
int i, base, bclk, aif_rate, lrclk, wl, fl, sr;
sound/soc/codecs/wm5100.c
1411
wl = params_width(params);
sound/soc/codecs/wm5100.c
1412
if (wl < 0)
sound/soc/codecs/wm5100.c
1413
return wl;
sound/soc/codecs/wm5100.c
1419
wl, fl);
sound/soc/codecs/wm5100.c
1489
i = (wl << WM5100_AIF1TX_WL_SHIFT) | fl;
sound/soc/codecs/wm8955.c
595
int wl;
sound/soc/codecs/wm8955.c
599
wl = 0;
sound/soc/codecs/wm8955.c
602
wl = 0x4;
sound/soc/codecs/wm8955.c
605
wl = 0x8;
sound/soc/codecs/wm8955.c
608
wl = 0xc;
sound/soc/codecs/wm8955.c
614
WM8955_WL_MASK, wl);
sound/soc/fsl/fsl_ssi.c
814
u32 wl = SSI_SxCCR_WL(sample_size);
sound/soc/fsl/fsl_ssi.c
863
regmap_update_bits(regs, REG_SSI_SxCCR(tx2), SSI_SxCCR_WL_MASK, wl);
sound/soc/starfive/jh7110_tdm.c
103
enum TDM_WL wl;
sound/soc/starfive/jh7110_tdm.c
222
(tdm->rx.wl << WL_BIT) |
sound/soc/starfive/jh7110_tdm.c
228
(tdm->tx.wl << WL_BIT) |
sound/soc/starfive/jh7110_tdm.c
377
tdm->tx.wl = chan_wl;
sound/soc/starfive/jh7110_tdm.c
383
tdm->rx.wl = chan_wl;
sound/soc/starfive/jh7110_tdm.c
531
tdm->rx.wl = TDM_16BIT_WORD_LEN;
sound/soc/starfive/jh7110_tdm.c
532
tdm->tx.wl = TDM_16BIT_WORD_LEN;