wl 14 arch/alpha/math-emu/sfp-util.h #define umul_ppmm(wh, wl, u, v) \ wl 17 arch/alpha/math-emu/sfp-util.h "=&r" ((UDItype)(wl)) \ wl 43 arch/sparc/math-emu/sfp-util_64.h #define umul_ppmm(wh, wl, u, v) \ wl 69 arch/sparc/math-emu/sfp-util_64.h "=&r" (wl), \ wl 1226 block/sed-opal.c bool rl, bool wl) wl 1253 block/sed-opal.c add_token_u8(&err, dev, wl); wl 423 drivers/mtd/ubi/debug.c struct ubi_wl_entry *wl; wl 438 drivers/mtd/ubi/debug.c wl = ubi->lookuptbl[*block_number]; wl 439 drivers/mtd/ubi/debug.c if (wl) wl 440 drivers/mtd/ubi/debug.c erase_count = wl->ec; wl 393 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h struct hclge_waterline wl; /* Waterline for low and high*/ wl 1892 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.low = 0; wl 1893 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.high = 0; wl 1902 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.low = max ? aligned_mps : HCLGE_BUF_SIZE_UNIT; wl 1903 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.high = roundup(priv->wl.low + aligned_mps, wl 1906 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.low = 0; wl 1907 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.high = max ? (aligned_mps * HCLGE_BUF_MUL_BY) : wl 1911 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->buf_size = priv->wl.high + hdev->dv_buf_size; wl 1932 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.low = 0; wl 1933 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.high = 0; wl 1962 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.low = 0; wl 1964 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.high = 0; wl 2008 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.low = 0; wl 2009 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.high = 0; wl 2017 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.high = rx_priv - hdev->dv_buf_size; wl 2018 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c priv->wl.low = priv->wl.high - PRIV_WL_GAP; wl 2122 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cpu_to_le16(priv->wl.high >> HCLGE_BUF_UNIT_S); wl 2126 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c cpu_to_le16(priv->wl.low >> HCLGE_BUF_UNIT_S); wl 38 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static int gelic_wl_start_scan(struct gelic_wl_info *wl, int always_scan, wl 146 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl; wl 154 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl = cmd->wl; wl 155 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c card = port_to_card(wl_port(wl)); wl 166 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c init_completion(&wl->cmd_done_intr); wl 178 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wait_for_completion(&wl->cmd_done_intr); wl 204 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static struct gelic_eurus_cmd *gelic_eurus_sync_cmd(struct gelic_wl_info *wl, wl 220 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd->wl = wl; wl 223 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c queue_work(wl->eurus_cmd_queue, &cmd->work); wl 233 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_port(netdev)); wl 237 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_lock(&wl->assoc_stat_lock); wl 238 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED) wl 242 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->assoc_stat_lock); wl 247 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static void gelic_wl_send_iwap_event(struct gelic_wl_info *wl, u8 *bssid) wl 255 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wireless_send_event(port_to_netdev(wl_port(wl)), SIOCGIWAP, wl 272 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static void gelic_wl_get_ch_info(struct gelic_wl_info *wl) wl 274 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_card *card = port_to_card(wl_port(wl)); wl 278 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (!test_and_set_bit(GELIC_WL_STAT_CH_INFO, &wl->stat)) { wl 287 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->ch_info = 0x07ff;/* 11 ch */ wl 290 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->ch_info = ch_info_raw >> 48; wl 301 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_port(netdev)); wl 312 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_get_ch_info(wl); wl 316 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->ch_info & (1 << i)) { wl 369 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 381 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c return gelic_wl_start_scan(wl, 1, essid, essid_len); wl 698 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 706 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (mutex_lock_interruptible(&wl->scan_lock)) wl 709 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c switch (wl->scan_stat) { wl 723 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_for_each_entry(scan_info, &wl->network_list, list) { wl 724 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->scan_age == 0 || wl 725 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c time_after(scan_info->last_scanned + wl->scan_age, wl 742 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->scan_lock); wl 748 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static void scan_list_dump(struct gelic_wl_info *wl) wl 754 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_for_each_entry(scan_info, &wl->network_list, list) { wl 774 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_port(netdev)); wl 779 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 784 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->wpa_level = GELIC_WL_WPA_LEVEL_NONE; wl 785 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_WEP; wl 786 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_WEP; wl 790 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->wpa_level = GELIC_WL_WPA_LEVEL_WPA; wl 791 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_TKIP; wl 792 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_TKIP; wl 793 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_OPEN; wl 808 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->wpa_level = GELIC_WL_WPA_LEVEL_WPA2; wl 809 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_AES; wl 810 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = wl 812 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_OPEN; wl 822 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_WEP; wl 826 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_TKIP; wl 830 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_AES; wl 834 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_NONE; wl 841 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_WEP; wl 845 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_TKIP; wl 849 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_AES; wl 853 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_NONE; wl 859 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_SHARED; wl 862 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_OPEN; wl 870 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->wpa_level = GELIC_WL_WPA_LEVEL_WPA; wl 873 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->wpa_level = GELIC_WL_WPA_LEVEL_NONE; wl 887 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat); wl 889 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 899 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_port(netdev)); wl 904 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 907 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c switch (wl->wpa_level) { wl 920 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->auth_method == GELIC_EURUS_AUTH_SHARED) wl 922 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c else if (wl->auth_method == GELIC_EURUS_AUTH_OPEN) wl 927 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c switch (wl->wpa_level) { wl 941 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 951 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 959 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 961 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->essid_len = data->essid.length; wl 962 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(wl->essid, extra, wl->essid_len); wl 964 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat); wl 967 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c clear_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat); wl 969 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat); wl 970 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 982 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 986 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_lock(&wl->assoc_stat_lock); wl 987 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 988 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (test_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat) || wl 989 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED) { wl 990 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(extra, wl->essid, wl->essid_len); wl 991 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c data->essid.length = wl->essid_len; wl 996 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->assoc_stat_lock); wl 997 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 1008 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 1026 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 1032 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c key_index = wl->current_key; wl 1038 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->current_key = key_index; wl 1045 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_NONE; wl 1046 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = wl 1049 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->key_enabled = 0; wl 1051 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c clear_bit(key_index, &wl->key_enabled); wl 1055 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_OPEN; wl 1058 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_SHARED; wl 1065 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->key_len[key_index] = enc->length; wl 1066 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(wl->key[key_index], extra, enc->length); wl 1067 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(key_index, &wl->key_enabled); wl 1068 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_WEP; wl 1069 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_WEP; wl 1071 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat); wl 1073 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 1082 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 1095 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 1099 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c key_index = wl->current_key; wl 1101 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->group_cipher_method == GELIC_WL_CIPHER_WEP) { wl 1102 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c switch (wl->auth_method) { wl 1113 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (test_bit(key_index, &wl->key_enabled)) { wl 1114 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (enc->length < wl->key_len[key_index]) { wl 1118 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c enc->length = wl->key_len[key_index]; wl 1119 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(extra, wl->key[key_index], wl->key_len[key_index]); wl 1129 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 1138 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 1145 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 1147 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(wl->bssid, data->ap_addr.sa_data, wl 1149 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(GELIC_WL_STAT_BSSID_SET, &wl->stat); wl 1150 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat); wl 1151 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c pr_debug("%s: bss=%pM\n", __func__, wl->bssid); wl 1154 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c clear_bit(GELIC_WL_STAT_BSSID_SET, &wl->stat); wl 1155 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c eth_zero_addr(wl->bssid); wl 1157 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 1166 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 1170 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_lock(&wl->assoc_stat_lock); wl 1171 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 1172 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED) { wl 1174 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(data->ap_addr.sa_data, wl->active_bssid, wl 1179 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 1180 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->assoc_stat_lock); wl 1190 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 1213 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 1217 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c key_index = wl->current_key; wl 1223 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->current_key = key_index; wl 1229 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->wpa_level = GELIC_WL_WPA_LEVEL_NONE; wl 1230 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_NONE; wl 1231 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_NONE; wl 1232 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_OPEN; /* should be open */ wl 1237 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_OPEN; wl 1241 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_SHARED; wl 1250 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->key_len[key_index] = ext->key_len; wl 1251 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memset(wl->key[key_index], 0, IW_ENCODING_TOKEN_MAX); wl 1252 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(wl->key[key_index], ext->key, ext->key_len); wl 1253 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(key_index, &wl->key_enabled); wl 1255 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(GELIC_WL_STAT_CONFIGURED, &wl->stat); wl 1263 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memset(wl->psk, 0, sizeof(wl->psk)); wl 1264 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(wl->psk, ext->key, ext->key_len); wl 1265 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->psk_len = ext->key_len; wl 1266 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->psk_type = GELIC_EURUS_WPA_PSK_BIN; wl 1268 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c set_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat); wl 1271 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 1280 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 1302 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 1306 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c key_index = wl->current_key; wl 1309 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c switch (wl->group_cipher_method) { wl 1330 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (max_key_len < wl->key_len[key_index]) { wl 1334 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (test_bit(key_index, &wl->key_enabled)) wl 1335 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(ext->key, wl->key[key_index], wl 1336 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->key_len[key_index]); wl 1342 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 1392 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 1404 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c is = &wl->iwstat; wl 1406 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_GET_RSSI_CFG, wl 1426 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static int gelic_wl_start_scan(struct gelic_wl_info *wl, int always_scan, wl 1435 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (mutex_lock_interruptible(&wl->scan_lock)) wl 1441 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->scan_stat == GELIC_WL_SCAN_STAT_SCANNING) { wl 1446 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c init_completion(&wl->scan_done); wl 1452 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c && wl->scan_stat == GELIC_WL_SCAN_STAT_GOT_LIST) { wl 1454 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c complete(&wl->scan_done); wl 1475 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->scan_stat = GELIC_WL_SCAN_STAT_SCANNING; wl 1476 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_START_SCAN, wl 1479 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->scan_stat = GELIC_WL_SCAN_STAT_INIT; wl 1480 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c complete(&wl->scan_done); wl 1487 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->scan_lock); wl 1496 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static void gelic_wl_scan_complete_event(struct gelic_wl_info *wl) wl 1509 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_lock(&wl->scan_lock); wl 1517 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->scan_stat != GELIC_WL_SCAN_STAT_SCANNING) { wl 1522 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c __func__, wl->scan_stat); wl 1526 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_GET_SCAN, wl 1529 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->scan_stat = GELIC_WL_SCAN_STAT_INIT; wl 1539 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->scan_stat = GELIC_WL_SCAN_STAT_GOT_LIST; wl 1542 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_for_each_entry_safe(target, tmp, &wl->network_list, list) { wl 1545 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (time_before(target->last_scanned + wl->scan_age, wl 1549 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_move_tail(&target->list, &wl->network_free_list); wl 1574 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_for_each_entry(target, &wl->network_list, list) { wl 1589 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (list_empty(&wl->network_free_list)) { wl 1593 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c target = list_entry(wl->network_free_list.next, wl 1624 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_move_tail(&target->list, &wl->network_list); wl 1627 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wireless_send_event(port_to_netdev(wl_port(wl)), SIOCGIWSCAN, &data, wl 1631 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c complete(&wl->scan_done); wl 1632 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->scan_lock); wl 1654 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_scan_info *gelic_wl_find_best_bss(struct gelic_wl_info *wl) wl 1666 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_for_each_entry(scan_info, &wl->network_list, list) { wl 1675 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (test_bit(GELIC_WL_STAT_BSSID_SET, &wl->stat)) { wl 1677 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->bssid)) { wl 1692 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->wpa_level == GELIC_WL_WPA_LEVEL_WPA2) { wl 1698 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c } else if (wl->wpa_level == GELIC_WL_WPA_LEVEL_WPA) { wl 1704 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c } else if (wl->wpa_level == GELIC_WL_WPA_LEVEL_NONE && wl 1705 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method == GELIC_WL_CIPHER_WEP) { wl 1714 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (test_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat)) { wl 1715 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if ((scan_info->essid_len == wl->essid_len) && wl 1716 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c !strncmp(wl->essid, wl 1741 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static int gelic_wl_do_wep_setup(struct gelic_wl_info *wl) wl 1758 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->group_cipher_method == GELIC_WL_CIPHER_WEP) { wl 1761 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (!test_bit(i, &wl->key_enabled)) wl 1766 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->key_len[i] == 13) wl 1768 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c else if (wl->key_len[i] != 5) { wl 1770 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c __func__, i, wl->key_len[i]); wl 1774 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(wep->key[i], wl->key[i], wl->key_len[i]); wl 1796 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_SET_WEP_CFG, wl 1833 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static int gelic_wl_do_wpa_setup(struct gelic_wl_info *wl) wl 1848 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (!test_bit(GELIC_WL_STAT_WPA_PSK_SET, &wl->stat)) wl 1852 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(wpa->psk, wl->psk, wl->psk_len); wl 1855 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->wpa_level == GELIC_WL_WPA_LEVEL_WPA2) { wl 1856 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->group_cipher_method == GELIC_WL_CIPHER_AES) { wl 1859 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->pairwise_cipher_method == GELIC_WL_CIPHER_AES && wl 1866 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->group_cipher_method == GELIC_WL_CIPHER_AES) { wl 1869 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->pairwise_cipher_method == GELIC_WL_CIPHER_AES && wl 1879 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wpa->psk_type = cpu_to_be16(wl->psk_type); wl 1897 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_SET_WPA_CFG, wl 1912 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static int gelic_wl_associate_bss(struct gelic_wl_info *wl, wl 1932 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c switch (wl->auth_method) { wl 1942 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c scan_list_dump(wl); wl 1949 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_SET_COMMON_CFG, wl 1959 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c switch (wl->wpa_level) { wl 1962 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c ret = gelic_wl_do_wep_setup(wl); wl 1966 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c ret = gelic_wl_do_wpa_setup(wl); wl 1974 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_send_iwap_event(wl, NULL); wl 1979 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c init_completion(&wl->assoc_done); wl 1980 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->assoc_stat = GELIC_WL_ASSOC_STAT_ASSOCIATING; wl 1981 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_ASSOC, wl 1985 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->assoc_stat = GELIC_WL_ASSOC_STAT_DISCONN; wl 1988 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_send_iwap_event(wl, NULL); wl 1994 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c rc = wait_for_completion_timeout(&wl->assoc_done, HZ * 4);/*FIXME*/ wl 1999 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_DISASSOC, wl 2002 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->assoc_stat = GELIC_WL_ASSOC_STAT_DISCONN; wl 2003 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_send_iwap_event(wl, NULL); wl 2006 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->assoc_stat = GELIC_WL_ASSOC_STAT_ASSOCIATED; wl 2008 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memcpy(wl->active_bssid, &bss->hwinfo->bssid[2], ETH_ALEN); wl 2011 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_send_iwap_event(wl, wl->active_bssid); wl 2023 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static void gelic_wl_connected_event(struct gelic_wl_info *wl, wl 2028 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c switch (wl->wpa_level) { wl 2040 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c complete(&wl->assoc_done); wl 2041 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c netif_carrier_on(port_to_netdev(wl_port(wl))); wl 2050 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static void gelic_wl_disconnect_event(struct gelic_wl_info *wl, wl 2063 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (!mutex_trylock(&wl->assoc_stat_lock)) { wl 2071 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_DISASSOC, NULL, 0); wl 2075 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED) wl 2076 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_send_iwap_event(wl, NULL); wl 2078 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->assoc_stat = GELIC_WL_ASSOC_STAT_DISCONN; wl 2079 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c netif_carrier_off(port_to_netdev(wl_port(wl))); wl 2082 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->assoc_stat_lock); wl 2120 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl; wl 2126 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl = container_of(work, struct gelic_wl_info, event_work.work); wl 2127 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c port = wl_port(wl); wl 2143 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_scan_complete_event(wl); wl 2147 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_disconnect_event(wl, event); wl 2151 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_connected_event(wl, event); wl 2163 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl; wl 2171 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl = container_of(work, struct gelic_wl_info, assoc_work.work); wl 2173 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_lock(&wl->assoc_stat_lock); wl 2175 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->assoc_stat != GELIC_WL_ASSOC_STAT_DISCONN) wl 2178 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_irqsave(&wl->lock, irqflag); wl 2179 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (test_bit(GELIC_WL_STAT_ESSID_SET, &wl->stat)) { wl 2181 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->essid); wl 2182 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c essid = wl->essid; wl 2183 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c essid_len = wl->essid_len; wl 2188 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_unlock_irqrestore(&wl->lock, irqflag); wl 2190 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c ret = gelic_wl_start_scan(wl, 0, essid, essid_len); wl 2193 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c schedule_delayed_work(&wl->assoc_work, HZ/10); /*FIXME*/ wl 2206 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wait_for_completion(&wl->scan_done); wl 2209 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_lock(&wl->scan_lock); wl 2210 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->scan_stat != GELIC_WL_SCAN_STAT_GOT_LIST) { wl 2211 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_send_iwap_event(wl, NULL); wl 2217 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c best_bss = gelic_wl_find_best_bss(wl); wl 2219 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_send_iwap_event(wl, NULL); wl 2225 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c ret = gelic_wl_associate_bss(wl, best_bss); wl 2229 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->scan_lock); wl 2231 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_unlock(&wl->assoc_stat_lock); wl 2240 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 2244 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c complete(&wl->cmd_done_intr); wl 2249 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c queue_delayed_work(wl->event_queue, &wl->event_work, 0); wl 2287 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl; wl 2304 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl = port_wl(port); wl 2305 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c pr_debug("%s: wl=%p port=%p\n", __func__, wl, port); wl 2308 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->networks = kcalloc(GELIC_WL_BSS_MAX_ENT, wl 2312 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (!wl->networks) wl 2315 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->eurus_cmd_queue = create_singlethread_workqueue("gelic_cmd"); wl 2316 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (!wl->eurus_cmd_queue) wl 2319 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->event_queue = create_singlethread_workqueue("gelic_event"); wl 2320 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (!wl->event_queue) wl 2323 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c INIT_LIST_HEAD(&wl->network_free_list); wl 2324 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c INIT_LIST_HEAD(&wl->network_list); wl 2326 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_add_tail(&wl->networks[i].list, wl 2327 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c &wl->network_free_list); wl 2328 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c init_completion(&wl->cmd_done_intr); wl 2330 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c INIT_DELAYED_WORK(&wl->event_work, gelic_wl_event_worker); wl 2331 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c INIT_DELAYED_WORK(&wl->assoc_work, gelic_wl_assoc_worker); wl 2332 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_init(&wl->scan_lock); wl 2333 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c mutex_init(&wl->assoc_stat_lock); wl 2335 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c init_completion(&wl->scan_done); wl 2337 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c complete(&wl->scan_done); wl 2339 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c spin_lock_init(&wl->lock); wl 2341 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->scan_age = 5*HZ; /* FIXME */ wl 2351 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c destroy_workqueue(wl->eurus_cmd_queue); wl 2353 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c kfree(wl->networks); wl 2361 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static void gelic_wl_free(struct gelic_wl_info *wl) wl 2369 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c destroy_workqueue(wl->eurus_cmd_queue); wl 2370 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c destroy_workqueue(wl->event_queue); wl 2372 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c scan_info = wl->networks; wl 2375 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c kfree(wl->networks); wl 2377 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c free_netdev(port_to_netdev(wl_port(wl))); wl 2384 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(netdev_priv(netdev)); wl 2392 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->group_cipher_method == GELIC_WL_CIPHER_NONE) { wl 2394 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c &wl->stat)) wl 2403 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->group_cipher_method == GELIC_WL_CIPHER_WEP) { wl 2406 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (test_bit(i, &wl->key_enabled)) wl 2414 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if ((wl->group_cipher_method == GELIC_WL_CIPHER_TKIP) || wl 2415 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c (wl->group_cipher_method == GELIC_WL_CIPHER_AES)) { wl 2417 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c &wl->stat)) wl 2427 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c ret = schedule_delayed_work(&wl->assoc_work, 0); wl 2455 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c static int gelic_wl_reset_state(struct gelic_wl_info *wl) wl 2461 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_for_each_entry_safe(target, tmp, &wl->network_list, list) { wl 2462 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c list_move_tail(&target->list, &wl->network_free_list); wl 2464 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->scan_stat = GELIC_WL_SCAN_STAT_INIT; wl 2467 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->auth_method = GELIC_EURUS_AUTH_OPEN; wl 2468 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->group_cipher_method = GELIC_WL_CIPHER_NONE; wl 2469 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->pairwise_cipher_method = GELIC_WL_CIPHER_NONE; wl 2470 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->wpa_level = GELIC_WL_WPA_LEVEL_NONE; wl 2472 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->key_enabled = 0; wl 2473 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->current_key = 0; wl 2475 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->psk_type = GELIC_EURUS_WPA_PSK_PASSPHRASE; wl 2476 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->psk_len = 0; wl 2478 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->essid_len = 0; wl 2479 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memset(wl->essid, 0, sizeof(wl->essid)); wl 2480 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memset(wl->bssid, 0, sizeof(wl->bssid)); wl 2481 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memset(wl->active_bssid, 0, sizeof(wl->active_bssid)); wl 2483 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->assoc_stat = GELIC_WL_ASSOC_STAT_DISCONN; wl 2485 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c memset(&wl->iwstat, 0, sizeof(wl->iwstat)); wl 2487 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl->stat = 0; wl 2497 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(port); wl 2504 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->scan_stat == GELIC_WL_SCAN_STAT_SCANNING) wl 2505 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wait_for_completion_timeout(&wl->scan_done, HZ); wl 2507 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cmd = gelic_eurus_sync_cmd(wl, GELIC_EURUS_CMD_DISASSOC, NULL, 0); wl 2509 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_send_iwap_event(wl, NULL); wl 2515 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl = port_wl(port); wl 2524 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cancel_delayed_work(&wl->assoc_work); wl 2526 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED) wl 2530 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_reset_state(wl); wl 2562 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl; wl 2563 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl = port_wl(netdev_priv(netdev)); wl 2564 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c BUG_ON(!wl); wl 2569 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c netdev->wireless_data = &wl->wireless_data; wl 2620 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c struct gelic_wl_info *wl; wl 2631 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c wl = port_wl(netdev_priv(netdev)); wl 2634 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c if (wl->assoc_stat == GELIC_WL_ASSOC_STAT_ASSOCIATED) wl 2637 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c complete(&wl->cmd_done_intr); wl 2640 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cancel_delayed_work(&wl->assoc_work); wl 2641 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c cancel_delayed_work(&wl->event_work); wl 2642 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c flush_workqueue(wl->eurus_cmd_queue); wl 2643 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c flush_workqueue(wl->event_queue); wl 2652 drivers/net/ethernet/toshiba/ps3_gelic_wireless.c gelic_wl_free(wl); wl 285 drivers/net/ethernet/toshiba/ps3_gelic_wireless.h static inline struct gelic_port *wl_port(struct gelic_wl_info *wl) wl 287 drivers/net/ethernet/toshiba/ps3_gelic_wireless.h return container_of((void *)wl, struct gelic_port, priv); wl 296 drivers/net/ethernet/toshiba/ps3_gelic_wireless.h struct gelic_wl_info *wl; wl 829 drivers/net/wireless/broadcom/b43/b43.h struct b43_wl *wl; wl 989 drivers/net/wireless/broadcom/b43/b43.h static inline int b43_is_mode(struct b43_wl *wl, int type) wl 991 drivers/net/wireless/broadcom/b43/b43.h return (wl->operating && wl->if_type == type); wl 998 drivers/net/wireless/broadcom/b43/b43.h static inline enum nl80211_band b43_current_band(struct b43_wl *wl) wl 1000 drivers/net/wireless/broadcom/b43/b43.h return wl->hw->conf.chandef.chan->band; wl 1086 drivers/net/wireless/broadcom/b43/b43.h __printf(2, 3) void b43info(struct b43_wl *wl, const char *fmt, ...); wl 1087 drivers/net/wireless/broadcom/b43/b43.h __printf(2, 3) void b43err(struct b43_wl *wl, const char *fmt, ...); wl 1088 drivers/net/wireless/broadcom/b43/b43.h __printf(2, 3) void b43warn(struct b43_wl *wl, const char *fmt, ...); wl 1089 drivers/net/wireless/broadcom/b43/b43.h __printf(2, 3) void b43dbg(struct b43_wl *wl, const char *fmt, ...); wl 508 drivers/net/wireless/broadcom/b43/debugfs.c mutex_lock(&dev->wl->mutex); wl 548 drivers/net/wireless/broadcom/b43/debugfs.c mutex_unlock(&dev->wl->mutex); wl 570 drivers/net/wireless/broadcom/b43/debugfs.c mutex_lock(&dev->wl->mutex); wl 599 drivers/net/wireless/broadcom/b43/debugfs.c mutex_unlock(&dev->wl->mutex); wl 688 drivers/net/wireless/broadcom/b43/debugfs.c b43err(dev->wl, "debugfs: add device OOM\n"); wl 696 drivers/net/wireless/broadcom/b43/debugfs.c b43err(dev->wl, "debugfs: add device txstatus OOM\n"); wl 704 drivers/net/wireless/broadcom/b43/debugfs.c snprintf(devdir, sizeof(devdir), "%s", wiphy_name(dev->wl->hw->wiphy)); wl 286 drivers/net/wireless/broadcom/b43/dma.c b43dbg(ring->dev->wl, wl 400 drivers/net/wireless/broadcom/b43/dma.c ieee80211_free_txskb(ring->dev->wl->hw, meta->skb); wl 470 drivers/net/wireless/broadcom/b43/dma.c b43err(dev->wl, "DMA RX reset timed out\n"); wl 528 drivers/net/wireless/broadcom/b43/dma.c b43err(dev->wl, "DMA TX reset timed out\n"); wl 619 drivers/net/wireless/broadcom/b43/dma.c b43err(ring->dev->wl, "RX DMA buffer allocation failed\n"); wl 647 drivers/net/wireless/broadcom/b43/dma.c b43err(ring->dev->wl, wl 921 drivers/net/wireless/broadcom/b43/dma.c b43err(dev->wl, wl 985 drivers/net/wireless/broadcom/b43/dma.c b43dbg(ring->dev->wl, "DMA-%u %s: " wl 1060 drivers/net/wireless/broadcom/b43/dma.c b43err(dev->wl, "The machine/kernel does not support " wl 1116 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, "%u-bit DMA initialized\n", wl 1181 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, "TX-status contains " wl 1299 drivers/net/wireless/broadcom/b43/dma.c b43dbg(ring->dev->wl, wl 1368 drivers/net/wireless/broadcom/b43/dma.c b43err(dev->wl, "Packet after queue stopped\n"); wl 1376 drivers/net/wireless/broadcom/b43/dma.c b43err(dev->wl, "DMA queue overflow\n"); wl 1390 drivers/net/wireless/broadcom/b43/dma.c ieee80211_free_txskb(dev->wl->hw, skb); wl 1395 drivers/net/wireless/broadcom/b43/dma.c b43err(dev->wl, "DMA tx mapping failure\n"); wl 1402 drivers/net/wireless/broadcom/b43/dma.c ieee80211_stop_queue(dev->wl->hw, skb_mapping); wl 1403 drivers/net/wireless/broadcom/b43/dma.c dev->wl->tx_queue_stopped[skb_mapping] = 1; wl 1406 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, "Stopped TX ring %d\n", ring->index); wl 1452 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, wl 1463 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, wl 1479 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, "Poisoned TX slot %d (first=%d) " wl 1505 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, "TX status unexpected NULL skb " wl 1534 drivers/net/wireless/broadcom/b43/dma.c ieee80211_tx_status(dev->wl->hw, meta->skb); wl 1544 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, "TX status unexpected non-NULL skb " wl 1568 drivers/net/wireless/broadcom/b43/dma.c if (dev->wl->tx_queue_stopped[ring->queue_prio]) { wl 1569 drivers/net/wireless/broadcom/b43/dma.c dev->wl->tx_queue_stopped[ring->queue_prio] = 0; wl 1573 drivers/net/wireless/broadcom/b43/dma.c ieee80211_wake_queue(dev->wl->hw, ring->queue_prio); wl 1575 drivers/net/wireless/broadcom/b43/dma.c b43dbg(dev->wl, "Woke up TX ring %d\n", ring->index); wl 1579 drivers/net/wireless/broadcom/b43/dma.c ieee80211_queue_work(dev->wl->hw, &dev->wl->tx_work); wl 1616 drivers/net/wireless/broadcom/b43/dma.c b43dbg(ring->dev->wl, "DMA RX: Dropping poisoned buffer.\n"); wl 1641 drivers/net/wireless/broadcom/b43/dma.c b43err(ring->dev->wl, "DMA RX buffer too small " wl 1650 drivers/net/wireless/broadcom/b43/dma.c b43dbg(ring->dev->wl, "DMA RX: setup_rx_descbuffer() failed\n"); wl 53 drivers/net/wireless/broadcom/b43/leds.c if (!led->wl) wl 78 drivers/net/wireless/broadcom/b43/leds.c struct b43_wl *wl = container_of(leds, struct b43_wl, leds); wl 81 drivers/net/wireless/broadcom/b43/leds.c mutex_lock(&wl->mutex); wl 82 drivers/net/wireless/broadcom/b43/leds.c dev = wl->current_dev; wl 86 drivers/net/wireless/broadcom/b43/leds.c b43_led_update(dev, &wl->leds.led_tx); wl 87 drivers/net/wireless/broadcom/b43/leds.c b43_led_update(dev, &wl->leds.led_rx); wl 88 drivers/net/wireless/broadcom/b43/leds.c b43_led_update(dev, &wl->leds.led_radio); wl 89 drivers/net/wireless/broadcom/b43/leds.c b43_led_update(dev, &wl->leds.led_assoc); wl 92 drivers/net/wireless/broadcom/b43/leds.c mutex_unlock(&wl->mutex); wl 100 drivers/net/wireless/broadcom/b43/leds.c struct b43_wl *wl = led->wl; wl 102 drivers/net/wireless/broadcom/b43/leds.c if (likely(!wl->leds.stop)) { wl 104 drivers/net/wireless/broadcom/b43/leds.c ieee80211_queue_work(wl->hw, &wl->leds.work); wl 114 drivers/net/wireless/broadcom/b43/leds.c if (led->wl) wl 118 drivers/net/wireless/broadcom/b43/leds.c led->wl = dev->wl; wl 130 drivers/net/wireless/broadcom/b43/leds.c b43warn(dev->wl, "LEDs: Failed to register %s\n", name); wl 131 drivers/net/wireless/broadcom/b43/leds.c led->wl = NULL; wl 140 drivers/net/wireless/broadcom/b43/leds.c if (!led->wl) wl 143 drivers/net/wireless/broadcom/b43/leds.c led->wl = NULL; wl 151 drivers/net/wireless/broadcom/b43/leds.c struct ieee80211_hw *hw = dev->wl->hw; wl 166 drivers/net/wireless/broadcom/b43/leds.c b43_register_led(dev, &dev->wl->leds.led_tx, name, wl 171 drivers/net/wireless/broadcom/b43/leds.c b43_register_led(dev, &dev->wl->leds.led_rx, name, wl 181 drivers/net/wireless/broadcom/b43/leds.c b43_register_led(dev, &dev->wl->leds.led_radio, name, wl 189 drivers/net/wireless/broadcom/b43/leds.c b43_register_led(dev, &dev->wl->leds.led_assoc, name, wl 194 drivers/net/wireless/broadcom/b43/leds.c b43warn(dev->wl, "LEDs: Unknown behaviour 0x%02X\n", wl 257 drivers/net/wireless/broadcom/b43/leds.c led = &dev->wl->leds.led_radio; wl 258 drivers/net/wireless/broadcom/b43/leds.c if (led->wl) { wl 271 drivers/net/wireless/broadcom/b43/leds.c led = &dev->wl->leds.led_tx; wl 272 drivers/net/wireless/broadcom/b43/leds.c if (led->wl) { wl 277 drivers/net/wireless/broadcom/b43/leds.c led = &dev->wl->leds.led_rx; wl 278 drivers/net/wireless/broadcom/b43/leds.c if (led->wl) { wl 283 drivers/net/wireless/broadcom/b43/leds.c led = &dev->wl->leds.led_assoc; wl 284 drivers/net/wireless/broadcom/b43/leds.c if (led->wl) { wl 306 drivers/net/wireless/broadcom/b43/leds.c dev->wl->leds.stop = 0; wl 311 drivers/net/wireless/broadcom/b43/leds.c struct b43_leds *leds = &dev->wl->leds; wl 321 drivers/net/wireless/broadcom/b43/leds.c struct b43_leds *leds = &dev->wl->leds; wl 333 drivers/net/wireless/broadcom/b43/leds.c INIT_WORK(&dev->wl->leds.work, b43_leds_work); wl 342 drivers/net/wireless/broadcom/b43/leds.c void b43_leds_unregister(struct b43_wl *wl) wl 344 drivers/net/wireless/broadcom/b43/leds.c struct b43_leds *leds = &wl->leds; wl 18 drivers/net/wireless/broadcom/b43/leds.h struct b43_wl *wl; wl 65 drivers/net/wireless/broadcom/b43/leds.h void b43_leds_unregister(struct b43_wl *wl); wl 81 drivers/net/wireless/broadcom/b43/leds.h static inline void b43_leds_unregister(struct b43_wl *wl) wl 52 drivers/net/wireless/broadcom/b43/lo.c b43dbg(dev->wl, "Invalid LO control pair " wl 763 drivers/net/wireless/broadcom/b43/lo.c b43dbg(dev->wl, "LO: Calibrated for BB(%u), RF(%u,%u) " wl 771 drivers/net/wireless/broadcom/b43/lo.c b43warn(dev->wl, "LO calib: out of memory\n"); wl 845 drivers/net/wireless/broadcom/b43/lo.c b43warn(dev->wl, "LO: Could not " wl 961 drivers/net/wireless/broadcom/b43/lo.c b43dbg(dev->wl, "LO: Item BB(%u), RF(%u,%u), " wl 973 drivers/net/wireless/broadcom/b43/lo.c b43dbg(dev->wl, "LO: Recalibrating current LO setting\n"); wl 979 drivers/net/wireless/broadcom/b43/lo.c b43warn(dev->wl, "Failed to recalibrate current LO setting\n"); wl 371 drivers/net/wireless/broadcom/b43/main.c static int b43_ratelimit(struct b43_wl *wl) wl 373 drivers/net/wireless/broadcom/b43/main.c if (!wl || !wl->current_dev) wl 375 drivers/net/wireless/broadcom/b43/main.c if (b43_status(wl->current_dev) < B43_STAT_STARTED) wl 382 drivers/net/wireless/broadcom/b43/main.c void b43info(struct b43_wl *wl, const char *fmt, ...) wl 389 drivers/net/wireless/broadcom/b43/main.c if (!b43_ratelimit(wl)) wl 398 drivers/net/wireless/broadcom/b43/main.c (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); wl 403 drivers/net/wireless/broadcom/b43/main.c void b43err(struct b43_wl *wl, const char *fmt, ...) wl 410 drivers/net/wireless/broadcom/b43/main.c if (!b43_ratelimit(wl)) wl 419 drivers/net/wireless/broadcom/b43/main.c (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); wl 424 drivers/net/wireless/broadcom/b43/main.c void b43warn(struct b43_wl *wl, const char *fmt, ...) wl 431 drivers/net/wireless/broadcom/b43/main.c if (!b43_ratelimit(wl)) wl 440 drivers/net/wireless/broadcom/b43/main.c (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); wl 445 drivers/net/wireless/broadcom/b43/main.c void b43dbg(struct b43_wl *wl, const char *fmt, ...) wl 459 drivers/net/wireless/broadcom/b43/main.c (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); wl 686 drivers/net/wireless/broadcom/b43/main.c bssid = dev->wl->bssid; wl 687 drivers/net/wireless/broadcom/b43/main.c mac = dev->wl->mac_addr; wl 707 drivers/net/wireless/broadcom/b43/main.c b43_macfilter_set(dev, B43_MACFILTER_SELF, dev->wl->mac_addr); wl 714 drivers/net/wireless/broadcom/b43/main.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 920 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "rx_tkip_phase1_write : idx 0x%x, iv32 0x%x\n", wl 939 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 948 drivers/net/wireless/broadcom/b43/main.c B43_WARN_ON(!mutex_is_locked(&wl->mutex)); wl 949 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 1039 drivers/net/wireless/broadcom/b43/main.c b43warn(dev->wl, "Out of hardware key memory\n"); wl 1098 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Hardware key memory dump: USEDEFKEYS=%u\n", wl 1489 drivers/net/wireless/broadcom/b43/main.c if (b43_is_mode(dev->wl, NL80211_IFTYPE_AP)) { wl 1495 drivers/net/wireless/broadcom/b43/main.c if (b43_is_mode(dev->wl, NL80211_IFTYPE_ADHOC)) wl 1619 drivers/net/wireless/broadcom/b43/main.c spin_lock_irqsave(&dev->wl->beacon_lock, flags); wl 1620 drivers/net/wireless/broadcom/b43/main.c info = IEEE80211_SKB_CB(dev->wl->current_beacon); wl 1621 drivers/net/wireless/broadcom/b43/main.c rate = ieee80211_get_tx_rate(dev->wl->hw, info)->hw_value; wl 1623 drivers/net/wireless/broadcom/b43/main.c beacon_skb = skb_clone(dev->wl->current_beacon, GFP_ATOMIC); wl 1624 drivers/net/wireless/broadcom/b43/main.c spin_unlock_irqrestore(&dev->wl->beacon_lock, flags); wl 1627 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Could not upload beacon. " wl 1701 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Updated beacon template at 0x%x\n", ram_offset); wl 1708 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 1710 drivers/net/wireless/broadcom/b43/main.c if (wl->beacon0_uploaded) wl 1713 drivers/net/wireless/broadcom/b43/main.c wl->beacon0_uploaded = true; wl 1718 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 1720 drivers/net/wireless/broadcom/b43/main.c if (wl->beacon1_uploaded) wl 1723 drivers/net/wireless/broadcom/b43/main.c wl->beacon1_uploaded = true; wl 1728 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 1731 drivers/net/wireless/broadcom/b43/main.c if (!b43_is_mode(wl, NL80211_IFTYPE_AP) && wl 1732 drivers/net/wireless/broadcom/b43/main.c !b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) && wl 1733 drivers/net/wireless/broadcom/b43/main.c !b43_is_mode(wl, NL80211_IFTYPE_ADHOC)) wl 1752 drivers/net/wireless/broadcom/b43/main.c if (unlikely(wl->beacon_templates_virgin)) { wl 1755 drivers/net/wireless/broadcom/b43/main.c wl->beacon_templates_virgin = false; wl 1799 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = container_of(work, struct b43_wl, wl 1803 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 1804 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 1810 drivers/net/wireless/broadcom/b43/main.c spin_lock_irq(&wl->hardirq_lock); wl 1812 drivers/net/wireless/broadcom/b43/main.c spin_unlock_irq(&wl->hardirq_lock); wl 1815 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 1819 drivers/net/wireless/broadcom/b43/main.c static void b43_update_templates(struct b43_wl *wl) wl 1834 drivers/net/wireless/broadcom/b43/main.c beacon = ieee80211_beacon_get(wl->hw, wl->vif); wl 1838 drivers/net/wireless/broadcom/b43/main.c spin_lock_irqsave(&wl->beacon_lock, flags); wl 1839 drivers/net/wireless/broadcom/b43/main.c old_beacon = wl->current_beacon; wl 1840 drivers/net/wireless/broadcom/b43/main.c wl->current_beacon = beacon; wl 1841 drivers/net/wireless/broadcom/b43/main.c wl->beacon0_uploaded = false; wl 1842 drivers/net/wireless/broadcom/b43/main.c wl->beacon1_uploaded = false; wl 1843 drivers/net/wireless/broadcom/b43/main.c spin_unlock_irqrestore(&wl->beacon_lock, flags); wl 1845 drivers/net/wireless/broadcom/b43/main.c ieee80211_queue_work(wl->hw, &wl->beacon_update_trigger); wl 1862 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Set beacon interval to %u\n", beacon_int); wl 1871 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "Whoopsy, firmware panic! Reason: %u\n", reason); wl 1875 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "The panic reason is unknown.\n"); wl 1911 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "SHM-dump: Failed to allocate memory\n"); wl 1918 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Shared memory dump:\n"); wl 1926 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Microcode register dump:\n"); wl 1947 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "The firmware just executed the MARKER(%u) " wl 1952 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Debug-IRQ triggered for unknown reason: %u\n", wl 1978 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "MAC transmission error\n"); wl 1981 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "PHY transmission error\n"); wl 1986 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "Too many PHY TX errors, " wl 1993 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, wl 1998 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "This device does not support DMA " wl 2024 drivers/net/wireless/broadcom/b43/main.c b43warn(dev->wl, "RX descriptor underrun\n"); wl 2061 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&dev->wl->mutex); wl 2063 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&dev->wl->mutex); wl 2125 drivers/net/wireless/broadcom/b43/main.c spin_lock(&dev->wl->hardirq_lock); wl 2127 drivers/net/wireless/broadcom/b43/main.c spin_unlock(&dev->wl->hardirq_lock); wl 2135 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 2138 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 2144 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 2163 drivers/net/wireless/broadcom/b43/main.c static void b43_print_fw_helptext(struct b43_wl *wl, bool error) wl 2172 drivers/net/wireless/broadcom/b43/main.c b43err(wl, text); wl 2174 drivers/net/wireless/broadcom/b43/main.c b43warn(wl, text); wl 2515 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "The driver does not know which firmware (ucode) " wl 2521 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "The driver does not know which firmware (PCM) " wl 2527 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "The driver does not know which firmware (initvals) " wl 2542 drivers/net/wireless/broadcom/b43/main.c static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl); wl 2544 drivers/net/wireless/broadcom/b43/main.c static int b43_rng_init(struct b43_wl *wl); wl 2548 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = container_of(work, wl 2550 drivers/net/wireless/broadcom/b43/main.c struct b43_wldev *dev = wl->current_dev; wl 2581 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "%s", errmsg); wl 2583 drivers/net/wireless/broadcom/b43/main.c b43_print_fw_helptext(dev->wl, 1); wl 2587 drivers/net/wireless/broadcom/b43/main.c wl->hw->queues = B43_QOS_QUEUE_NUM; wl 2589 drivers/net/wireless/broadcom/b43/main.c wl->hw->queues = 1; wl 2591 drivers/net/wireless/broadcom/b43/main.c err = ieee80211_register_hw(wl->hw); wl 2594 drivers/net/wireless/broadcom/b43/main.c wl->hw_registered = true; wl 2595 drivers/net/wireless/broadcom/b43/main.c b43_leds_register(wl->current_dev); wl 2598 drivers/net/wireless/broadcom/b43/main.c b43_rng_init(wl); wl 2606 drivers/net/wireless/broadcom/b43/main.c struct wiphy *wiphy = dev->wl->hw->wiphy; wl 2662 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "Microcode not responding\n"); wl 2663 drivers/net/wireless/broadcom/b43/main.c b43_print_fw_helptext(dev->wl, 1); wl 2678 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "YOUR FIRMWARE IS TOO OLD. Firmware from " wl 2681 drivers/net/wireless/broadcom/b43/main.c b43_print_fw_helptext(dev->wl, 1); wl 2695 drivers/net/wireless/broadcom/b43/main.c dev->qos_enabled = dev->wl->hw->queues > 1; wl 2704 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Loading OpenSource firmware version %u.%u\n", wl 2709 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Hardware crypto acceleration not supported by firmware\n"); wl 2716 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Loading firmware version %u.%u " wl 2722 drivers/net/wireless/broadcom/b43/main.c b43warn(dev->wl, "No \"pcm5.fw\" firmware file found. " wl 2724 drivers/net/wireless/broadcom/b43/main.c b43_print_fw_helptext(dev->wl, 0); wl 2735 drivers/net/wireless/broadcom/b43/main.c b43warn(dev->wl, "You are using an old firmware image. " wl 2738 drivers/net/wireless/broadcom/b43/main.c b43_print_fw_helptext(dev->wl, 0); wl 2806 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "Initial Values Firmware file-format error.\n"); wl 2807 drivers/net/wireless/broadcom/b43/main.c b43_print_fw_helptext(dev->wl, 1); wl 2955 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "b43_mac_enable(): The firmware " wl 3001 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "MAC suspend failed\n"); wl 3093 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 3107 drivers/net/wireless/broadcom/b43/main.c if (b43_is_mode(wl, NL80211_IFTYPE_AP) || wl 3108 drivers/net/wireless/broadcom/b43/main.c b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT)) wl 3110 drivers/net/wireless/broadcom/b43/main.c else if (b43_is_mode(wl, NL80211_IFTYPE_ADHOC)) wl 3113 drivers/net/wireless/broadcom/b43/main.c if (wl->filter_flags & FIF_CONTROL) wl 3115 drivers/net/wireless/broadcom/b43/main.c if (wl->filter_flags & FIF_FCSFAIL) wl 3117 drivers/net/wireless/broadcom/b43/main.c if (wl->filter_flags & FIF_PLCPFAIL) wl 3119 drivers/net/wireless/broadcom/b43/main.c if (wl->filter_flags & FIF_BCN_PRBRESP_PROMISC) wl 3335 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Chip initialized\n"); wl 3371 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "Firmware watchdog: The firmware died!\n"); wl 3390 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Stats: %7u IRQs/sec, %7u TX/sec, %7u RX/sec\n", wl 3399 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Stats: %7u IRQ-%02u/sec (0x%08X)\n", wl 3429 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 3432 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 3447 drivers/net/wireless/broadcom/b43/main.c ieee80211_queue_delayed_work(wl->hw, &dev->periodic_work, delay); wl 3449 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 3458 drivers/net/wireless/broadcom/b43/main.c ieee80211_queue_delayed_work(dev->wl->hw, work, 0); wl 3484 drivers/net/wireless/broadcom/b43/main.c b43warn(dev->wl, "Unaligned 32bit SHM read access is broken\n"); wl 3490 drivers/net/wireless/broadcom/b43/main.c b43warn(dev->wl, "Unaligned 32bit SHM write access is broken\n"); wl 3514 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "Failed to validate the chipaccess\n"); wl 3534 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = (struct b43_wl *)rng->priv; wl 3538 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 3539 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 3544 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 3550 drivers/net/wireless/broadcom/b43/main.c static void b43_rng_exit(struct b43_wl *wl) wl 3553 drivers/net/wireless/broadcom/b43/main.c if (wl->rng_initialized) wl 3554 drivers/net/wireless/broadcom/b43/main.c hwrng_unregister(&wl->rng); wl 3558 drivers/net/wireless/broadcom/b43/main.c static int b43_rng_init(struct b43_wl *wl) wl 3563 drivers/net/wireless/broadcom/b43/main.c snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name), wl 3564 drivers/net/wireless/broadcom/b43/main.c "%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy)); wl 3565 drivers/net/wireless/broadcom/b43/main.c wl->rng.name = wl->rng_name; wl 3566 drivers/net/wireless/broadcom/b43/main.c wl->rng.data_read = b43_rng_read; wl 3567 drivers/net/wireless/broadcom/b43/main.c wl->rng.priv = (unsigned long)wl; wl 3568 drivers/net/wireless/broadcom/b43/main.c wl->rng_initialized = true; wl 3569 drivers/net/wireless/broadcom/b43/main.c err = hwrng_register(&wl->rng); wl 3571 drivers/net/wireless/broadcom/b43/main.c wl->rng_initialized = false; wl 3572 drivers/net/wireless/broadcom/b43/main.c b43err(wl, "Failed to register the random " wl 3582 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = container_of(work, struct b43_wl, tx_work); wl 3588 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 3589 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 3591 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 3596 drivers/net/wireless/broadcom/b43/main.c while (skb_queue_len(&wl->tx_queue[queue_num])) { wl 3597 drivers/net/wireless/broadcom/b43/main.c skb = skb_dequeue(&wl->tx_queue[queue_num]); wl 3603 drivers/net/wireless/broadcom/b43/main.c wl->tx_queue_stopped[queue_num] = 1; wl 3604 drivers/net/wireless/broadcom/b43/main.c ieee80211_stop_queue(wl->hw, queue_num); wl 3605 drivers/net/wireless/broadcom/b43/main.c skb_queue_head(&wl->tx_queue[queue_num], skb); wl 3609 drivers/net/wireless/broadcom/b43/main.c ieee80211_free_txskb(wl->hw, skb); wl 3614 drivers/net/wireless/broadcom/b43/main.c wl->tx_queue_stopped[queue_num] = 0; wl 3620 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 3627 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 3636 drivers/net/wireless/broadcom/b43/main.c skb_queue_tail(&wl->tx_queue[skb->queue_mapping], skb); wl 3637 drivers/net/wireless/broadcom/b43/main.c if (!wl->tx_queue_stopped[skb->queue_mapping]) { wl 3638 drivers/net/wireless/broadcom/b43/main.c ieee80211_queue_work(wl->hw, &wl->tx_work); wl 3640 drivers/net/wireless/broadcom/b43/main.c ieee80211_stop_queue(wl->hw, skb->queue_mapping); wl 3696 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 3704 drivers/net/wireless/broadcom/b43/main.c ARRAY_SIZE(wl->qos_params)); wl 3707 drivers/net/wireless/broadcom/b43/main.c for (i = 0; i < ARRAY_SIZE(wl->qos_params); i++) { wl 3708 drivers/net/wireless/broadcom/b43/main.c params = &(wl->qos_params[i]); wl 3715 drivers/net/wireless/broadcom/b43/main.c static void b43_qos_clear(struct b43_wl *wl) wl 3723 drivers/net/wireless/broadcom/b43/main.c ARRAY_SIZE(wl->qos_params)); wl 3725 drivers/net/wireless/broadcom/b43/main.c for (i = 0; i < ARRAY_SIZE(wl->qos_params); i++) { wl 3726 drivers/net/wireless/broadcom/b43/main.c params = &(wl->qos_params[i]); wl 3768 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "QoS disabled\n"); wl 3780 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "QoS enabled\n"); wl 3787 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 3792 drivers/net/wireless/broadcom/b43/main.c if (queue >= ARRAY_SIZE(wl->qos_params)) { wl 3799 drivers/net/wireless/broadcom/b43/main.c ARRAY_SIZE(wl->qos_params)); wl 3801 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 3802 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 3806 drivers/net/wireless/broadcom/b43/main.c memcpy(&(wl->qos_params[queue].p), params, sizeof(*params)); wl 3808 drivers/net/wireless/broadcom/b43/main.c b43_qos_params_upload(dev, &(wl->qos_params[queue].p), wl 3814 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 3822 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 3824 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 3825 drivers/net/wireless/broadcom/b43/main.c memcpy(stats, &wl->ieee_stats, sizeof(*stats)); wl 3826 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 3833 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 3837 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 3838 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 3845 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 3853 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 3856 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 3857 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 3862 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 3901 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "This device doesn't support %s-GHz band\n", wl 3911 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Switching to %s GHz band\n", wl 3975 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 3976 drivers/net/wireless/broadcom/b43/main.c struct b43_wldev *dev = wl->current_dev; wl 3982 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 4010 drivers/net/wireless/broadcom/b43/main.c dev->wl->radiotap_enabled = !!(conf->flags & IEEE80211_CONF_MONITOR); wl 4028 drivers/net/wireless/broadcom/b43/main.c if (wl->radio_enabled != phy->radio_on) { wl 4029 drivers/net/wireless/broadcom/b43/main.c if (wl->radio_enabled) { wl 4031 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Radio turned on by software\n"); wl 4033 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "The hardware RF-kill button " wl 4039 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Radio turned off by software\n"); wl 4045 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 4053 drivers/net/wireless/broadcom/b43/main.c dev->wl->hw->wiphy->bands[b43_current_band(dev->wl)]; wl 4100 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 4103 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 4105 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 4109 drivers/net/wireless/broadcom/b43/main.c B43_WARN_ON(wl->vif != vif); wl 4113 drivers/net/wireless/broadcom/b43/main.c memcpy(wl->bssid, conf->bssid, ETH_ALEN); wl 4115 drivers/net/wireless/broadcom/b43/main.c eth_zero_addr(wl->bssid); wl 4120 drivers/net/wireless/broadcom/b43/main.c (b43_is_mode(wl, NL80211_IFTYPE_AP) || wl 4121 drivers/net/wireless/broadcom/b43/main.c b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) || wl 4122 drivers/net/wireless/broadcom/b43/main.c b43_is_mode(wl, NL80211_IFTYPE_ADHOC))) wl 4123 drivers/net/wireless/broadcom/b43/main.c b43_update_templates(wl); wl 4133 drivers/net/wireless/broadcom/b43/main.c (b43_is_mode(wl, NL80211_IFTYPE_AP) || wl 4134 drivers/net/wireless/broadcom/b43/main.c b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) || wl 4135 drivers/net/wireless/broadcom/b43/main.c b43_is_mode(wl, NL80211_IFTYPE_ADHOC)) && wl 4151 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 4158 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 4182 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 4184 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 4268 drivers/net/wireless/broadcom/b43/main.c b43dbg(wl, "%s hardware based encryption for keyidx: %d, " wl 4274 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 4283 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 4286 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 4287 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 4307 drivers/net/wireless/broadcom/b43/main.c wl->filter_flags = *fflags; wl 4313 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 4321 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl; wl 4328 drivers/net/wireless/broadcom/b43/main.c wl = dev->wl; wl 4334 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 4336 drivers/net/wireless/broadcom/b43/main.c cancel_work_sync(&wl->tx_work); wl 4338 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 4339 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 4352 drivers/net/wireless/broadcom/b43/main.c spin_lock_irq(&wl->hardirq_lock); wl 4355 drivers/net/wireless/broadcom/b43/main.c spin_unlock_irq(&wl->hardirq_lock); wl 4359 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 4364 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 4365 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 4378 drivers/net/wireless/broadcom/b43/main.c while (skb_queue_len(&wl->tx_queue[queue_num])) { wl 4381 drivers/net/wireless/broadcom/b43/main.c skb = skb_dequeue(&wl->tx_queue[queue_num]); wl 4382 drivers/net/wireless/broadcom/b43/main.c ieee80211_free_txskb(wl->hw, skb); wl 4388 drivers/net/wireless/broadcom/b43/main.c b43dbg(wl, "Wireless interface stopped\n"); wl 4404 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "Cannot request SDIO IRQ\n"); wl 4412 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "Cannot request IRQ-%d\n", wl 4419 drivers/net/wireless/broadcom/b43/main.c ieee80211_wake_queues(dev->wl->hw); wl 4431 drivers/net/wireless/broadcom/b43/main.c b43dbg(dev->wl, "Wireless interface started\n"); wl 4533 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, "FOUND UNSUPPORTED PHY (Analog %u, Type %d (%s), Revision %u)\n", wl 4538 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Found PHY: Analog %u, Type %d (%s), Revision %u\n", wl 4625 drivers/net/wireless/broadcom/b43/main.c b43err(dev->wl, wl 4630 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, wl 4744 drivers/net/wireless/broadcom/b43/main.c if (b43_is_mode(dev->wl, NL80211_IFTYPE_ADHOC) || idle) wl 4758 drivers/net/wireless/broadcom/b43/main.c if (b43_is_mode(dev->wl, NL80211_IFTYPE_ADHOC)) wl 4797 drivers/net/wireless/broadcom/b43/main.c if (dev->wl->current_beacon) { wl 4798 drivers/net/wireless/broadcom/b43/main.c dev_kfree_skb_any(dev->wl->current_beacon); wl 4799 drivers/net/wireless/broadcom/b43/main.c dev->wl->current_beacon = NULL; wl 4921 drivers/net/wireless/broadcom/b43/main.c b43warn(dev->wl, "Forced PIO by use_pio module parameter. " wl 4940 drivers/net/wireless/broadcom/b43/main.c ieee80211_wake_queues(dev->wl->hw); wl 4958 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 4971 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 4972 drivers/net/wireless/broadcom/b43/main.c if (wl->operating) wl 4975 drivers/net/wireless/broadcom/b43/main.c b43dbg(wl, "Adding Interface type %d\n", vif->type); wl 4977 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 4978 drivers/net/wireless/broadcom/b43/main.c wl->operating = true; wl 4979 drivers/net/wireless/broadcom/b43/main.c wl->vif = vif; wl 4980 drivers/net/wireless/broadcom/b43/main.c wl->if_type = vif->type; wl 4981 drivers/net/wireless/broadcom/b43/main.c memcpy(wl->mac_addr, vif->addr, ETH_ALEN); wl 4990 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 5001 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 5002 drivers/net/wireless/broadcom/b43/main.c struct b43_wldev *dev = wl->current_dev; wl 5004 drivers/net/wireless/broadcom/b43/main.c b43dbg(wl, "Removing Interface type %d\n", vif->type); wl 5006 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 5008 drivers/net/wireless/broadcom/b43/main.c B43_WARN_ON(!wl->operating); wl 5009 drivers/net/wireless/broadcom/b43/main.c B43_WARN_ON(wl->vif != vif); wl 5010 drivers/net/wireless/broadcom/b43/main.c wl->vif = NULL; wl 5012 drivers/net/wireless/broadcom/b43/main.c wl->operating = false; wl 5015 drivers/net/wireless/broadcom/b43/main.c eth_zero_addr(wl->mac_addr); wl 5018 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 5023 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 5024 drivers/net/wireless/broadcom/b43/main.c struct b43_wldev *dev = wl->current_dev; wl 5031 drivers/net/wireless/broadcom/b43/main.c eth_zero_addr(wl->bssid); wl 5032 drivers/net/wireless/broadcom/b43/main.c eth_zero_addr(wl->mac_addr); wl 5033 drivers/net/wireless/broadcom/b43/main.c wl->filter_flags = 0; wl 5034 drivers/net/wireless/broadcom/b43/main.c wl->radiotap_enabled = false; wl 5035 drivers/net/wireless/broadcom/b43/main.c b43_qos_clear(wl); wl 5036 drivers/net/wireless/broadcom/b43/main.c wl->beacon0_uploaded = false; wl 5037 drivers/net/wireless/broadcom/b43/main.c wl->beacon1_uploaded = false; wl 5038 drivers/net/wireless/broadcom/b43/main.c wl->beacon_templates_virgin = true; wl 5039 drivers/net/wireless/broadcom/b43/main.c wl->radio_enabled = true; wl 5041 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 5063 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 5079 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 5080 drivers/net/wireless/broadcom/b43/main.c struct b43_wldev *dev = wl->current_dev; wl 5082 drivers/net/wireless/broadcom/b43/main.c cancel_work_sync(&(wl->beacon_update_trigger)); wl 5087 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 5094 drivers/net/wireless/broadcom/b43/main.c wl->radio_enabled = false; wl 5097 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 5099 drivers/net/wireless/broadcom/b43/main.c cancel_work_sync(&(wl->txpower_adjust_work)); wl 5105 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 5107 drivers/net/wireless/broadcom/b43/main.c b43_update_templates(wl); wl 5117 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 5119 drivers/net/wireless/broadcom/b43/main.c B43_WARN_ON(!vif || wl->vif != vif); wl 5126 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 5129 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 5130 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 5135 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 5141 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 5144 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 5145 drivers/net/wireless/broadcom/b43/main.c dev = wl->current_dev; wl 5150 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 5156 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 5157 drivers/net/wireless/broadcom/b43/main.c struct b43_wldev *dev = wl->current_dev; wl 5200 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 5204 drivers/net/wireless/broadcom/b43/main.c mutex_lock(&wl->mutex); wl 5233 drivers/net/wireless/broadcom/b43/main.c wl->current_dev = NULL; /* Failed to init the dev. */ wl 5234 drivers/net/wireless/broadcom/b43/main.c mutex_unlock(&wl->mutex); wl 5237 drivers/net/wireless/broadcom/b43/main.c b43err(wl, "Controller restart FAILED\n"); wl 5242 drivers/net/wireless/broadcom/b43/main.c b43_op_config(wl->hw, ~0); wl 5243 drivers/net/wireless/broadcom/b43/main.c if (wl->vif) wl 5244 drivers/net/wireless/broadcom/b43/main.c b43_op_bss_info_changed(wl->hw, wl->vif, &wl->vif->bss_conf, ~0); wl 5246 drivers/net/wireless/broadcom/b43/main.c b43info(wl, "Controller restarted\n"); wl 5252 drivers/net/wireless/broadcom/b43/main.c struct ieee80211_hw *hw = dev->wl->hw; wl 5365 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = dev->wl; wl 5380 drivers/net/wireless/broadcom/b43/main.c b43err(wl, "Bus powerup failed\n"); wl 5424 drivers/net/wireless/broadcom/b43/main.c b43warn(wl, "5 GHz band is unsupported on this PHY\n"); wl 5430 drivers/net/wireless/broadcom/b43/main.c b43err(wl, "b43 can't support any band on this device\n"); wl 5450 drivers/net/wireless/broadcom/b43/main.c if (!wl->current_dev) wl 5451 drivers/net/wireless/broadcom/b43/main.c wl->current_dev = dev; wl 5483 drivers/net/wireless/broadcom/b43/main.c static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl) wl 5494 drivers/net/wireless/broadcom/b43/main.c wldev->wl = wl; wl 5545 drivers/net/wireless/broadcom/b43/main.c static void b43_wireless_exit(struct b43_bus_dev *dev, struct b43_wl *wl) wl 5547 drivers/net/wireless/broadcom/b43/main.c struct ieee80211_hw *hw = wl->hw; wl 5558 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl; wl 5562 drivers/net/wireless/broadcom/b43/main.c hw = ieee80211_alloc_hw(sizeof(*wl), &b43_hw_ops); wl 5567 drivers/net/wireless/broadcom/b43/main.c wl = hw_to_b43_wl(hw); wl 5586 drivers/net/wireless/broadcom/b43/main.c wl->hw_registered = false; wl 5595 drivers/net/wireless/broadcom/b43/main.c wl->hw = hw; wl 5596 drivers/net/wireless/broadcom/b43/main.c mutex_init(&wl->mutex); wl 5597 drivers/net/wireless/broadcom/b43/main.c spin_lock_init(&wl->hardirq_lock); wl 5598 drivers/net/wireless/broadcom/b43/main.c spin_lock_init(&wl->beacon_lock); wl 5599 drivers/net/wireless/broadcom/b43/main.c INIT_WORK(&wl->beacon_update_trigger, b43_beacon_update_trigger_work); wl 5600 drivers/net/wireless/broadcom/b43/main.c INIT_WORK(&wl->txpower_adjust_work, b43_phy_txpower_adjust_work); wl 5601 drivers/net/wireless/broadcom/b43/main.c INIT_WORK(&wl->tx_work, b43_tx_work); wl 5605 drivers/net/wireless/broadcom/b43/main.c skb_queue_head_init(&wl->tx_queue[queue_num]); wl 5606 drivers/net/wireless/broadcom/b43/main.c wl->tx_queue_stopped[queue_num] = 0; wl 5611 drivers/net/wireless/broadcom/b43/main.c b43info(wl, "Broadcom %s WLAN found (core revision %u)\n", chip_name, wl 5613 drivers/net/wireless/broadcom/b43/main.c return wl; wl 5620 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl; wl 5633 drivers/net/wireless/broadcom/b43/main.c wl = b43_wireless_init(dev); wl 5634 drivers/net/wireless/broadcom/b43/main.c if (IS_ERR(wl)) { wl 5635 drivers/net/wireless/broadcom/b43/main.c err = PTR_ERR(wl); wl 5639 drivers/net/wireless/broadcom/b43/main.c err = b43_one_core_attach(dev, wl); wl 5644 drivers/net/wireless/broadcom/b43/main.c INIT_WORK(&wl->firmware_load, b43_request_firmware); wl 5645 drivers/net/wireless/broadcom/b43/main.c schedule_work(&wl->firmware_load); wl 5650 drivers/net/wireless/broadcom/b43/main.c ieee80211_free_hw(wl->hw); wl 5659 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = wldev->wl; wl 5664 drivers/net/wireless/broadcom/b43/main.c cancel_work_sync(&wl->firmware_load); wl 5666 drivers/net/wireless/broadcom/b43/main.c B43_WARN_ON(!wl); wl 5669 drivers/net/wireless/broadcom/b43/main.c if (wl->current_dev == wldev && wl->hw_registered) { wl 5671 drivers/net/wireless/broadcom/b43/main.c ieee80211_unregister_hw(wl->hw); wl 5677 drivers/net/wireless/broadcom/b43/main.c b43_rng_exit(wl); wl 5679 drivers/net/wireless/broadcom/b43/main.c b43_leds_unregister(wl); wl 5680 drivers/net/wireless/broadcom/b43/main.c ieee80211_free_hw(wl->hw); wl 5697 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl; wl 5704 drivers/net/wireless/broadcom/b43/main.c wl = ssb_get_devtypedata(sdev); wl 5705 drivers/net/wireless/broadcom/b43/main.c if (wl) { wl 5713 drivers/net/wireless/broadcom/b43/main.c wl = b43_wireless_init(dev); wl 5714 drivers/net/wireless/broadcom/b43/main.c if (IS_ERR(wl)) { wl 5715 drivers/net/wireless/broadcom/b43/main.c err = PTR_ERR(wl); wl 5718 drivers/net/wireless/broadcom/b43/main.c ssb_set_devtypedata(sdev, wl); wl 5719 drivers/net/wireless/broadcom/b43/main.c B43_WARN_ON(ssb_get_devtypedata(sdev) != wl); wl 5721 drivers/net/wireless/broadcom/b43/main.c err = b43_one_core_attach(dev, wl); wl 5726 drivers/net/wireless/broadcom/b43/main.c INIT_WORK(&wl->firmware_load, b43_request_firmware); wl 5727 drivers/net/wireless/broadcom/b43/main.c schedule_work(&wl->firmware_load); wl 5732 drivers/net/wireless/broadcom/b43/main.c b43_wireless_exit(dev, wl); wl 5740 drivers/net/wireless/broadcom/b43/main.c struct b43_wl *wl = ssb_get_devtypedata(sdev); wl 5747 drivers/net/wireless/broadcom/b43/main.c cancel_work_sync(&wl->firmware_load); wl 5749 drivers/net/wireless/broadcom/b43/main.c B43_WARN_ON(!wl); wl 5752 drivers/net/wireless/broadcom/b43/main.c if (wl->current_dev == wldev && wl->hw_registered) { wl 5754 drivers/net/wireless/broadcom/b43/main.c ieee80211_unregister_hw(wl->hw); wl 5760 drivers/net/wireless/broadcom/b43/main.c b43_rng_exit(wl); wl 5762 drivers/net/wireless/broadcom/b43/main.c b43_leds_unregister(wl); wl 5763 drivers/net/wireless/broadcom/b43/main.c b43_wireless_exit(dev, wl); wl 5781 drivers/net/wireless/broadcom/b43/main.c b43info(dev->wl, "Controller RESET (%s) ...\n", reason); wl 5782 drivers/net/wireless/broadcom/b43/main.c ieee80211_queue_work(dev->wl->hw, &dev->restart_work); wl 60 drivers/net/wireless/broadcom/b43/phy_ac.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 93 drivers/net/wireless/broadcom/b43/phy_common.c phy->chandef = &dev->wl->hw->conf.chandef; wl 102 drivers/net/wireless/broadcom/b43/phy_common.c b43err(dev->wl, "PHY init failed\n"); wl 109 drivers/net/wireless/broadcom/b43/phy_common.c b43err(dev->wl, "PHY init: Channel switch to default failed\n"); wl 187 drivers/net/wireless/broadcom/b43/phy_common.c if (!b43_is_mode(dev->wl, NL80211_IFTYPE_AP)) wl 199 drivers/net/wireless/broadcom/b43/phy_common.c if (!b43_is_mode(dev->wl, NL80211_IFTYPE_AP)) wl 209 drivers/net/wireless/broadcom/b43/phy_common.c b43dbg(dev->wl, "PHY/RADIO register access with " wl 426 drivers/net/wireless/broadcom/b43/phy_common.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 468 drivers/net/wireless/broadcom/b43/phy_common.c struct b43_wl *wl = container_of(work, struct b43_wl, wl 472 drivers/net/wireless/broadcom/b43/phy_common.c mutex_lock(&wl->mutex); wl 473 drivers/net/wireless/broadcom/b43/phy_common.c dev = wl->current_dev; wl 478 drivers/net/wireless/broadcom/b43/phy_common.c mutex_unlock(&wl->mutex); wl 507 drivers/net/wireless/broadcom/b43/phy_common.c ieee80211_queue_work(dev->wl->hw, &dev->wl->txpower_adjust_work); wl 228 drivers/net/wireless/broadcom/b43/phy_g.c b43dbg(dev->wl, "Tuning TX-power to bbatt(%u), " wl 1959 drivers/net/wireless/broadcom/b43/phy_g.c b43dbg(dev->wl, wl 2363 drivers/net/wireless/broadcom/b43/phy_g.c b43err(dev->wl, "Could not allocate memory " wl 2370 drivers/net/wireless/broadcom/b43/phy_g.c b43err(dev->wl, "Could not generate " wl 2867 drivers/net/wireless/broadcom/b43/phy_g.c b43dbg(dev->wl, "Adjusting TX power\n"); wl 2921 drivers/net/wireless/broadcom/b43/phy_g.c b43warn(dev->wl, wl 2935 drivers/net/wireless/broadcom/b43/phy_g.c b43dbg(dev->wl, wl 2965 drivers/net/wireless/broadcom/b43/phy_g.c b43dbg(dev->wl, wl 98 drivers/net/wireless/broadcom/b43/phy_ht.c b43err(dev->wl, "Radio 0x2059 rcal timeout\n"); wl 125 drivers/net/wireless/broadcom/b43/phy_ht.c b43err(dev->wl, "Radio 0x2059 rccal timeout\n"); wl 191 drivers/net/wireless/broadcom/b43/phy_ht.c b43err(dev->wl, "Forcing RF sequence timeout\n"); wl 410 drivers/net/wireless/broadcom/b43/phy_ht.c b43err(dev->wl, "run samples timeout\n"); wl 439 drivers/net/wireless/broadcom/b43/phy_ht.c b43err(dev->wl, "RSSI selection for core off not implemented yet\n"); wl 460 drivers/net/wireless/broadcom/b43/phy_ht.c b43err(dev->wl, "RSSI selection for type %d not implemented yet\n", wl 558 drivers/net/wireless/broadcom/b43/phy_ht.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 633 drivers/net/wireless/broadcom/b43/phy_ht.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 877 drivers/net/wireless/broadcom/b43/phy_ht.c b43err(dev->wl, "HT-PHY is supported only on BCMA bus!\n"); wl 906 drivers/net/wireless/broadcom/b43/phy_ht.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 995 drivers/net/wireless/broadcom/b43/phy_ht.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 1026 drivers/net/wireless/broadcom/b43/phy_ht.c b43err(dev->wl, "MAC not suspended\n"); wl 1063 drivers/net/wireless/broadcom/b43/phy_ht.c struct ieee80211_channel *channel = dev->wl->hw->conf.chandef.chan; wl 1065 drivers/net/wireless/broadcom/b43/phy_ht.c cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef); wl 1067 drivers/net/wireless/broadcom/b43/phy_ht.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 1079 drivers/net/wireless/broadcom/b43/phy_ht.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 111 drivers/net/wireless/broadcom/b43/phy_lcn.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 538 drivers/net/wireless/broadcom/b43/phy_lcn.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 555 drivers/net/wireless/broadcom/b43/phy_lcn.c b43err(dev->wl, "TX power control not supported for this HW\n"); wl 723 drivers/net/wireless/broadcom/b43/phy_lcn.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 746 drivers/net/wireless/broadcom/b43/phy_lcn.c b43err(dev->wl, "MAC not suspended\n"); wl 778 drivers/net/wireless/broadcom/b43/phy_lcn.c struct ieee80211_channel *channel = dev->wl->hw->conf.chandef.chan; wl 780 drivers/net/wireless/broadcom/b43/phy_lcn.c cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef); wl 782 drivers/net/wireless/broadcom/b43/phy_lcn.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 794 drivers/net/wireless/broadcom/b43/phy_lcn.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 37 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 82 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 165 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 229 drivers/net/wireless/broadcom/b43/phy_lp.c ((b43_current_band(dev->wl) == NL80211_BAND_5GHZ) || wl 271 drivers/net/wireless/broadcom/b43/phy_lp.c } else if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ || wl 317 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 457 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 538 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 579 drivers/net/wireless/broadcom/b43/phy_lp.c b43dbg(dev->wl, "b2062: Using crystal tab entry %u kHz.\n", wl 737 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 798 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 814 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 942 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 1195 drivers/net/wireless/broadcom/b43/phy_lp.c b43dbg(dev->wl, wl 1335 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 1539 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 1575 drivers/net/wireless/broadcom/b43/phy_lp.c b43err(dev->wl, "PR41573 failed. Out of memory!\n"); wl 1882 drivers/net/wireless/broadcom/b43/phy_lp.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 2629 drivers/net/wireless/broadcom/b43/phy_lp.c b43err(dev->wl, "LP-PHY is supported only on SSB!\n"); wl 2639 drivers/net/wireless/broadcom/b43/phy_lp.c b43dbg(dev->wl, "Switch to channel 7 failed, error = %d.\n", wl 96 drivers/net/wireless/broadcom/b43/phy_n.c enum nl80211_band band = b43_current_band(dev->wl); wl 137 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "RF sequence status timeout\n"); wl 174 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "Invalid override value %d\n", override); wl 254 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, wl 289 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, wl 348 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 356 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 369 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 430 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, wl 449 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, wl 456 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 466 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 476 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 591 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 727 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 742 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 766 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 884 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "Radio 0x2057 rcal timeout\n"); wl 945 drivers/net/wireless/broadcom/b43/phy_n.c b43dbg(dev->wl, "Radio 0x2057 rccal timeout\n"); wl 966 drivers/net/wireless/broadcom/b43/phy_n.c b43dbg(dev->wl, "Radio 0x2057 rccal timeout\n"); wl 988 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "Radio 0x2057 rcal timeout\n"); wl 1126 drivers/net/wireless/broadcom/b43/phy_n.c enum nl80211_band band = b43_current_band(dev->wl); wl 1146 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 1159 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 1166 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 1318 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "Radio recalibration timeout\n"); wl 1462 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "radio post init timeout\n"); wl 1492 drivers/net/wireless/broadcom/b43/phy_n.c bool ghz5 = b43_current_band(dev->wl) == NL80211_BAND_5GHZ; wl 1511 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "allocation for samples loading failed\n"); wl 1554 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "allocation for samples generation failed\n"); wl 1642 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "run samples timeout\n"); wl 1776 drivers/net/wireless/broadcom/b43/phy_n.c val = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ? 4 : 8; wl 1805 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl); wl 2111 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 2127 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 2248 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 2280 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 2327 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 2620 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ && wl 2679 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 2794 drivers/net/wireless/broadcom/b43/phy_n.c bool ghz2 = b43_current_band(dev->wl) == NL80211_BAND_2GHZ; wl 2822 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 2973 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 2989 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 3212 drivers/net/wireless/broadcom/b43/phy_n.c tmp16 = (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) ? wl 3231 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 3240 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl) == NL80211_BAND_2GHZ)) wl 3252 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 3268 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) != NL80211_BAND_2GHZ) { wl 3313 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl) == NL80211_BAND_5GHZ) || wl 3315 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl) == NL80211_BAND_2GHZ)) wl 3324 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 3367 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ && wl 3442 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 3577 drivers/net/wireless/broadcom/b43/phy_n.c indx = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ? wl 3605 drivers/net/wireless/broadcom/b43/phy_n.c enum nl80211_band band = b43_current_band(dev->wl); wl 3761 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 3859 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 3883 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 3900 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 4089 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 4144 drivers/net/wireless/broadcom/b43/phy_n.c b43_radio_write(dev, r + 0x9, (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) ? 0xE : 0xC); wl 4148 drivers/net/wireless/broadcom/b43/phy_n.c tmp = (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) ? 0xC : 0xE; wl 4258 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 4264 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 4287 drivers/net/wireless/broadcom/b43/phy_n.c band = b43_current_band(dev->wl); wl 4725 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 4795 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 4855 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 4996 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 5176 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 5201 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 5224 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 5295 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 5323 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 5413 drivers/net/wireless/broadcom/b43/phy_n.c b43_current_band(dev->wl) == NL80211_BAND_2GHZ); wl 5700 drivers/net/wireless/broadcom/b43/phy_n.c band = b43_current_band(dev->wl); wl 5882 drivers/net/wireless/broadcom/b43/phy_n.c struct ieee80211_channel *channel = dev->wl->hw->conf.chandef.chan; wl 5902 drivers/net/wireless/broadcom/b43/phy_n.c b43dbg(dev->wl, "Calculated TX power: " Q52_FMT "\n", wl 5909 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 6039 drivers/net/wireless/broadcom/b43/phy_n.c (b43_current_band(dev->wl) == NL80211_BAND_2GHZ)) { wl 6157 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 6174 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 6188 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 6547 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "Invalid OFDM PHY access at " wl 6553 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "Invalid EXT-G PHY access at " wl 6599 drivers/net/wireless/broadcom/b43/phy_n.c b43err(dev->wl, "MAC not suspended\n"); wl 6675 drivers/net/wireless/broadcom/b43/phy_n.c struct ieee80211_channel *channel = dev->wl->hw->conf.chandef.chan; wl 6677 drivers/net/wireless/broadcom/b43/phy_n.c cfg80211_get_chandef_type(&dev->wl->hw->conf.chandef); wl 6679 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 6692 drivers/net/wireless/broadcom/b43/phy_n.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 186 drivers/net/wireless/broadcom/b43/pio.c ieee80211_free_txskb(q->dev->wl->hw, pack->skb); wl 268 drivers/net/wireless/broadcom/b43/pio.c b43dbg(dev->wl, "PIO initialized\n"); wl 323 drivers/net/wireless/broadcom/b43/pio.c struct b43_wl *wl = dev->wl; wl 333 drivers/net/wireless/broadcom/b43/pio.c u8 *tail = wl->pio_tailspace; wl 334 drivers/net/wireless/broadcom/b43/pio.c BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 2); wl 376 drivers/net/wireless/broadcom/b43/pio.c struct b43_wl *wl = dev->wl; wl 387 drivers/net/wireless/broadcom/b43/pio.c u8 *tail = wl->pio_tailspace; wl 388 drivers/net/wireless/broadcom/b43/pio.c BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 4); wl 444 drivers/net/wireless/broadcom/b43/pio.c struct b43_wl *wl = dev->wl; wl 450 drivers/net/wireless/broadcom/b43/pio.c struct b43_txhdr *txhdr = (struct b43_txhdr *)wl->pio_scratchspace; wl 458 drivers/net/wireless/broadcom/b43/pio.c BUILD_BUG_ON(sizeof(wl->pio_scratchspace) < sizeof(struct b43_txhdr)); wl 459 drivers/net/wireless/broadcom/b43/pio.c B43_WARN_ON(sizeof(wl->pio_scratchspace) < hdrlen); wl 515 drivers/net/wireless/broadcom/b43/pio.c b43dbg(dev->wl, "PIO: TX packet longer than queue.\n"); wl 520 drivers/net/wireless/broadcom/b43/pio.c b43warn(dev->wl, "PIO: TX packet overflow.\n"); wl 528 drivers/net/wireless/broadcom/b43/pio.c ieee80211_stop_queue(dev->wl->hw, skb_get_queue_mapping(skb)); wl 542 drivers/net/wireless/broadcom/b43/pio.c ieee80211_free_txskb(dev->wl->hw, skb); wl 547 drivers/net/wireless/broadcom/b43/pio.c b43err(dev->wl, "PIO transmission failure\n"); wl 555 drivers/net/wireless/broadcom/b43/pio.c ieee80211_stop_queue(dev->wl->hw, skb_get_queue_mapping(skb)); wl 585 drivers/net/wireless/broadcom/b43/pio.c ieee80211_tx_status(dev->wl->hw, pack->skb); wl 590 drivers/net/wireless/broadcom/b43/pio.c ieee80211_wake_queue(dev->wl->hw, q->queue_prio); wl 599 drivers/net/wireless/broadcom/b43/pio.c struct b43_wl *wl = dev->wl; wl 606 drivers/net/wireless/broadcom/b43/pio.c (struct b43_rxhdr_fw4 *)wl->pio_scratchspace; wl 609 drivers/net/wireless/broadcom/b43/pio.c BUILD_BUG_ON(sizeof(wl->pio_scratchspace) < sizeof(*rxhdr)); wl 651 drivers/net/wireless/broadcom/b43/pio.c b43dbg(q->dev->wl, "PIO RX timed out\n"); wl 686 drivers/net/wireless/broadcom/b43/pio.c if (!(q->dev->wl->filter_flags & FIF_FCSFAIL)) { wl 709 drivers/net/wireless/broadcom/b43/pio.c u8 *tail = wl->pio_tailspace; wl 710 drivers/net/wireless/broadcom/b43/pio.c BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 4); wl 736 drivers/net/wireless/broadcom/b43/pio.c u8 *tail = wl->pio_tailspace; wl 737 drivers/net/wireless/broadcom/b43/pio.c BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 2); wl 753 drivers/net/wireless/broadcom/b43/pio.c b43dbg(q->dev->wl, "PIO RX error: %s\n", err_msg); wl 25 drivers/net/wireless/broadcom/b43/rfkill.c struct b43_wl *wl = hw_to_b43_wl(hw); wl 26 drivers/net/wireless/broadcom/b43/rfkill.c struct b43_wldev *dev = wl->current_dev; wl 30 drivers/net/wireless/broadcom/b43/rfkill.c mutex_lock(&wl->mutex); wl 33 drivers/net/wireless/broadcom/b43/rfkill.c mutex_unlock(&wl->mutex); wl 44 drivers/net/wireless/broadcom/b43/rfkill.c b43info(wl, "Radio hardware status changed to %s\n", wl 56 drivers/net/wireless/broadcom/b43/rfkill.c mutex_unlock(&wl->mutex); wl 47 drivers/net/wireless/broadcom/b43/sysfs.c mutex_lock(&wldev->wl->mutex); wl 50 drivers/net/wireless/broadcom/b43/sysfs.c mutex_unlock(&wldev->wl->mutex); wl 74 drivers/net/wireless/broadcom/b43/sysfs.c mutex_unlock(&wldev->wl->mutex); wl 108 drivers/net/wireless/broadcom/b43/sysfs.c mutex_lock(&wldev->wl->mutex); wl 113 drivers/net/wireless/broadcom/b43/sysfs.c b43err(wldev->wl, "Interference Mitigation not " wl 119 drivers/net/wireless/broadcom/b43/sysfs.c mutex_unlock(&wldev->wl->mutex); wl 550 drivers/net/wireless/broadcom/b43/tables_lpphy.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 569 drivers/net/wireless/broadcom/b43/tables_lpphy.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 2369 drivers/net/wireless/broadcom/b43/tables_lpphy.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 2374 drivers/net/wireless/broadcom/b43/tables_lpphy.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 2413 drivers/net/wireless/broadcom/b43/tables_lpphy.c else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 2425 drivers/net/wireless/broadcom/b43/tables_lpphy.c else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 2436 drivers/net/wireless/broadcom/b43/tables_lpphy.c else if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) wl 3492 drivers/net/wireless/broadcom/b43/tables_nphy.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 3509 drivers/net/wireless/broadcom/b43/tables_nphy.c b43err(dev->wl, "Unsupported antswlut: %d\n", antswlut); wl 3556 drivers/net/wireless/broadcom/b43/tables_nphy.c if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) wl 3641 drivers/net/wireless/broadcom/b43/tables_nphy.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 3666 drivers/net/wireless/broadcom/b43/tables_nphy.c b43err(dev->wl, wl 3679 drivers/net/wireless/broadcom/b43/tables_nphy.c b43err(dev->wl, wl 3688 drivers/net/wireless/broadcom/b43/tables_nphy.c enum nl80211_band band = b43_current_band(dev->wl); wl 3698 drivers/net/wireless/broadcom/b43/tables_nphy.c } else if (b43_current_band(dev->wl) == NL80211_BAND_5GHZ) { wl 3710 drivers/net/wireless/broadcom/b43/tables_nphy.c b43err(dev->wl, wl 3725 drivers/net/wireless/broadcom/b43/tables_nphy.c b43err(dev->wl, wl 3736 drivers/net/wireless/broadcom/b43/tables_nphy.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 3748 drivers/net/wireless/broadcom/b43/tables_nphy.c b43err(dev->wl, wl 3759 drivers/net/wireless/broadcom/b43/tables_nphy.c b43err(dev->wl, wl 3855 drivers/net/wireless/broadcom/b43/tables_nphy.c b43err(dev->wl, "Invalid override value %d\n", override); wl 691 drivers/net/wireless/broadcom/b43/tables_phy_lcn.c if (b43_current_band(dev->wl) == NL80211_BAND_2GHZ) { wl 696 drivers/net/wireless/broadcom/b43/tables_phy_lcn.c b43err(dev->wl, wl 706 drivers/net/wireless/broadcom/b43/tables_phy_lcn.c b43err(dev->wl, "SW ctl table is unknown for this card\n"); wl 264 drivers/net/wireless/broadcom/b43/xmit.c txrate = ieee80211_get_tx_rate(dev->wl->hw, info); wl 267 drivers/net/wireless/broadcom/b43/xmit.c fbrate = ieee80211_get_alt_retry_rate(dev->wl->hw, info, 0) ? : txrate; wl 288 drivers/net/wireless/broadcom/b43/xmit.c dev->wl->hw, info->control.vif, info->band, wl 414 drivers/net/wireless/broadcom/b43/xmit.c (rates[0].count <= dev->wl->hw->conf.long_frame_max_tx_count)) { wl 415 drivers/net/wireless/broadcom/b43/xmit.c rates[0].count = dev->wl->hw->conf.long_frame_max_tx_count; wl 418 drivers/net/wireless/broadcom/b43/xmit.c rates[0].count = dev->wl->hw->conf.short_frame_max_tx_count; wl 431 drivers/net/wireless/broadcom/b43/xmit.c rts_cts_rate = ieee80211_get_rts_cts_rate(dev->wl->hw, info); wl 455 drivers/net/wireless/broadcom/b43/xmit.c ieee80211_ctstoself_get(dev->wl->hw, info->control.vif, wl 477 drivers/net/wireless/broadcom/b43/xmit.c ieee80211_rts_get(dev->wl->hw, info->control.vif, wl 678 drivers/net/wireless/broadcom/b43/xmit.c dev->wl->ieee_stats.dot11FCSErrorCount++; wl 695 drivers/net/wireless/broadcom/b43/xmit.c b43dbg(dev->wl, "RX: Packet size underrun (1)\n"); wl 702 drivers/net/wireless/broadcom/b43/xmit.c b43dbg(dev->wl, "RX: Packet size underrun (2)\n"); wl 723 drivers/net/wireless/broadcom/b43/xmit.c b43dbg(dev->wl, wl 764 drivers/net/wireless/broadcom/b43/xmit.c if (!(dev->wl->filter_flags & FIF_PLCPFAIL)) wl 778 drivers/net/wireless/broadcom/b43/xmit.c if (ieee80211_is_beacon(fctl) || dev->wl->radiotap_enabled) { wl 820 drivers/net/wireless/broadcom/b43/xmit.c ieee80211_rx_ni(dev->wl->hw, skb); wl 840 drivers/net/wireless/broadcom/b43/xmit.c dev->wl->ieee_stats.dot11ACKFailureCount++; wl 843 drivers/net/wireless/broadcom/b43/xmit.c dev->wl->ieee_stats.dot11RTSFailureCount++; wl 845 drivers/net/wireless/broadcom/b43/xmit.c dev->wl->ieee_stats.dot11RTSSuccessCount++; wl 885 drivers/net/wireless/broadcom/b43/xmit.c } else if (status->rts_count > dev->wl->hw->conf.short_frame_max_tx_count) { wl 680 drivers/net/wireless/broadcom/b43legacy/b43legacy.h struct b43legacy_wl *wl; wl 794 drivers/net/wireless/broadcom/b43legacy/b43legacy.h int b43legacy_is_mode(struct b43legacy_wl *wl, int type) wl 796 drivers/net/wireless/broadcom/b43legacy/b43legacy.h return (wl->operating && wl 797 drivers/net/wireless/broadcom/b43legacy/b43legacy.h wl->if_type == type); wl 843 drivers/net/wireless/broadcom/b43legacy/b43legacy.h void b43legacyinfo(struct b43legacy_wl *wl, const char *fmt, ...); wl 845 drivers/net/wireless/broadcom/b43legacy/b43legacy.h void b43legacyerr(struct b43legacy_wl *wl, const char *fmt, ...); wl 847 drivers/net/wireless/broadcom/b43legacy/b43legacy.h void b43legacywarn(struct b43legacy_wl *wl, const char *fmt, ...); wl 850 drivers/net/wireless/broadcom/b43legacy/b43legacy.h void b43legacydbg(struct b43legacy_wl *wl, const char *fmt, ...); wl 852 drivers/net/wireless/broadcom/b43legacy/b43legacy.h # define b43legacydbg(wl, fmt...) do { /* nothing */ } while (0) wl 205 drivers/net/wireless/broadcom/b43legacy/debugfs.c mutex_lock(&dev->wl->mutex); wl 227 drivers/net/wireless/broadcom/b43legacy/debugfs.c spin_lock_irq(&dev->wl->irq_lock); wl 229 drivers/net/wireless/broadcom/b43legacy/debugfs.c spin_unlock_irq(&dev->wl->irq_lock); wl 250 drivers/net/wireless/broadcom/b43legacy/debugfs.c mutex_unlock(&dev->wl->mutex); wl 272 drivers/net/wireless/broadcom/b43legacy/debugfs.c mutex_lock(&dev->wl->mutex); wl 295 drivers/net/wireless/broadcom/b43legacy/debugfs.c spin_lock_irq(&dev->wl->irq_lock); wl 297 drivers/net/wireless/broadcom/b43legacy/debugfs.c spin_unlock_irq(&dev->wl->irq_lock); wl 306 drivers/net/wireless/broadcom/b43legacy/debugfs.c mutex_unlock(&dev->wl->mutex); wl 377 drivers/net/wireless/broadcom/b43legacy/debugfs.c b43legacyerr(dev->wl, "debugfs: add device OOM\n"); wl 385 drivers/net/wireless/broadcom/b43legacy/debugfs.c b43legacyerr(dev->wl, "debugfs: add device txstatus OOM\n"); wl 394 drivers/net/wireless/broadcom/b43legacy/debugfs.c snprintf(devdir, sizeof(devdir), "%s", wiphy_name(dev->wl->hw->wiphy)); wl 146 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacydbg(ring->dev->wl, wl 360 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacyerr(dev->wl, "DMA RX reset timed out\n"); wl 401 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacyerr(dev->wl, "DMA TX reset timed out\n"); wl 502 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacyerr(ring->dev->wl, wl 733 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacydbg(ring->dev->wl, "DMA-%u 0x%04X (%s) max used slots:" wl 786 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacywarn(dev->wl, "DMA for this device not supported. " wl 791 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacyerr(dev->wl, "DMA for this device not supported and " wl 843 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacydbg(dev->wl, "%u-bit DMA initialized\n", (unsigned int)type); wl 1059 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacydbg(ring->dev->wl, wl 1084 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacyerr(dev->wl, "Packet after queue stopped\n"); wl 1091 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacyerr(dev->wl, "DMA queue overflow\n"); wl 1105 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacyerr(dev->wl, "DMA tx mapping failure\n"); wl 1112 drivers/net/wireless/broadcom/b43legacy/dma.c ieee80211_stop_queue(dev->wl->hw, skb_mapping); wl 1113 drivers/net/wireless/broadcom/b43legacy/dma.c dev->wl->tx_queue_stopped[skb_mapping] = 1; wl 1116 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacydbg(dev->wl, "Stopped TX ring %d\n", wl 1146 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacydbg(dev->wl, "Out of order TX status report on DMA " wl 1178 drivers/net/wireless/broadcom/b43legacy/dma.c if (status->rts_count > dev->wl->hw->conf.short_frame_max_tx_count) { wl 1204 drivers/net/wireless/broadcom/b43legacy/dma.c ieee80211_tx_status_irqsafe(dev->wl->hw, meta->skb); wl 1227 drivers/net/wireless/broadcom/b43legacy/dma.c if (dev->wl->tx_queue_stopped[ring->queue_prio]) { wl 1228 drivers/net/wireless/broadcom/b43legacy/dma.c dev->wl->tx_queue_stopped[ring->queue_prio] = 0; wl 1232 drivers/net/wireless/broadcom/b43legacy/dma.c ieee80211_wake_queue(dev->wl->hw, ring->queue_prio); wl 1234 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacydbg(dev->wl, "Woke up TX ring %d\n", wl 1238 drivers/net/wireless/broadcom/b43legacy/dma.c ieee80211_queue_work(dev->wl->hw, &dev->wl->tx_work); wl 1314 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacyerr(ring->dev->wl, "DMA RX buffer too small " wl 1323 drivers/net/wireless/broadcom/b43legacy/dma.c b43legacydbg(ring->dev->wl, "DMA RX: setup_rx_descbuffer()" wl 24 drivers/net/wireless/broadcom/b43legacy/leds.c struct b43legacy_wl *wl = dev->wl; wl 28 drivers/net/wireless/broadcom/b43legacy/leds.c spin_lock_irqsave(&wl->leds_lock, flags); wl 35 drivers/net/wireless/broadcom/b43legacy/leds.c spin_unlock_irqrestore(&wl->leds_lock, flags); wl 41 drivers/net/wireless/broadcom/b43legacy/leds.c struct b43legacy_wl *wl = dev->wl; wl 45 drivers/net/wireless/broadcom/b43legacy/leds.c spin_lock_irqsave(&wl->leds_lock, flags); wl 52 drivers/net/wireless/broadcom/b43legacy/leds.c spin_unlock_irqrestore(&wl->leds_lock, flags); wl 99 drivers/net/wireless/broadcom/b43legacy/leds.c b43legacywarn(dev->wl, "LEDs: Failed to register %s\n", name); wl 120 drivers/net/wireless/broadcom/b43legacy/leds.c struct ieee80211_hw *hw = dev->wl->hw; wl 170 drivers/net/wireless/broadcom/b43legacy/leds.c b43legacywarn(dev->wl, "LEDs: Unknown behaviour 0x%02X\n", wl 155 drivers/net/wireless/broadcom/b43legacy/main.c static int b43legacy_ratelimit(struct b43legacy_wl *wl) wl 157 drivers/net/wireless/broadcom/b43legacy/main.c if (!wl || !wl->current_dev) wl 159 drivers/net/wireless/broadcom/b43legacy/main.c if (b43legacy_status(wl->current_dev) < B43legacy_STAT_STARTED) wl 166 drivers/net/wireless/broadcom/b43legacy/main.c void b43legacyinfo(struct b43legacy_wl *wl, const char *fmt, ...) wl 171 drivers/net/wireless/broadcom/b43legacy/main.c if (!b43legacy_ratelimit(wl)) wl 180 drivers/net/wireless/broadcom/b43legacy/main.c (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); wl 185 drivers/net/wireless/broadcom/b43legacy/main.c void b43legacyerr(struct b43legacy_wl *wl, const char *fmt, ...) wl 190 drivers/net/wireless/broadcom/b43legacy/main.c if (!b43legacy_ratelimit(wl)) wl 199 drivers/net/wireless/broadcom/b43legacy/main.c (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); wl 204 drivers/net/wireless/broadcom/b43legacy/main.c void b43legacywarn(struct b43legacy_wl *wl, const char *fmt, ...) wl 209 drivers/net/wireless/broadcom/b43legacy/main.c if (!b43legacy_ratelimit(wl)) wl 218 drivers/net/wireless/broadcom/b43legacy/main.c (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); wl 224 drivers/net/wireless/broadcom/b43legacy/main.c void b43legacydbg(struct b43legacy_wl *wl, const char *fmt, ...) wl 235 drivers/net/wireless/broadcom/b43legacy/main.c (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); wl 527 drivers/net/wireless/broadcom/b43legacy/main.c const u8 *mac = dev->wl->mac_addr; wl 528 drivers/net/wireless/broadcom/b43legacy/main.c const u8 *bssid = dev->wl->bssid; wl 559 drivers/net/wireless/broadcom/b43legacy/main.c dev->wl->mac_addr); wl 857 drivers/net/wireless/broadcom/b43legacy/main.c if (b43legacy_is_mode(dev->wl, NL80211_IFTYPE_AP)) { wl 863 drivers/net/wireless/broadcom/b43legacy/main.c if (b43legacy_is_mode(dev->wl, NL80211_IFTYPE_ADHOC)) wl 950 drivers/net/wireless/broadcom/b43legacy/main.c struct ieee80211_tx_info *info = IEEE80211_SKB_CB(dev->wl->current_beacon); wl 952 drivers/net/wireless/broadcom/b43legacy/main.c bcn = (const struct ieee80211_mgmt *)(dev->wl->current_beacon->data); wl 953 drivers/net/wireless/broadcom/b43legacy/main.c len = min_t(size_t, dev->wl->current_beacon->len, wl 955 drivers/net/wireless/broadcom/b43legacy/main.c rate = ieee80211_get_tx_rate(dev->wl->hw, info)->hw_value; wl 1012 drivers/net/wireless/broadcom/b43legacy/main.c b43legacywarn(dev->wl, "Did not find a valid TIM IE in the " wl 1016 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(dev->wl, "Updated beacon template\n"); wl 1029 drivers/net/wireless/broadcom/b43legacy/main.c dur = ieee80211_generic_frame_duration(dev->wl->hw, wl 1030 drivers/net/wireless/broadcom/b43legacy/main.c dev->wl->vif, wl 1061 drivers/net/wireless/broadcom/b43legacy/main.c src_size = dev->wl->current_beacon->len; wl 1062 drivers/net/wireless/broadcom/b43legacy/main.c src_data = (const u8 *)dev->wl->current_beacon->data; wl 1095 drivers/net/wireless/broadcom/b43legacy/main.c dur = ieee80211_generic_frame_duration(dev->wl->hw, wl 1096 drivers/net/wireless/broadcom/b43legacy/main.c dev->wl->vif, wl 1113 drivers/net/wireless/broadcom/b43legacy/main.c size = dev->wl->current_beacon->len; wl 1140 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 1142 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->beacon0_uploaded) wl 1149 drivers/net/wireless/broadcom/b43legacy/main.c wl->beacon0_uploaded = true; wl 1154 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 1156 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->beacon1_uploaded) wl 1159 drivers/net/wireless/broadcom/b43legacy/main.c wl->beacon1_uploaded = true; wl 1164 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 1167 drivers/net/wireless/broadcom/b43legacy/main.c if (!b43legacy_is_mode(wl, NL80211_IFTYPE_AP)) wl 1186 drivers/net/wireless/broadcom/b43legacy/main.c if (unlikely(wl->beacon_templates_virgin)) { wl 1189 drivers/net/wireless/broadcom/b43legacy/main.c wl->beacon_templates_virgin = false; wl 1212 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = container_of(work, struct b43legacy_wl, wl 1216 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 1217 drivers/net/wireless/broadcom/b43legacy/main.c dev = wl->current_dev; wl 1219 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irq(&wl->irq_lock); wl 1225 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irq(&wl->irq_lock); wl 1227 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 1232 drivers/net/wireless/broadcom/b43legacy/main.c static void b43legacy_update_templates(struct b43legacy_wl *wl) wl 1244 drivers/net/wireless/broadcom/b43legacy/main.c beacon = ieee80211_beacon_get(wl->hw, wl->vif); wl 1248 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->current_beacon) wl 1249 drivers/net/wireless/broadcom/b43legacy/main.c dev_kfree_skb_any(wl->current_beacon); wl 1250 drivers/net/wireless/broadcom/b43legacy/main.c wl->current_beacon = beacon; wl 1251 drivers/net/wireless/broadcom/b43legacy/main.c wl->beacon0_uploaded = false; wl 1252 drivers/net/wireless/broadcom/b43legacy/main.c wl->beacon1_uploaded = false; wl 1253 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_queue_work(wl->hw, &wl->beacon_update_trigger); wl 1270 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(dev->wl, "Set beacon interval to %u\n", beacon_int); wl 1287 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&dev->wl->irq_lock, flags); wl 1299 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "MAC transmission error\n"); wl 1302 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "PHY transmission error\n"); wl 1305 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Too many PHY TX errors, " wl 1314 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Fatal DMA error: " wl 1321 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&dev->wl->irq_lock, flags); wl 1325 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "DMA error: " wl 1370 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&dev->wl->irq_lock, flags); wl 1422 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock(&dev->wl->irq_lock); wl 1461 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock(&dev->wl->irq_lock); wl 1478 drivers/net/wireless/broadcom/b43legacy/main.c static void b43legacy_print_fw_helptext(struct b43legacy_wl *wl) wl 1480 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "You must go to http://wireless.kernel.org/en/users/" wl 1508 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyinfo(dev->wl, "Loading firmware %s\n", path); wl 1515 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Unable to load firmware\n"); wl 1527 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Firmware file \"%s\" not found " wl 1552 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Firmware file \"%s\" format error.\n", path); wl 1557 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl); wl 1562 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = container_of(work, wl 1564 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wldev *dev = wl->current_dev; wl 1628 drivers/net/wireless/broadcom/b43legacy/main.c err = ieee80211_register_hw(wl->hw); wl 1638 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_print_fw_helptext(dev->wl); wl 1643 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "No Initial Values firmware file for PHY %u, " wl 1654 drivers/net/wireless/broadcom/b43legacy/main.c struct wiphy *wiphy = dev->wl->hw->wiphy; wl 1722 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Microcode not responding\n"); wl 1723 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_print_fw_helptext(dev->wl); wl 1747 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "YOU ARE TRYING TO LOAD V4 FIRMWARE." wl 1751 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_print_fw_helptext(dev->wl); wl 1755 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyinfo(dev->wl, "Loading firmware version 0x%X, patch level %u " wl 1834 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Initial Values Firmware file-format error.\n"); wl 1835 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_print_fw_helptext(dev->wl); wl 1956 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irq(&dev->wl->irq_lock); wl 1959 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irq(&dev->wl->irq_lock); wl 1976 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irq(&dev->wl->irq_lock); wl 1978 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irq(&dev->wl->irq_lock); wl 1994 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "MAC suspend failed\n"); wl 2002 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 2016 drivers/net/wireless/broadcom/b43legacy/main.c if (b43legacy_is_mode(wl, NL80211_IFTYPE_AP)) wl 2018 drivers/net/wireless/broadcom/b43legacy/main.c else if (b43legacy_is_mode(wl, NL80211_IFTYPE_ADHOC)) wl 2021 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->filter_flags & FIF_CONTROL) wl 2023 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->filter_flags & FIF_FCSFAIL) wl 2025 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->filter_flags & FIF_PLCPFAIL) wl 2027 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->filter_flags & FIF_BCN_PRBRESP_PROMISC) wl 2247 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(dev->wl, "Chip initialized\n"); wl 2317 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 2320 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 2335 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_queue_delayed_work(wl->hw, &dev->periodic_work, delay); wl 2337 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 2346 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_queue_delayed_work(dev->wl->hw, work, 0); wl 2377 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Failed to validate the chipaccess\n"); wl 2400 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = (struct b43legacy_wl *)rng->priv; wl 2407 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 2408 drivers/net/wireless/broadcom/b43legacy/main.c *data = b43legacy_read16(wl->current_dev, B43legacy_MMIO_RNG); wl 2409 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2415 drivers/net/wireless/broadcom/b43legacy/main.c static void b43legacy_rng_exit(struct b43legacy_wl *wl) wl 2418 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->rng_initialized) wl 2419 drivers/net/wireless/broadcom/b43legacy/main.c hwrng_unregister(&wl->rng); wl 2423 drivers/net/wireless/broadcom/b43legacy/main.c static int b43legacy_rng_init(struct b43legacy_wl *wl) wl 2428 drivers/net/wireless/broadcom/b43legacy/main.c snprintf(wl->rng_name, ARRAY_SIZE(wl->rng_name), wl 2429 drivers/net/wireless/broadcom/b43legacy/main.c "%s_%s", KBUILD_MODNAME, wiphy_name(wl->hw->wiphy)); wl 2430 drivers/net/wireless/broadcom/b43legacy/main.c wl->rng.name = wl->rng_name; wl 2431 drivers/net/wireless/broadcom/b43legacy/main.c wl->rng.data_read = b43legacy_rng_read; wl 2432 drivers/net/wireless/broadcom/b43legacy/main.c wl->rng.priv = (unsigned long)wl; wl 2433 drivers/net/wireless/broadcom/b43legacy/main.c wl->rng_initialized = 1; wl 2434 drivers/net/wireless/broadcom/b43legacy/main.c err = hwrng_register(&wl->rng); wl 2436 drivers/net/wireless/broadcom/b43legacy/main.c wl->rng_initialized = 0; wl 2437 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "Failed to register the random " wl 2447 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = container_of(work, struct b43legacy_wl, wl 2454 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 2455 drivers/net/wireless/broadcom/b43legacy/main.c dev = wl->current_dev; wl 2457 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 2462 drivers/net/wireless/broadcom/b43legacy/main.c while (skb_queue_len(&wl->tx_queue[queue_num])) { wl 2463 drivers/net/wireless/broadcom/b43legacy/main.c skb = skb_dequeue(&wl->tx_queue[queue_num]); wl 2469 drivers/net/wireless/broadcom/b43legacy/main.c wl->tx_queue_stopped[queue_num] = 1; wl 2470 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_stop_queue(wl->hw, queue_num); wl 2471 drivers/net/wireless/broadcom/b43legacy/main.c skb_queue_head(&wl->tx_queue[queue_num], skb); wl 2480 drivers/net/wireless/broadcom/b43legacy/main.c wl->tx_queue_stopped[queue_num] = 0; wl 2483 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 2490 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 2499 drivers/net/wireless/broadcom/b43legacy/main.c skb_queue_tail(&wl->tx_queue[skb->queue_mapping], skb); wl 2500 drivers/net/wireless/broadcom/b43legacy/main.c if (!wl->tx_queue_stopped[skb->queue_mapping]) wl 2501 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_queue_work(wl->hw, &wl->tx_work); wl 2503 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_stop_queue(wl->hw, skb->queue_mapping); wl 2516 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 2519 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 2520 drivers/net/wireless/broadcom/b43legacy/main.c memcpy(stats, &wl->ieee_stats, sizeof(*stats)); wl 2521 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2539 drivers/net/wireless/broadcom/b43legacy/main.c static int find_wldev_for_phymode(struct b43legacy_wl *wl, wl 2546 drivers/net/wireless/broadcom/b43legacy/main.c list_for_each_entry(d, &wl->devlist, list) { wl 2580 drivers/net/wireless/broadcom/b43legacy/main.c static int b43legacy_switch_phymode(struct b43legacy_wl *wl, wl 2589 drivers/net/wireless/broadcom/b43legacy/main.c err = find_wldev_for_phymode(wl, new_mode, &up_dev, &gmode); wl 2591 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "Could not find a device for %s-PHY mode\n", wl 2595 drivers/net/wireless/broadcom/b43legacy/main.c if ((up_dev == wl->current_dev) && wl 2596 drivers/net/wireless/broadcom/b43legacy/main.c (!!wl->current_dev->phy.gmode == !!gmode)) wl 2599 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(wl, "Reconfiguring PHYmode to %s-PHY\n", wl 2601 drivers/net/wireless/broadcom/b43legacy/main.c down_dev = wl->current_dev; wl 2620 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "Fatal: Could not initialize device" wl 2629 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "Fatal: Could not start device for " wl 2640 drivers/net/wireless/broadcom/b43legacy/main.c wl->current_dev = up_dev; wl 2645 drivers/net/wireless/broadcom/b43legacy/main.c wl->current_dev = NULL; wl 2666 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 2677 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 2678 drivers/net/wireless/broadcom/b43legacy/main.c dev = wl->current_dev; wl 2700 drivers/net/wireless/broadcom/b43legacy/main.c err = b43legacy_switch_phymode(wl, new_phymode); wl 2707 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 2709 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2713 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2722 drivers/net/wireless/broadcom/b43legacy/main.c dev->wl->radiotap_enabled = !!(conf->flags & IEEE80211_CONF_MONITOR); wl 2735 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->radio_enabled != phy->radio_on) { wl 2736 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->radio_enabled) { wl 2738 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyinfo(dev->wl, "Radio turned on by software\n"); wl 2740 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyinfo(dev->wl, "The hardware RF-kill" wl 2746 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyinfo(dev->wl, "Radio turned off by" wl 2751 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 2753 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2755 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 2763 drivers/net/wireless/broadcom/b43legacy/main.c dev->wl->hw->wiphy->bands[NL80211_BAND_2GHZ]; wl 2810 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 2814 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 2815 drivers/net/wireless/broadcom/b43legacy/main.c B43legacy_WARN_ON(wl->vif != vif); wl 2817 drivers/net/wireless/broadcom/b43legacy/main.c dev = wl->current_dev; wl 2822 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 2824 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2833 drivers/net/wireless/broadcom/b43legacy/main.c memcpy(wl->bssid, conf->bssid, ETH_ALEN); wl 2835 drivers/net/wireless/broadcom/b43legacy/main.c eth_zero_addr(wl->bssid); wl 2840 drivers/net/wireless/broadcom/b43legacy/main.c (b43legacy_is_mode(wl, NL80211_IFTYPE_AP) || wl 2841 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_is_mode(wl, NL80211_IFTYPE_ADHOC))) wl 2842 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_update_templates(wl); wl 2847 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2852 drivers/net/wireless/broadcom/b43legacy/main.c (b43legacy_is_mode(wl, NL80211_IFTYPE_AP) || wl 2853 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_is_mode(wl, NL80211_IFTYPE_ADHOC))) wl 2868 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 2871 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2873 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 2880 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 2881 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wldev *dev = wl->current_dev; wl 2889 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 2904 drivers/net/wireless/broadcom/b43legacy/main.c wl->filter_flags = *fflags; wl 2908 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2914 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 2924 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 2927 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 2932 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 2936 drivers/net/wireless/broadcom/b43legacy/main.c cancel_work_sync(&wl->tx_work); wl 2937 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 2941 drivers/net/wireless/broadcom/b43legacy/main.c while (skb_queue_len(&wl->tx_queue[queue_num])) wl 2942 drivers/net/wireless/broadcom/b43legacy/main.c dev_kfree_skb(skb_dequeue(&wl->tx_queue[queue_num])); wl 2947 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(wl, "Wireless interface stopped\n"); wl 2961 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "Cannot request IRQ-%d\n", wl 2966 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_wake_queues(dev->wl->hw); wl 2976 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(dev->wl, "Wireless interface started\n"); wl 3014 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "FOUND UNSUPPORTED PHY " wl 3019 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(dev->wl, "Found PHY: Analog %u, Type %u, Revision %u\n", wl 3056 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(dev->wl, "FOUND UNSUPPORTED RADIO " wl 3061 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(dev->wl, "Found Radio: Manuf 0x%X, Version 0x%X," wl 3146 drivers/net/wireless/broadcom/b43legacy/main.c if (b43legacy_is_mode(dev->wl, NL80211_IFTYPE_ADHOC) || idle) wl 3161 drivers/net/wireless/broadcom/b43legacy/main.c if (b43legacy_is_mode(dev->wl, NL80211_IFTYPE_ADHOC)) wl 3189 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_rng_exit(dev->wl); wl 3199 drivers/net/wireless/broadcom/b43legacy/main.c if (dev->wl->current_beacon) { wl 3200 drivers/net/wireless/broadcom/b43legacy/main.c dev_kfree_skb_any(dev->wl->current_beacon); wl 3201 drivers/net/wireless/broadcom/b43legacy/main.c dev->wl->current_beacon = NULL; wl 3250 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 3353 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_rng_init(wl); wl 3355 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_wake_queues(dev->wl->hw); wl 3378 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 3391 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 3392 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->operating) wl 3395 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(wl, "Adding Interface type %d\n", vif->type); wl 3397 drivers/net/wireless/broadcom/b43legacy/main.c dev = wl->current_dev; wl 3398 drivers/net/wireless/broadcom/b43legacy/main.c wl->operating = true; wl 3399 drivers/net/wireless/broadcom/b43legacy/main.c wl->vif = vif; wl 3400 drivers/net/wireless/broadcom/b43legacy/main.c wl->if_type = vif->type; wl 3401 drivers/net/wireless/broadcom/b43legacy/main.c memcpy(wl->mac_addr, vif->addr, ETH_ALEN); wl 3403 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 3408 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 3412 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 3420 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 3421 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wldev *dev = wl->current_dev; wl 3424 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(wl, "Removing Interface type %d\n", vif->type); wl 3426 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 3428 drivers/net/wireless/broadcom/b43legacy/main.c B43legacy_WARN_ON(!wl->operating); wl 3429 drivers/net/wireless/broadcom/b43legacy/main.c B43legacy_WARN_ON(wl->vif != vif); wl 3430 drivers/net/wireless/broadcom/b43legacy/main.c wl->vif = NULL; wl 3432 drivers/net/wireless/broadcom/b43legacy/main.c wl->operating = false; wl 3434 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 3436 drivers/net/wireless/broadcom/b43legacy/main.c eth_zero_addr(wl->mac_addr); wl 3438 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 3440 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 3445 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 3446 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wldev *dev = wl->current_dev; wl 3453 drivers/net/wireless/broadcom/b43legacy/main.c eth_zero_addr(wl->bssid); wl 3454 drivers/net/wireless/broadcom/b43legacy/main.c eth_zero_addr(wl->mac_addr); wl 3455 drivers/net/wireless/broadcom/b43legacy/main.c wl->filter_flags = 0; wl 3456 drivers/net/wireless/broadcom/b43legacy/main.c wl->beacon0_uploaded = false; wl 3457 drivers/net/wireless/broadcom/b43legacy/main.c wl->beacon1_uploaded = false; wl 3458 drivers/net/wireless/broadcom/b43legacy/main.c wl->beacon_templates_virgin = true; wl 3459 drivers/net/wireless/broadcom/b43legacy/main.c wl->radio_enabled = true; wl 3461 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 3482 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 3489 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 3490 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wldev *dev = wl->current_dev; wl 3492 drivers/net/wireless/broadcom/b43legacy/main.c cancel_work_sync(&(wl->beacon_update_trigger)); wl 3494 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 3498 drivers/net/wireless/broadcom/b43legacy/main.c wl->radio_enabled = false; wl 3499 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 3505 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 3508 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_irqsave(&wl->irq_lock, flags); wl 3509 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_update_templates(wl); wl 3510 drivers/net/wireless/broadcom/b43legacy/main.c spin_unlock_irqrestore(&wl->irq_lock, flags); wl 3518 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 3519 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wldev *dev = wl->current_dev; wl 3555 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 3559 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 3583 drivers/net/wireless/broadcom/b43legacy/main.c wl->current_dev = NULL; /* Failed to init the dev. */ wl 3584 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 3586 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "Controller restart FAILED\n"); wl 3588 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyinfo(wl, "Controller restarted\n"); wl 3595 drivers/net/wireless/broadcom/b43legacy/main.c struct ieee80211_hw *hw = dev->wl->hw; wl 3623 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = dev->wl; wl 3640 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "Bus powerup failed\n"); wl 3695 drivers/net/wireless/broadcom/b43legacy/main.c if (!wl->current_dev) wl 3696 drivers/net/wireless/broadcom/b43legacy/main.c wl->current_dev = dev; wl 3715 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl; wl 3721 drivers/net/wireless/broadcom/b43legacy/main.c wl = wldev->wl; wl 3725 drivers/net/wireless/broadcom/b43legacy/main.c wl->nr_devs--; wl 3731 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl) wl 3741 drivers/net/wireless/broadcom/b43legacy/main.c wldev->wl = wl; wl 3755 drivers/net/wireless/broadcom/b43legacy/main.c list_add(&wldev->list, &wl->devlist); wl 3756 drivers/net/wireless/broadcom/b43legacy/main.c wl->nr_devs++; wl 3777 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl) wl 3779 drivers/net/wireless/broadcom/b43legacy/main.c struct ieee80211_hw *hw = wl->hw; wl 3789 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl; wl 3795 drivers/net/wireless/broadcom/b43legacy/main.c hw = ieee80211_alloc_hw(sizeof(*wl), &b43legacy_hw_ops); wl 3823 drivers/net/wireless/broadcom/b43legacy/main.c wl = hw_to_b43legacy_wl(hw); wl 3824 drivers/net/wireless/broadcom/b43legacy/main.c memset(wl, 0, sizeof(*wl)); wl 3825 drivers/net/wireless/broadcom/b43legacy/main.c wl->hw = hw; wl 3826 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_init(&wl->irq_lock); wl 3827 drivers/net/wireless/broadcom/b43legacy/main.c spin_lock_init(&wl->leds_lock); wl 3828 drivers/net/wireless/broadcom/b43legacy/main.c mutex_init(&wl->mutex); wl 3829 drivers/net/wireless/broadcom/b43legacy/main.c INIT_LIST_HEAD(&wl->devlist); wl 3830 drivers/net/wireless/broadcom/b43legacy/main.c INIT_WORK(&wl->beacon_update_trigger, b43legacy_beacon_update_trigger_work); wl 3831 drivers/net/wireless/broadcom/b43legacy/main.c INIT_WORK(&wl->tx_work, b43legacy_tx_work); wl 3835 drivers/net/wireless/broadcom/b43legacy/main.c skb_queue_head_init(&wl->tx_queue[queue_num]); wl 3836 drivers/net/wireless/broadcom/b43legacy/main.c wl->tx_queue_stopped[queue_num] = 0; wl 3839 drivers/net/wireless/broadcom/b43legacy/main.c ssb_set_devtypedata(dev, wl); wl 3840 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyinfo(wl, "Broadcom %04X WLAN found (core revision %u)\n", wl 3850 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl; wl 3854 drivers/net/wireless/broadcom/b43legacy/main.c wl = ssb_get_devtypedata(dev); wl 3855 drivers/net/wireless/broadcom/b43legacy/main.c if (!wl) { wl 3861 drivers/net/wireless/broadcom/b43legacy/main.c wl = ssb_get_devtypedata(dev); wl 3862 drivers/net/wireless/broadcom/b43legacy/main.c B43legacy_WARN_ON(!wl); wl 3864 drivers/net/wireless/broadcom/b43legacy/main.c err = b43legacy_one_core_attach(dev, wl); wl 3869 drivers/net/wireless/broadcom/b43legacy/main.c INIT_WORK(&wl->firmware_load, b43legacy_request_firmware); wl 3870 drivers/net/wireless/broadcom/b43legacy/main.c schedule_work(&wl->firmware_load); wl 3877 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_wireless_exit(dev, wl); wl 3883 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = ssb_get_devtypedata(dev); wl 3889 drivers/net/wireless/broadcom/b43legacy/main.c cancel_work_sync(&wl->firmware_load); wl 3892 drivers/net/wireless/broadcom/b43legacy/main.c B43legacy_WARN_ON(!wl); wl 3895 drivers/net/wireless/broadcom/b43legacy/main.c if (wl->current_dev == wldev) wl 3896 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_unregister_hw(wl->hw); wl 3900 drivers/net/wireless/broadcom/b43legacy/main.c if (list_empty(&wl->devlist)) wl 3904 drivers/net/wireless/broadcom/b43legacy/main.c b43legacy_wireless_exit(dev, wl); wl 3914 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyinfo(dev->wl, "Controller RESET (%s) ...\n", reason); wl 3915 drivers/net/wireless/broadcom/b43legacy/main.c ieee80211_queue_work(dev->wl->hw, &dev->restart_work); wl 3923 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = wldev->wl; wl 3925 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(wl, "Suspending...\n"); wl 3927 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 3933 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 3935 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(wl, "Device suspended.\n"); wl 3943 drivers/net/wireless/broadcom/b43legacy/main.c struct b43legacy_wl *wl = wldev->wl; wl 3946 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(wl, "Resuming...\n"); wl 3948 drivers/net/wireless/broadcom/b43legacy/main.c mutex_lock(&wl->mutex); wl 3952 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "Resume failed at core init\n"); wl 3960 drivers/net/wireless/broadcom/b43legacy/main.c b43legacyerr(wl, "Resume failed at core start\n"); wl 3965 drivers/net/wireless/broadcom/b43legacy/main.c b43legacydbg(wl, "Device resumed.\n"); wl 3967 drivers/net/wireless/broadcom/b43legacy/main.c mutex_unlock(&wl->mutex); wl 84 drivers/net/wireless/broadcom/b43legacy/phy.c if (!b43legacy_is_mode(dev->wl, NL80211_IFTYPE_AP)) wl 99 drivers/net/wireless/broadcom/b43legacy/phy.c if (!b43legacy_is_mode(dev->wl, NL80211_IFTYPE_AP)) wl 1276 drivers/net/wireless/broadcom/b43legacy/phy.c b43legacydbg(dev->wl, wl 1694 drivers/net/wireless/broadcom/b43legacy/phy.c b43legacywarn(dev->wl, wl 1824 drivers/net/wireless/broadcom/b43legacy/phy.c b43legacywarn(dev->wl, "Invalid max-TX-power value in SPROM." wl 1845 drivers/net/wireless/broadcom/b43legacy/phy.c b43legacydbg(dev->wl, "Current TX power output: " Q52_FMT wl 2001 drivers/net/wireless/broadcom/b43legacy/phy.c b43legacyerr(dev->wl, "Could not allocate memory " wl 2009 drivers/net/wireless/broadcom/b43legacy/phy.c b43legacyerr(dev->wl, "Could not generate " wl 2065 drivers/net/wireless/broadcom/b43legacy/phy.c b43legacyerr(dev->wl, "Unknown PHYTYPE found\n"); wl 226 drivers/net/wireless/broadcom/b43legacy/pio.c b43legacywarn(queue->dev->wl, "PIO queue too small. " wl 276 drivers/net/wireless/broadcom/b43legacy/pio.c spin_lock_irqsave(&dev->wl->irq_lock, flags); wl 296 drivers/net/wireless/broadcom/b43legacy/pio.c spin_unlock_irqrestore(&dev->wl->irq_lock, flags); wl 344 drivers/net/wireless/broadcom/b43legacy/pio.c b43legacyerr(dev->wl, "This card does not support PIO " wl 350 drivers/net/wireless/broadcom/b43legacy/pio.c b43legacyerr(dev->wl, "PIO tx device-queue too small (%u)\n", wl 436 drivers/net/wireless/broadcom/b43legacy/pio.c b43legacydbg(dev->wl, "PIO initialized\n"); wl 504 drivers/net/wireless/broadcom/b43legacy/pio.c if (status->rts_count > dev->wl->hw->conf.short_frame_max_tx_count) { wl 525 drivers/net/wireless/broadcom/b43legacy/pio.c ieee80211_tx_status_irqsafe(dev->wl->hw, packet->skb); wl 542 drivers/net/wireless/broadcom/b43legacy/pio.c b43legacyerr(queue->dev->wl, "PIO RX error: %s\n", error); wl 577 drivers/net/wireless/broadcom/b43legacy/pio.c b43legacydbg(queue->dev->wl, "PIO RX timed out\n"); wl 2106 drivers/net/wireless/broadcom/b43legacy/radio.c b43legacydbg(dev->wl, "Radio initialized\n"); wl 41 drivers/net/wireless/broadcom/b43legacy/rfkill.c struct b43legacy_wl *wl = hw_to_b43legacy_wl(hw); wl 42 drivers/net/wireless/broadcom/b43legacy/rfkill.c struct b43legacy_wldev *dev = wl->current_dev; wl 47 drivers/net/wireless/broadcom/b43legacy/rfkill.c mutex_lock(&wl->mutex); wl 50 drivers/net/wireless/broadcom/b43legacy/rfkill.c mutex_unlock(&wl->mutex); wl 61 drivers/net/wireless/broadcom/b43legacy/rfkill.c b43legacyinfo(wl, "Radio hardware status changed to %s\n", wl 77 drivers/net/wireless/broadcom/b43legacy/rfkill.c mutex_unlock(&wl->mutex); wl 72 drivers/net/wireless/broadcom/b43legacy/sysfs.c mutex_lock(&wldev->wl->mutex); wl 91 drivers/net/wireless/broadcom/b43legacy/sysfs.c mutex_unlock(&wldev->wl->mutex); wl 126 drivers/net/wireless/broadcom/b43legacy/sysfs.c mutex_lock(&wldev->wl->mutex); wl 127 drivers/net/wireless/broadcom/b43legacy/sysfs.c spin_lock_irqsave(&wldev->wl->irq_lock, flags); wl 131 drivers/net/wireless/broadcom/b43legacy/sysfs.c b43legacyerr(wldev->wl, "Interference Mitigation not " wl 133 drivers/net/wireless/broadcom/b43legacy/sysfs.c spin_unlock_irqrestore(&wldev->wl->irq_lock, flags); wl 134 drivers/net/wireless/broadcom/b43legacy/sysfs.c mutex_unlock(&wldev->wl->mutex); wl 153 drivers/net/wireless/broadcom/b43legacy/sysfs.c mutex_lock(&wldev->wl->mutex); wl 162 drivers/net/wireless/broadcom/b43legacy/sysfs.c mutex_unlock(&wldev->wl->mutex); wl 181 drivers/net/wireless/broadcom/b43legacy/sysfs.c mutex_lock(&wldev->wl->mutex); wl 182 drivers/net/wireless/broadcom/b43legacy/sysfs.c spin_lock_irqsave(&wldev->wl->irq_lock, flags); wl 186 drivers/net/wireless/broadcom/b43legacy/sysfs.c spin_unlock_irqrestore(&wldev->wl->irq_lock, flags); wl 187 drivers/net/wireless/broadcom/b43legacy/sysfs.c mutex_unlock(&wldev->wl->mutex); wl 197 drivers/net/wireless/broadcom/b43legacy/xmit.c tx_rate = ieee80211_get_tx_rate(dev->wl->hw, info); wl 201 drivers/net/wireless/broadcom/b43legacy/xmit.c rate_fb = ieee80211_get_alt_retry_rate(dev->wl->hw, info, 0) ? : tx_rate; wl 216 drivers/net/wireless/broadcom/b43legacy/xmit.c txhdr->dur_fb = ieee80211_generic_frame_duration(dev->wl->hw, wl 285 drivers/net/wireless/broadcom/b43legacy/xmit.c (rates[0].count <= dev->wl->hw->conf.long_frame_max_tx_count)) { wl 286 drivers/net/wireless/broadcom/b43legacy/xmit.c rates[0].count = dev->wl->hw->conf.long_frame_max_tx_count; wl 289 drivers/net/wireless/broadcom/b43legacy/xmit.c rates[0].count = dev->wl->hw->conf.short_frame_max_tx_count; wl 301 drivers/net/wireless/broadcom/b43legacy/xmit.c rts_rate = ieee80211_get_rts_cts_rate(dev->wl->hw, info)->hw_value; wl 308 drivers/net/wireless/broadcom/b43legacy/xmit.c ieee80211_ctstoself_get(dev->wl->hw, wl 317 drivers/net/wireless/broadcom/b43legacy/xmit.c ieee80211_rts_get(dev->wl->hw, wl 447 drivers/net/wireless/broadcom/b43legacy/xmit.c dev->wl->ieee_stats.dot11FCSErrorCount++; wl 453 drivers/net/wireless/broadcom/b43legacy/xmit.c b43legacydbg(dev->wl, "RX: Packet size underrun (1)\n"); wl 460 drivers/net/wireless/broadcom/b43legacy/xmit.c b43legacydbg(dev->wl, "RX: Packet size underrun (2)\n"); wl 489 drivers/net/wireless/broadcom/b43legacy/xmit.c b43legacydbg(dev->wl, "RX: Packet size" wl 505 drivers/net/wireless/broadcom/b43legacy/xmit.c b43legacydbg(dev->wl, "RX: Packet size" wl 538 drivers/net/wireless/broadcom/b43legacy/xmit.c if (ieee80211_is_beacon(fctl) || dev->wl->radiotap_enabled) { wl 559 drivers/net/wireless/broadcom/b43legacy/xmit.c b43legacywarn(dev->wl, "Unexpected value for chanstat (0x%X)\n", wl 564 drivers/net/wireless/broadcom/b43legacy/xmit.c ieee80211_rx_irqsafe(dev->wl->hw, skb); wl 568 drivers/net/wireless/broadcom/b43legacy/xmit.c b43legacydbg(dev->wl, "RX: Packet dropped\n"); wl 582 drivers/net/wireless/broadcom/b43legacy/xmit.c dev->wl->ieee_stats.dot11ACKFailureCount++; wl 585 drivers/net/wireless/broadcom/b43legacy/xmit.c dev->wl->ieee_stats.dot11RTSFailureCount++; wl 587 drivers/net/wireless/broadcom/b43legacy/xmit.c dev->wl->ieee_stats.dot11RTSSuccessCount++; wl 699 drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c struct brcms_info *wl = hw->priv; wl 700 drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c struct brcms_c_info *wlc = wl->wlc; wl 101 drivers/net/wireless/broadcom/brcm80211/brcmsmac/debug.c struct brcms_info *wl = drvr->ieee_hw->priv; wl 105 drivers/net/wireless/broadcom/brcm80211/brcmsmac/debug.c spin_lock_bh(&wl->lock); wl 107 drivers/net/wireless/broadcom/brcm80211/brcmsmac/debug.c spin_unlock_bh(&wl->lock); wl 20 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c static void brcms_radio_led_ctrl(struct brcms_info *wl, bool state) wl 22 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c if (wl->radio_led.gpio == -1) wl 25 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c if (wl->radio_led.active_low) wl 29 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c gpio_set_value(wl->radio_led.gpio, 1); wl 31 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c gpio_set_value(wl->radio_led.gpio, 0); wl 39 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c struct brcms_info *wl = container_of(led_dev, wl 41 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c brcms_radio_led_ctrl(wl, brightness); wl 44 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c void brcms_led_unregister(struct brcms_info *wl) wl 46 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c if (wl->led_dev.dev) wl 47 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c led_classdev_unregister(&wl->led_dev); wl 48 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c if (wl->radio_led.gpio != -1) wl 49 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c gpio_free(wl->radio_led.gpio); wl 52 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c int brcms_led_register(struct brcms_info *wl) wl 55 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c struct brcms_led *radio_led = &wl->radio_led; wl 57 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c struct bcma_drv_cc *cc_drv = &wl->wlc->hw->d11core->bus->drv_cc; wl 59 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c struct ssb_sprom *sprom = &wl->wlc->hw->d11core->bus->sprom; wl 94 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wiphy_err(wl->wiphy, "requesting led gpio %d failed (err: %d)\n", wl 100 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wiphy_err(wl->wiphy, "cannot set led gpio %d to output (err: %d)\n", wl 105 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c snprintf(wl->radio_led.name, sizeof(wl->radio_led.name), wl 106 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c "brcmsmac-%s:radio", wiphy_name(wl->wiphy)); wl 108 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wl->led_dev.name = wl->radio_led.name; wl 109 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wl->led_dev.default_trigger = wl 110 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c ieee80211_get_radio_led_name(wl->pub->ieee_hw); wl 111 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wl->led_dev.brightness_set = brcms_led_brightness_set; wl 112 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c err = led_classdev_register(wiphy_dev(wl->wiphy), &wl->led_dev); wl 115 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wiphy_err(wl->wiphy, "cannot register led device: %s (err: %d)\n", wl 116 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wl->radio_led.name, err); wl 120 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wiphy_info(wl->wiphy, "registered radio enabled led device: %s gpio: %d\n", wl 121 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.c wl->radio_led.name, wl 26 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h void brcms_led_unregister(struct brcms_info *wl); wl 27 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h int brcms_led_register(struct brcms_info *wl); wl 29 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h static inline void brcms_led_unregister(struct brcms_info *wl) {}; wl 30 drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.h static inline int brcms_led_register(struct brcms_info *wl) wl 287 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c static void brcms_free(struct brcms_info *wl) wl 292 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->fw.fw_cnt) wl 293 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_ucode_data_free(&wl->ucode); wl 294 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->irq) wl 295 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c free_irq(wl->irq, wl); wl 298 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c tasklet_kill(&wl->tasklet); wl 300 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->pub) { wl 301 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_debugfs_detach(wl->pub); wl 302 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_module_unregister(wl->pub, "linux", wl); wl 306 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->wlc) { wl 307 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_detach(wl->wlc); wl 308 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->wlc = NULL; wl 309 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub = NULL; wl 315 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c while (atomic_read(&wl->callbacks) > 0) wl 319 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c for (t = wl->timers; t; t = next) { wl 335 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 337 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->wlc) { wl 338 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_led_unregister(wl); wl 339 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_rfkill_set_hw_state(wl->pub->ieee_hw->wiphy, false); wl 340 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_rfkill_stop_polling(wl->pub->ieee_hw->wiphy); wl 344 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_free(wl); wl 354 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c static void brcms_release_fw(struct brcms_info *wl) wl 358 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c release_firmware(wl->fw.fw_bin[i]); wl 359 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c release_firmware(wl->fw.fw_hdr[i]); wl 367 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c static int brcms_request_fw(struct brcms_info *wl, struct bcma_device *pdev) wl 374 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c memset(&wl->fw, 0, sizeof(struct brcms_firmware)); wl 380 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c status = request_firmware(&wl->fw.fw_bin[i], fw_name, device); wl 382 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n", wl 388 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c status = request_firmware(&wl->fw.fw_hdr[i], fw_name, device); wl 390 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n", wl 394 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->fw.hdr_num_entries[i] = wl 395 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->fw.fw_hdr[i]->size / (sizeof(struct firmware_hdr)); wl 397 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->fw.fw_cnt = i; wl 398 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c status = brcms_ucode_data_init(wl, &wl->ucode); wl 399 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_release_fw(wl); wl 407 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 410 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 411 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (!wl->pub->up) { wl 412 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, "ops->tx called while down\n"); wl 416 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (brcms_c_sendpkt_mac80211(wl->wlc, skb, hw)) wl 419 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 424 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 428 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (!wl->ucode.bcm43xx_bomminor) { wl 429 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c err = brcms_request_fw(wl, wl->wlc->hw->d11core); wl 435 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 436 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c blocked = brcms_rfkill_set_hw_state(wl); wl 437 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 439 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_rfkill_stop_polling(wl->pub->ieee_hw->wiphy); wl 441 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 443 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->mute_tx = true; wl 445 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (!wl->pub->up) wl 447 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c err = brcms_up(wl); wl 452 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 455 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, "%s: brcms_up() returned %d\n", wl 458 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c bcma_core_pci_power_save(wl->wlc->hw->d11core->bus, true); wl 464 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 469 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->wlc == NULL) wl 472 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 473 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c status = brcms_c_chipmatch(wl->wlc->hw->d11core); wl 474 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 476 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, wl 481 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c bcma_core_pci_power_save(wl->wlc->hw->d11core->bus, false); wl 484 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 485 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_down(wl); wl 486 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 492 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 498 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, wl 504 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 505 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->wlc->vif = vif; wl 506 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->mute_tx = false; wl 507 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_mute(wl->wlc, false); wl 509 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_start_station(wl->wlc, vif->addr); wl 511 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_start_ap(wl->wlc, vif->addr, vif->bss_conf.bssid, wl 514 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_start_adhoc(wl->wlc, vif->addr); wl 515 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 523 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 525 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 526 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->wlc->vif = NULL; wl 527 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 533 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 534 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct bcma_device *core = wl->wlc->hw->d11core; wl 538 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 540 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_set_beacon_listen_interval(wl->wlc, wl 553 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c err = brcms_c_set_tx_power(wl->wlc, conf->power_level); wl 559 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c new_int = brcms_c_get_tx_power(wl->wlc); wl 569 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c err = brcms_c_set_channel(wl->wlc, wl 575 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c err = brcms_c_set_rate_limit(wl->wlc, wl 580 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 589 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 590 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct bcma_device *core = wl->wlc->hw->d11core; wl 598 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 599 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_associate_upd(wl->wlc, info->assoc); wl 600 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 610 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 611 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_set_shortslot_override(wl->wlc, val); wl 612 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 619 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 620 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_protection_upd(wl->wlc, BRCMS_PROT_N_CFG, wl 622 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_protection_upd(wl->wlc, BRCMS_PROT_N_NONGF, wl 624 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_protection_upd(wl->wlc, BRCMS_PROT_N_OBSS, wl 626 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 636 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 637 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_get_current_rateset(wl->wlc, &rs); wl 638 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 641 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c bi = hw->wiphy->bands[brcms_c_get_curband(wl->wlc)]; wl 652 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 653 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c error = brcms_c_set_rateset(wl->wlc, &rs); wl 654 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 661 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 662 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_set_beacon_period(wl->wlc, info->beacon_int); wl 663 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 667 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 668 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_set_addrmatch(wl->wlc, RCM_BSSID_OFFSET, info->bssid); wl 669 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 673 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 674 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_set_ssid(wl->wlc, info->ssid, info->ssid_len); wl 675 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 682 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 684 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_set_new_beacon(wl->wlc, beacon, tim_offset, wl 686 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 692 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 694 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_set_new_probe_resp(wl->wlc, probe_resp); wl 695 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 704 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_enable_probe_resp(wl->wlc, true); wl 706 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_enable_probe_resp(wl->wlc, false); wl 745 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 746 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct bcma_device *core = wl->wlc->hw->d11core; wl 764 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 765 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_mac_promisc(wl->wlc, *total_flags); wl 766 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 774 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 775 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 776 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_scan_start(wl->wlc); wl 777 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 784 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 785 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 786 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_scan_stop(wl->wlc); wl 787 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 795 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 797 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 798 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_wme_setparams(wl->wlc, queue, params, true); wl 799 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 808 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 809 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct scb *scb = &wl->wlc->pri_scb; wl 813 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub->global_ampdu = &(scb->scb_ampdu); wl 814 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub->global_ampdu->scb = scb; wl 815 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub->global_ampdu->max_pdu = 16; wl 829 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 830 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct scb *scb = &wl->wlc->pri_scb; wl 845 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 846 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c status = brcms_c_aggregatable(wl->wlc, tid); wl 847 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 849 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_dbg_ht(wl->wlc->hw->d11core, wl 859 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 860 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_ampdu_flush(wl->wlc, sta, tid); wl 861 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 871 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 872 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_ampdu_tx_operational(wl->wlc, tid, buf_size, wl 875 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 879 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, wl 888 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 891 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 892 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c blocked = brcms_c_check_radio_disabled(wl->wlc); wl 893 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 895 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_rfkill_set_hw_state(wl->pub->ieee_hw->wiphy, blocked); wl 898 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c static bool brcms_tx_flush_completed(struct brcms_info *wl) wl 902 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 903 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c result = brcms_c_tx_flush_completed(wl->wlc); wl 904 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 911 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 916 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c ret = wait_event_timeout(wl->tx_flush_wq, wl 917 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_tx_flush_completed(wl), wl 920 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_dbg_mac80211(wl->wlc->hw->d11core, wl 926 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 929 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 930 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c tsf = brcms_c_tsf_get(wl->wlc); wl 931 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 939 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 941 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 942 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_tsf_set(wl->wlc, tsf); wl 943 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 949 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 953 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 954 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->wlc->vif) wl 955 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c beacon = ieee80211_beacon_get_tim(hw, wl->wlc->vif, wl 958 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_set_new_beacon(wl->wlc, beacon, tim_offset, wl 959 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->wlc->vif->bss_conf.dtim_period); wl 960 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 988 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl; wl 990 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl = (struct brcms_info *) data; wl 992 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 995 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->pub->up) { wl 996 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->resched) { wl 999 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_irqsave(&wl->isr_lock, flags); wl 1000 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_intrsupd(wl->wlc); wl 1001 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_irqrestore(&wl->isr_lock, flags); wl 1004 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->resched = brcms_c_dpc(wl->wlc, true); wl 1008 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (!wl->pub->up) wl 1012 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->resched) wl 1013 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c tasklet_schedule(&wl->tasklet); wl 1016 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_intrson(wl); wl 1019 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 1020 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wake_up(&wl->tx_flush_wq); wl 1025 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl; wl 1028 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl = (struct brcms_info *) dev_id; wl 1030 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock(&wl->isr_lock); wl 1033 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (brcms_c_isr(wl->wlc)) { wl 1035 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c tasklet_schedule(&wl->tasklet); wl 1039 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock(&wl->isr_lock); wl 1049 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = hw->priv; wl 1050 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_c_info *wlc = wl->wlc; wl 1058 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c phy_type = brcms_c_get_phy_type(wl->wlc, 0); wl 1073 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->pub->_nbands > 1) { wl 1129 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = NULL; wl 1143 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl = hw->priv; wl 1144 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (WARN_ON(hw == NULL) || WARN_ON(wl == NULL)) wl 1146 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->wiphy = hw->wiphy; wl 1148 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c atomic_set(&wl->callbacks, 0); wl 1150 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c init_waitqueue_head(&wl->tx_flush_wq); wl 1153 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c tasklet_init(&wl->tasklet, brcms_dpc, (unsigned long) wl); wl 1155 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_init(&wl->lock); wl 1156 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_init(&wl->isr_lock); wl 1159 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->wlc = brcms_c_attach((void *)wl, pdev, unit, false, &err); wl 1160 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (!wl->wlc) { wl 1161 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: attach() failed with code %d\n", wl 1165 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub = brcms_c_pub(wl->wlc); wl 1167 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub->ieee_hw = hw; wl 1171 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c IRQF_SHARED, KBUILD_MODNAME, wl)) { wl 1172 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "wl%d: request_irq() failed\n", unit); wl 1175 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->irq = pdev->irq; wl 1178 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_module_register(wl->pub, "linux", wl, NULL); wl 1181 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "wl%d: %s: ieee_hw_init failed!\n", unit, wl 1186 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_regd_init(wl->wlc); wl 1188 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c memcpy(perm, &wl->pub->cur_etheraddr, ETH_ALEN); wl 1195 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: ieee80211_register_hw failed, status" wl 1198 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->pub->srom_ccode[0] && wl 1199 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c regulatory_hint(wl->wiphy, wl->pub->srom_ccode)) wl 1200 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: regulatory hint failed\n", __func__); wl 1202 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_debugfs_attach(wl->pub); wl 1203 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_debugfs_create_files(wl->pub); wl 1205 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c return wl; wl 1208 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_free(wl); wl 1224 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl; wl 1245 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c memset(hw->priv, 0, sizeof(*wl)); wl 1247 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl = brcms_attach(pdev); wl 1248 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (!wl) { wl 1252 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_led_register(wl); wl 1259 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl; wl 1263 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl = hw->priv; wl 1264 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (!wl) { wl 1271 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 1272 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub->hw_up = false; wl 1273 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 1275 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_dbg_info(wl->wlc->hw->d11core, "brcms_suspend ok\n"); wl 1341 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c void brcms_txflowcontrol(struct brcms_info *wl, struct brcms_if *wlif, wl 1344 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, "Shouldn't be here %s\n", __func__); wl 1350 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c void brcms_init(struct brcms_info *wl) wl 1352 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_dbg_info(wl->wlc->hw->d11core, "Initializing wl%d\n", wl 1353 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub->unit); wl 1354 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_reset(wl); wl 1355 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_init(wl->wlc, wl->mute_tx); wl 1361 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c uint brcms_reset(struct brcms_info *wl) wl 1363 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_dbg_info(wl->wlc->hw->d11core, "Resetting wl%d\n", wl->pub->unit); wl 1364 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_reset(wl->wlc); wl 1367 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->resched = false; wl 1370 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->pub->up = false; wl 1375 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c void brcms_fatal_error(struct brcms_info *wl) wl 1377 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, "wl%d: fatal error, reinitializing\n", wl 1378 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->wlc->pub->unit); wl 1379 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_reset(wl); wl 1380 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c ieee80211_restart_hw(wl->pub->ieee_hw); wl 1387 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c void brcms_intrson(struct brcms_info *wl) wl 1391 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_irqsave(&wl->isr_lock, flags); wl 1392 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_intrson(wl->wlc); wl 1393 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_irqrestore(&wl->isr_lock, flags); wl 1396 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c u32 brcms_intrsoff(struct brcms_info *wl) wl 1401 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_irqsave(&wl->isr_lock, flags); wl 1402 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c status = brcms_c_intrsoff(wl->wlc); wl 1403 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_irqrestore(&wl->isr_lock, flags); wl 1407 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c void brcms_intrsrestore(struct brcms_info *wl, u32 macintmask) wl 1411 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_irqsave(&wl->isr_lock, flags); wl 1412 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_c_intrsrestore(wl->wlc, macintmask); wl 1413 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_irqrestore(&wl->isr_lock, flags); wl 1419 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c int brcms_up(struct brcms_info *wl) wl 1423 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->pub->up) wl 1426 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c error = brcms_c_up(wl->wlc); wl 1434 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c void brcms_down(struct brcms_info *wl) wl 1439 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c ret_val = brcms_c_down(wl->wlc); wl 1440 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c callbacks = atomic_read(&wl->callbacks) - ret_val; wl 1443 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 1448 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c SPINWAIT((atomic_read(&wl->callbacks) > callbacks), 100 * 1000); wl 1450 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 1461 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&t->wl->lock); wl 1465 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c atomic_inc(&t->wl->callbacks); wl 1466 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c ieee80211_queue_delayed_work(t->wl->pub->ieee_hw, wl 1476 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c atomic_dec(&t->wl->callbacks); wl 1478 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&t->wl->lock); wl 1487 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_timer *brcms_init_timer(struct brcms_info *wl, wl 1498 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c t->wl = wl; wl 1501 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c t->next = wl->timers; wl 1502 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->timers = t; wl 1519 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct ieee80211_hw *hw = t->wl->pub->ieee_hw; wl 1523 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_dbg_info(t->wl->wlc->hw->d11core, wl 1531 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c atomic_inc(&t->wl->callbacks); wl 1549 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c atomic_dec(&t->wl->callbacks); wl 1560 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c struct brcms_info *wl = t->wl; wl 1566 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (wl->timers == t) { wl 1567 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->timers = wl->timers->next; wl 1576 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c tmp = wl->timers; wl 1594 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c int brcms_ucode_init_buf(struct brcms_info *wl, void **pbuf, u32 idx) wl 1599 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c for (i = 0; i < wl->fw.fw_cnt; i++) { wl 1600 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c hdr = (struct firmware_hdr *)wl->fw.fw_hdr[i]->data; wl 1601 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c for (entry = 0; entry < wl->fw.hdr_num_entries[i]; wl 1605 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c pdata = wl->fw.fw_bin[i]->data + wl 1615 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, wl 1626 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c int brcms_ucode_init_uint(struct brcms_info *wl, size_t *n_bytes, u32 idx) wl 1631 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c for (i = 0; i < wl->fw.fw_cnt; i++) { wl 1632 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c hdr = (struct firmware_hdr *)wl->fw.fw_hdr[i]->data; wl 1633 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c for (entry = 0; entry < wl->fw.hdr_num_entries[i]; wl 1636 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c pdata = wl->fw.fw_bin[i]->data + wl 1639 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, wl 1648 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c brcms_err(wl->wlc->hw->d11core, wl 1667 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c int brcms_check_firmwares(struct brcms_info *wl) wl 1676 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c fw = wl->fw.fw_bin[i]; wl 1677 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c fw_hdr = wl->fw.fw_hdr[i]; wl 1681 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: invalid bin/hdr fw\n", wl 1685 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: non integral fw hdr file " wl 1690 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: out of bounds fw file size %zu\n", wl 1696 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c for (entry = 0; entry < wl->fw.hdr_num_entries[i] && wl 1701 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, wl 1709 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c if (rc == 0 && wl->fw.fw_cnt != i) { wl 1710 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_err(wl->wiphy, "%s: invalid fw_cnt=%d\n", __func__, wl 1711 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wl->fw.fw_cnt); wl 1720 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c bool brcms_rfkill_set_hw_state(struct brcms_info *wl) wl 1722 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c bool blocked = brcms_c_check_radio_disabled(wl->wlc); wl 1724 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_unlock_bh(&wl->lock); wl 1725 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_rfkill_set_hw_state(wl->pub->ieee_hw->wiphy, blocked); wl 1727 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c wiphy_rfkill_start_polling(wl->pub->ieee_hw->wiphy); wl 1728 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c spin_lock_bh(&wl->lock); wl 38 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h struct brcms_info *wl; wl 91 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h void brcms_init(struct brcms_info *wl); wl 92 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h uint brcms_reset(struct brcms_info *wl); wl 93 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h void brcms_intrson(struct brcms_info *wl); wl 94 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h u32 brcms_intrsoff(struct brcms_info *wl); wl 95 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h void brcms_intrsrestore(struct brcms_info *wl, u32 macintmask); wl 96 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h int brcms_up(struct brcms_info *wl); wl 97 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h void brcms_down(struct brcms_info *wl); wl 98 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h void brcms_txflowcontrol(struct brcms_info *wl, struct brcms_if *wlif, wl 100 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h bool brcms_rfkill_set_hw_state(struct brcms_info *wl); wl 103 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h struct brcms_timer *brcms_init_timer(struct brcms_info *wl, wl 111 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h void brcms_fatal_error(struct brcms_info *wl); wl 718 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c struct brcms_ucode *ucode = &wlc_hw->wlc->wl->ucode; wl 820 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c macintmask = brcms_intrsoff(wlc->wl); wl 1854 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_intrsrestore(wlc->wl, macintmask); wl 2282 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c struct brcms_ucode *ucode = &wlc_hw->wlc->wl->ucode; wl 2392 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_fatal_error(wlc_hw->wlc->wl); /* big hammer */ wl 2669 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_down(wlc->wl); wl 2680 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_down(wlc->wl); wl 2705 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_down(wlc->wl); wl 3190 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c struct brcms_ucode *ucode = &wlc_hw->wlc->wl->ucode; wl 3365 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c macintmask = brcms_intrsoff(wlc->wl); wl 3381 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_intrsrestore(wlc->wl, macintmask); wl 4209 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_down(wlc->wl); wl 4247 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_down(wlc->wl); wl 4285 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c wlc->wdtimer = brcms_init_timer(wlc->wl, brcms_c_watchdog_by_timer, wl 4293 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c wlc->radio_timer = brcms_init_timer(wlc->wl, brcms_c_radio_timer, wl 4538 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c wlc_hw->physhim = wlc_phy_shim_attach(wlc_hw, wlc->wl, wlc); wl 4993 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_intrson(wlc_hw->wlc->wl); wl 5081 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_init(wlc->wl); wl 5131 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_intrsoff(wlc_hw->wlc->wl); wl 5169 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c callbacks += brcms_reset(wlc_hw->wlc->wl); wl 7773 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_down(wlc->wl); wl 7826 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_fatal_error(wlc_hw->wlc->wl); wl 7836 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_rfkill_set_hw_state(wlc->wl); wl 7847 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_fatal_error(wlc_hw->wlc->wl); wl 7954 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c brcms_c_attach(struct brcms_info *wl, struct bcma_device *core, uint unit, wl 7966 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c wlc->wiphy = wl->wiphy; wl 7975 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c wlc->wl = wl; wl 8070 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c wiphy_err(wl->wiphy, "wl%d: %s: init_timer failed\n", unit, wl 8079 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c wiphy_err(wl->wiphy, "wl%d: %s: channel_mgr_attach failed" wl 8119 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c wiphy_err(wl->wiphy, "wl%d: %s: failed with err %d\n", wl 457 drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h struct brcms_info *wl; wl 35 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c struct brcms_info *wl; /* pointer to os-specific private state */ wl 39 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c struct brcms_info *wl, wl 49 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c physhim->wl = wl; wl 64 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c brcms_init_timer(physhim->wl, (void (*)(void *))fn, wl 86 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c brcms_intrson(physhim->wl); wl 91 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c return brcms_intrsoff(physhim->wl); wl 96 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c brcms_intrsrestore(physhim->wl, macintmask); wl 128 drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h struct brcms_info *wl, wl 269 drivers/net/wireless/broadcom/brcm80211/brcmsmac/pub.h struct brcms_c_info *brcms_c_attach(struct brcms_info *wl, wl 40 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c int brcms_ucode_data_init(struct brcms_info *wl, struct brcms_ucode *ucode) wl 44 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc = brcms_check_firmwares(wl); wl 47 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn0bsinitvals24, wl 50 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn0initvals24, wl 53 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn1bsinitvals24, wl 56 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn1initvals24, wl 59 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn2bsinitvals24, wl 62 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11lcn2initvals24, wl 65 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11n0absinitvals16, wl 68 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11n0bsinitvals16, wl 71 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->d11n0initvals16, wl 74 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->bcm43xx_16_mimo, wl 77 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_uint(wl, &ucode->bcm43xx_16_mimosz, wl 80 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->bcm43xx_24_lcn, wl 83 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_uint(wl, &ucode->bcm43xx_24_lcnsz, wl 86 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->bcm43xx_bommajor, wl 89 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.c rc : brcms_ucode_init_buf(wl, (void **)&ucode->bcm43xx_bomminor, wl 46 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.h int brcms_ucode_data_init(struct brcms_info *wl, struct brcms_ucode *ucode); wl 50 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.h int brcms_ucode_init_buf(struct brcms_info *wl, void **pbuf, unsigned int idx); wl 51 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.h int brcms_ucode_init_uint(struct brcms_info *wl, size_t *n_bytes, wl 54 drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.h int brcms_check_firmwares(struct brcms_info *wl); wl 8 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c #define RADAR_SPEC(m, len, el, eh, wl, wh, \ wl 16 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c .w_low = wl, \ wl 790 drivers/net/wireless/realtek/rtw88/coex.c chip->table_sant[type].wl); wl 796 drivers/net/wireless/realtek/rtw88/coex.c chip->table_nsant[type].wl); wl 274 drivers/net/wireless/realtek/rtw88/coex.h u32 wl; wl 12 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_frame_rates(struct wl1251 *wl, u8 ctrl_rate, u8 ctrl_mod, wl 29 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_FW_GEN_FRAME_RATES, wl 42 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_station_id(struct wl1251 *wl) wl 54 drivers/net/wireless/ti/wl1251/acx.c mac->mac[i] = wl->mac_addr[ETH_ALEN - 1 - i]; wl 56 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, DOT11_STATION_ID, mac, sizeof(*mac)); wl 62 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_default_key(struct wl1251 *wl, u8 key_id) wl 75 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, DOT11_DEFAULT_KEY, wl 82 drivers/net/wireless/ti/wl1251/acx.c wl->default_key = key_id; wl 89 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_wake_up_conditions(struct wl1251 *wl, u8 wake_up_event, wl 104 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS, wl 116 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth) wl 129 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_SLEEP_AUTH, auth, sizeof(*auth)); wl 135 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len) wl 146 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_interrogate(wl, ACX_FW_REV, rev, sizeof(*rev)); wl 167 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_tx_power(struct wl1251 *wl, int power) wl 183 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, DOT11_CUR_TX_PWR, acx, sizeof(*acx)); wl 194 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options) wl 209 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_FEATURE_CFG, wl 221 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_mem_map(struct wl1251 *wl, struct acx_header *mem_map, wl 228 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_interrogate(wl, ACX_MEM_MAP, mem_map, len); wl 235 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_data_path_params(struct wl1251 *wl, wl 259 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_DATA_PATH_PARAMS, wl 265 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_interrogate(wl, ACX_DATA_PATH_PARAMS, wl 282 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_rx_msdu_life_time(struct wl1251 *wl, u32 life_time) wl 294 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, DOT11_RX_MSDU_LIFE_TIME, wl 306 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter) wl 320 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_RX_CFG, wl 332 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_pd_threshold(struct wl1251 *wl) wl 345 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_PD_THRESHOLD, pd, sizeof(*pd)); wl 356 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time) wl 370 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_SLOT, slot, sizeof(*slot)); wl 381 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable, wl 398 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL, wl 410 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_service_period_timeout(struct wl1251 *wl) wl 424 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_SERVICE_PERIOD_TIMEOUT, wl 437 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold) wl 450 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, DOT11_RTS_THRESHOLD, rts, sizeof(*rts)); wl 461 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter) wl 475 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_BEACON_FILTER_OPT, wl 487 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_beacon_filter_table(struct wl1251 *wl) wl 504 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_BEACON_FILTER_TABLE, wl 516 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_conn_monit_params(struct wl1251 *wl) wl 530 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_CONN_MONIT_PARAMS, wl 543 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_sg_enable(struct wl1251 *wl) wl 556 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta)); wl 567 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_sg_cfg(struct wl1251 *wl) wl 608 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param)); wl 619 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_cca_threshold(struct wl1251 *wl) wl 633 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_CCA_THRESHOLD, wl 642 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_bcn_dtim_options(struct wl1251 *wl) wl 658 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_BCN_DTIM_OPTIONS, bb, sizeof(*bb)); wl 669 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_aid(struct wl1251 *wl, u16 aid) wl 682 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_AID, acx_aid, sizeof(*acx_aid)); wl 693 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask) wl 709 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_EVENT_MBOX_MASK, wl 721 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight, wl 738 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_LOW_RSSI, rssi, sizeof(*rssi)); wl 746 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble) wl 759 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_PREAMBLE_TYPE, acx, sizeof(*acx)); wl 770 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_cts_protect(struct wl1251 *wl, wl 784 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_CTS_PROTECTION, acx, sizeof(*acx)); wl 795 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_tsf_info(struct wl1251 *wl, u64 *mactime) wl 804 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_interrogate(wl, ACX_TSF_INFO, wl 819 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_statistics(struct wl1251 *wl, struct acx_statistics *stats) wl 825 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_interrogate(wl, ACX_STATISTICS, stats, wl 835 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_rate_policies(struct wl1251 *wl) wl 859 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx)); wl 870 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_mem_cfg(struct wl1251 *wl) wl 903 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_MEM_CFG, mem_conf, wl 915 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim) wl 929 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_WR_TBTT_AND_DTIM, wl 941 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode, wl 956 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx)); wl 967 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address) wl 984 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_ARP_IP_FILTER, wl 993 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max, wl 1012 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_AC_CFG, acx, sizeof(*acx)); wl 1023 drivers/net/wireless/ti/wl1251/acx.c int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue, wl 1045 drivers/net/wireless/ti/wl1251/acx.c ret = wl1251_cmd_configure(wl, ACX_TID_CFG, acx, sizeof(*acx)); wl 1434 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_frame_rates(struct wl1251 *wl, u8 ctrl_rate, u8 ctrl_mod, wl 1436 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_station_id(struct wl1251 *wl); wl 1437 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_default_key(struct wl1251 *wl, u8 key_id); wl 1438 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_wake_up_conditions(struct wl1251 *wl, u8 wake_up_event, wl 1440 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth); wl 1441 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len); wl 1442 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_tx_power(struct wl1251 *wl, int power); wl 1443 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options); wl 1444 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_mem_map(struct wl1251 *wl, wl 1446 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_data_path_params(struct wl1251 *wl, wl 1448 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_rx_msdu_life_time(struct wl1251 *wl, u32 life_time); wl 1449 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter); wl 1450 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_pd_threshold(struct wl1251 *wl); wl 1451 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time); wl 1452 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable, wl 1454 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_service_period_timeout(struct wl1251 *wl); wl 1455 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold); wl 1456 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter); wl 1457 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_beacon_filter_table(struct wl1251 *wl); wl 1458 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_conn_monit_params(struct wl1251 *wl); wl 1459 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_sg_enable(struct wl1251 *wl); wl 1460 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_sg_cfg(struct wl1251 *wl); wl 1461 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_cca_threshold(struct wl1251 *wl); wl 1462 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_bcn_dtim_options(struct wl1251 *wl); wl 1463 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_aid(struct wl1251 *wl, u16 aid); wl 1464 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask); wl 1465 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight, wl 1467 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble); wl 1468 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_cts_protect(struct wl1251 *wl, wl 1470 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_statistics(struct wl1251 *wl, struct acx_statistics *stats); wl 1471 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_tsf_info(struct wl1251 *wl, u64 *mactime); wl 1472 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_rate_policies(struct wl1251 *wl); wl 1473 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_mem_cfg(struct wl1251 *wl); wl 1474 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim); wl 1475 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode, wl 1477 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address); wl 1478 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max, wl 1480 drivers/net/wireless/ti/wl1251/acx.h int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue, wl 17 drivers/net/wireless/ti/wl1251/boot.c void wl1251_boot_target_enable_interrupts(struct wl1251 *wl) wl 19 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ACX_REG_INTERRUPT_MASK, ~(wl->intr_mask)); wl 20 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, HI_CFG, HI_CFG_DEF_VAL); wl 23 drivers/net/wireless/ti/wl1251/boot.c int wl1251_boot_soft_reset(struct wl1251 *wl) wl 29 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ACX_REG_SLV_SOFT_RESET, ACX_SLV_SOFT_RESET_BIT); wl 34 drivers/net/wireless/ti/wl1251/boot.c boot_data = wl1251_reg_read32(wl, ACX_REG_SLV_SOFT_RESET); wl 50 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ENABLE, 0x0); wl 53 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, SPARE_A2, 0xffff); wl 58 drivers/net/wireless/ti/wl1251/boot.c int wl1251_boot_init_seq(struct wl1251 *wl) wl 80 drivers/net/wireless/ti/wl1251/boot.c scr_pad6 = wl1251_reg_read32(wl, SCR_PAD6); wl 84 drivers/net/wireless/ti/wl1251/boot.c elp_cmd = wl1251_reg_read32(wl, ELP_CMD); wl 91 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, PLL_CAL_TIME, 0x9); wl 96 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, CLK_BUF_TIME, 0x6); wl 104 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ELP_CFG_MODE, tmp); wl 108 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ELP_CMD, elp_cmd); wl 112 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, CFG_PLL_SYNC_CNT, 0x20); wl 115 drivers/net/wireless/ti/wl1251/boot.c init_data = wl1251_reg_read32(wl, CLK_REQ_TIME); wl 125 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, CLK_REQ_TIME, tmp); wl 128 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x003058cc, 0x4B5); wl 131 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x003058d4, 0x50); wl 134 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x00305948, 0x11c001); wl 140 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x003058f4, 0x1e); wl 144 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x00305840, tmp); wl 150 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x00305844, tmp); wl 153 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x00305848, 0x3039); wl 162 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x00305854, tmp); wl 169 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x00305858, tmp); wl 177 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x003058f8, tmp); wl 185 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, 0x003058f0, 0x29); wl 188 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ELP_CMD, elp_cmd | 0x1); wl 196 drivers/net/wireless/ti/wl1251/boot.c static void wl1251_boot_set_ecpu_ctrl(struct wl1251 *wl, u32 flag) wl 201 drivers/net/wireless/ti/wl1251/boot.c cpu_ctrl = wl1251_reg_read32(wl, ACX_REG_ECPU_CONTROL); wl 205 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ACX_REG_ECPU_CONTROL, cpu_ctrl); wl 208 drivers/net/wireless/ti/wl1251/boot.c int wl1251_boot_run_firmware(struct wl1251 *wl) wl 213 drivers/net/wireless/ti/wl1251/boot.c wl1251_boot_set_ecpu_ctrl(wl, ECPU_CONTROL_HALT); wl 215 drivers/net/wireless/ti/wl1251/boot.c chip_id = wl1251_reg_read32(wl, CHIP_ID_B); wl 219 drivers/net/wireless/ti/wl1251/boot.c if (chip_id != wl->chip_id) { wl 228 drivers/net/wireless/ti/wl1251/boot.c acx_intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_NO_CLEAR); wl 237 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ACX_REG_INTERRUPT_ACK, wl 250 drivers/net/wireless/ti/wl1251/boot.c wl->cmd_box_addr = wl1251_reg_read32(wl, REG_COMMAND_MAILBOX_PTR); wl 253 drivers/net/wireless/ti/wl1251/boot.c wl->event_box_addr = wl1251_reg_read32(wl, REG_EVENT_MAILBOX_PTR); wl 256 drivers/net/wireless/ti/wl1251/boot.c wl1251_set_partition(wl, WL1251_PART_WORK_MEM_START, wl 262 drivers/net/wireless/ti/wl1251/boot.c wl->cmd_box_addr, wl->event_box_addr); wl 264 drivers/net/wireless/ti/wl1251/boot.c wl1251_acx_fw_version(wl, wl->fw_ver, sizeof(wl->fw_ver)); wl 272 drivers/net/wireless/ti/wl1251/boot.c wl1251_enable_interrupts(wl); wl 275 drivers/net/wireless/ti/wl1251/boot.c wl->intr_mask = WL1251_ACX_INTR_RX0_DATA | wl 281 drivers/net/wireless/ti/wl1251/boot.c wl1251_boot_target_enable_interrupts(wl); wl 283 drivers/net/wireless/ti/wl1251/boot.c wl->event_mask = SCAN_COMPLETE_EVENT_ID | BSS_LOSE_EVENT_ID | wl 291 drivers/net/wireless/ti/wl1251/boot.c ret = wl1251_event_unmask(wl); wl 297 drivers/net/wireless/ti/wl1251/boot.c wl1251_event_mbox_config(wl); wl 303 drivers/net/wireless/ti/wl1251/boot.c static int wl1251_boot_upload_firmware(struct wl1251 *wl) wl 312 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_read32(wl, CHIP_ID_B)); wl 315 drivers/net/wireless/ti/wl1251/boot.c fw_data_len = (wl->fw[4] << 24) | (wl->fw[5] << 16) | wl 316 drivers/net/wireless/ti/wl1251/boot.c (wl->fw[6] << 8) | (wl->fw[7]); wl 332 drivers/net/wireless/ti/wl1251/boot.c wl1251_set_partition(wl, WL1251_PART_DOWN_MEM_START, wl 350 drivers/net/wireless/ti/wl1251/boot.c wl1251_set_partition(wl, wl 359 drivers/net/wireless/ti/wl1251/boot.c p = wl->fw + FW_HDR_SIZE + chunk_num * CHUNK_SIZE; wl 366 drivers/net/wireless/ti/wl1251/boot.c wl1251_mem_write(wl, addr, buf, len); wl 373 drivers/net/wireless/ti/wl1251/boot.c p = wl->fw + FW_HDR_SIZE + chunk_num * CHUNK_SIZE; wl 381 drivers/net/wireless/ti/wl1251/boot.c wl1251_mem_write(wl, addr, buf, len); wl 388 drivers/net/wireless/ti/wl1251/boot.c static int wl1251_boot_upload_nvs(struct wl1251 *wl) wl 395 drivers/net/wireless/ti/wl1251/boot.c nvs = wl->nvs; wl 401 drivers/net/wireless/ti/wl1251/boot.c nvs_len = wl->nvs_len; wl 402 drivers/net/wireless/ti/wl1251/boot.c nvs_start = wl->fw_len; wl 427 drivers/net/wireless/ti/wl1251/boot.c wl1251_mem_write32(wl, dest_addr, val); wl 443 drivers/net/wireless/ti/wl1251/boot.c wl1251_set_partition(wl, nvs_start, wl 457 drivers/net/wireless/ti/wl1251/boot.c wl1251_mem_write32(wl, nvs_start, val); wl 467 drivers/net/wireless/ti/wl1251/boot.c int wl1251_boot(struct wl1251 *wl) wl 473 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ACX_REG_ECPU_CONTROL, ECPU_CONTROL_HALT); wl 475 drivers/net/wireless/ti/wl1251/boot.c ret = wl1251_boot_soft_reset(wl); wl 480 drivers/net/wireless/ti/wl1251/boot.c if (wl->use_eeprom) { wl 481 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ACX_REG_EE_START, START_EEPROM_MGR); wl 484 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ACX_EEPROMLESS_IND_REG, USE_EEPROM); wl 486 drivers/net/wireless/ti/wl1251/boot.c ret = wl1251_boot_upload_nvs(wl); wl 492 drivers/net/wireless/ti/wl1251/boot.c wl1251_reg_write32(wl, ACX_EEPROMLESS_IND_REG, wl->fw_len); wl 496 drivers/net/wireless/ti/wl1251/boot.c tmp = wl1251_reg_read32(wl, SCR_PAD2); wl 499 drivers/net/wireless/ti/wl1251/boot.c wl->boot_attr.radio_type = (tmp & 0x0000FF00) >> 8; wl 500 drivers/net/wireless/ti/wl1251/boot.c wl->boot_attr.major = (tmp & 0x00FF0000) >> 16; wl 501 drivers/net/wireless/ti/wl1251/boot.c tmp = wl1251_reg_read32(wl, SCR_PAD3); wl 504 drivers/net/wireless/ti/wl1251/boot.c wl->boot_attr.minor = (tmp & 0x00FF0000) >> 16; wl 509 drivers/net/wireless/ti/wl1251/boot.c wl->boot_attr.radio_type, wl->boot_attr.major, wl 510 drivers/net/wireless/ti/wl1251/boot.c wl->boot_attr.minor, minor_minor_e2_ver); wl 512 drivers/net/wireless/ti/wl1251/boot.c ret = wl1251_boot_init_seq(wl); wl 517 drivers/net/wireless/ti/wl1251/boot.c boot_data = wl1251_reg_read32(wl, ACX_REG_ECPU_CONTROL); wl 530 drivers/net/wireless/ti/wl1251/boot.c ret = wl1251_boot_upload_firmware(wl); wl 535 drivers/net/wireless/ti/wl1251/boot.c ret = wl1251_boot_run_firmware(wl); wl 13 drivers/net/wireless/ti/wl1251/boot.h int wl1251_boot_soft_reset(struct wl1251 *wl); wl 14 drivers/net/wireless/ti/wl1251/boot.h int wl1251_boot_init_seq(struct wl1251 *wl); wl 15 drivers/net/wireless/ti/wl1251/boot.h int wl1251_boot_run_firmware(struct wl1251 *wl); wl 16 drivers/net/wireless/ti/wl1251/boot.h void wl1251_boot_target_enable_interrupts(struct wl1251 *wl); wl 17 drivers/net/wireless/ti/wl1251/boot.h int wl1251_boot(struct wl1251 *wl); wl 22 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_send(struct wl1251 *wl, u16 id, void *buf, size_t len) wl 35 drivers/net/wireless/ti/wl1251/cmd.c wl1251_mem_write(wl, wl->cmd_box_addr, buf, len); wl 37 drivers/net/wireless/ti/wl1251/cmd.c wl1251_reg_write32(wl, ACX_REG_INTERRUPT_TRIG, INTR_TRIG_CMD); wl 41 drivers/net/wireless/ti/wl1251/cmd.c intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_NO_CLEAR); wl 51 drivers/net/wireless/ti/wl1251/cmd.c intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_NO_CLEAR); wl 54 drivers/net/wireless/ti/wl1251/cmd.c wl1251_reg_write32(wl, ACX_REG_INTERRUPT_ACK, wl 69 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_test(struct wl1251 *wl, void *buf, size_t buf_len, u8 answer) wl 75 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_TEST, buf, buf_len); wl 90 drivers/net/wireless/ti/wl1251/cmd.c wl1251_mem_read(wl, wl->cmd_box_addr, buf, buf_len); wl 110 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len) wl 122 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_INTERROGATE, acx, sizeof(*acx)); wl 129 drivers/net/wireless/ti/wl1251/cmd.c wl1251_mem_read(wl, wl->cmd_box_addr, buf, len); wl 148 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_configure(struct wl1251 *wl, u16 id, void *buf, size_t len) wl 160 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_CONFIGURE, acx, len); wl 169 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity, wl 196 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_VBM, vbm, sizeof(*vbm)); wl 207 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable) wl 228 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd)); wl 243 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable) wl 262 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd)); wl 274 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel, wl 294 drivers/net/wireless/ti/wl1251/cmd.c bssid[i] = wl->bssid[ETH_ALEN - i - 1]; wl 296 drivers/net/wireless/ti/wl1251/cmd.c join->rx_config_options = wl->rx_config; wl 297 drivers/net/wireless/ti/wl1251/cmd.c join->rx_filter_options = wl->rx_filter; wl 308 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_START_JOIN, join, sizeof(*join)); wl 319 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode) wl 338 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_SET_PS_MODE, ps_params, wl 350 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_read_memory(struct wl1251 *wl, u32 addr, void *answer, wl 370 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_READ_MEMORY, cmd, sizeof(*cmd)); wl 377 drivers/net/wireless/ti/wl1251/cmd.c wl1251_mem_read(wl, wl->cmd_box_addr, cmd, sizeof(*cmd)); wl 390 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_template_set(struct wl1251 *wl, u16 cmd_id, wl 414 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, cmd_id, cmd, cmd_len); wl 425 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len, wl 450 drivers/net/wireless/ti/wl1251/cmd.c if (is_zero_ether_addr(wl->bssid)) wl 473 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd)); wl 479 drivers/net/wireless/ti/wl1251/cmd.c wl1251_mem_read(wl, wl->cmd_box_addr, cmd, sizeof(*cmd)); wl 493 drivers/net/wireless/ti/wl1251/cmd.c int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout) wl 506 drivers/net/wireless/ti/wl1251/cmd.c ret = wl1251_cmd_send(wl, CMD_TRIGGER_SCAN_TO, cmd, sizeof(*cmd)); wl 18 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_send(struct wl1251 *wl, u16 type, void *buf, size_t buf_len); wl 19 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_test(struct wl1251 *wl, void *buf, size_t buf_len, u8 answer); wl 20 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_interrogate(struct wl1251 *wl, u16 id, void *buf, size_t len); wl 21 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_configure(struct wl1251 *wl, u16 id, void *buf, size_t len); wl 22 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity, wl 24 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable); wl 25 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable); wl 26 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel, wl 28 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode); wl 29 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_read_memory(struct wl1251 *wl, u32 addr, void *answer, wl 31 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_template_set(struct wl1251 *wl, u16 cmd_id, wl 33 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len, wl 36 drivers/net/wireless/ti/wl1251/cmd.h int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout); wl 26 drivers/net/wireless/ti/wl1251/debugfs.c struct wl1251 *wl = file->private_data; \ wl 41 drivers/net/wireless/ti/wl1251/debugfs.c wl->debugfs.name = debugfs_create_file(#name, 0400, parent, \ wl 42 drivers/net/wireless/ti/wl1251/debugfs.c wl, &name## _ops); \ wl 46 drivers/net/wireless/ti/wl1251/debugfs.c debugfs_remove(wl->debugfs.name); \ wl 47 drivers/net/wireless/ti/wl1251/debugfs.c wl->debugfs.name = NULL; \ wl 55 drivers/net/wireless/ti/wl1251/debugfs.c struct wl1251 *wl = file->private_data; \ wl 59 drivers/net/wireless/ti/wl1251/debugfs.c wl1251_debugfs_update_stats(wl); \ wl 62 drivers/net/wireless/ti/wl1251/debugfs.c wl->stats.fw_stats->sub.name); \ wl 73 drivers/net/wireless/ti/wl1251/debugfs.c DEBUGFS_ADD(sub## _ ##name, wl->debugfs.fw_statistics) wl 78 drivers/net/wireless/ti/wl1251/debugfs.c static void wl1251_debugfs_update_stats(struct wl1251 *wl) wl 82 drivers/net/wireless/ti/wl1251/debugfs.c mutex_lock(&wl->mutex); wl 84 drivers/net/wireless/ti/wl1251/debugfs.c ret = wl1251_ps_elp_wakeup(wl); wl 88 drivers/net/wireless/ti/wl1251/debugfs.c if (wl->state == WL1251_STATE_ON && wl 89 drivers/net/wireless/ti/wl1251/debugfs.c time_after(jiffies, wl->stats.fw_stats_update + wl 91 drivers/net/wireless/ti/wl1251/debugfs.c wl1251_acx_statistics(wl, wl->stats.fw_stats); wl 92 drivers/net/wireless/ti/wl1251/debugfs.c wl->stats.fw_stats_update = jiffies; wl 95 drivers/net/wireless/ti/wl1251/debugfs.c wl1251_ps_elp_sleep(wl); wl 98 drivers/net/wireless/ti/wl1251/debugfs.c mutex_unlock(&wl->mutex); wl 193 drivers/net/wireless/ti/wl1251/debugfs.c DEBUGFS_READONLY_FILE(retry_count, 20, "%u", wl->stats.retry_count); wl 195 drivers/net/wireless/ti/wl1251/debugfs.c wl->stats.excessive_retries); wl 200 drivers/net/wireless/ti/wl1251/debugfs.c struct wl1251 *wl = file->private_data; wl 205 drivers/net/wireless/ti/wl1251/debugfs.c queue_len = skb_queue_len(&wl->tx_queue); wl 220 drivers/net/wireless/ti/wl1251/debugfs.c struct wl1251 *wl = file->private_data; wl 224 drivers/net/wireless/ti/wl1251/debugfs.c if (wl->tx_queue_stopped) wl 239 drivers/net/wireless/ti/wl1251/debugfs.c static void wl1251_debugfs_delete_files(struct wl1251 *wl) wl 338 drivers/net/wireless/ti/wl1251/debugfs.c static void wl1251_debugfs_add_files(struct wl1251 *wl) wl 431 drivers/net/wireless/ti/wl1251/debugfs.c DEBUGFS_ADD(tx_queue_len, wl->debugfs.rootdir); wl 432 drivers/net/wireless/ti/wl1251/debugfs.c DEBUGFS_ADD(tx_queue_status, wl->debugfs.rootdir); wl 433 drivers/net/wireless/ti/wl1251/debugfs.c DEBUGFS_ADD(retry_count, wl->debugfs.rootdir); wl 434 drivers/net/wireless/ti/wl1251/debugfs.c DEBUGFS_ADD(excessive_retries, wl->debugfs.rootdir); wl 437 drivers/net/wireless/ti/wl1251/debugfs.c void wl1251_debugfs_reset(struct wl1251 *wl) wl 439 drivers/net/wireless/ti/wl1251/debugfs.c if (wl->stats.fw_stats != NULL) wl 440 drivers/net/wireless/ti/wl1251/debugfs.c memset(wl->stats.fw_stats, 0, sizeof(*wl->stats.fw_stats)); wl 441 drivers/net/wireless/ti/wl1251/debugfs.c wl->stats.retry_count = 0; wl 442 drivers/net/wireless/ti/wl1251/debugfs.c wl->stats.excessive_retries = 0; wl 445 drivers/net/wireless/ti/wl1251/debugfs.c int wl1251_debugfs_init(struct wl1251 *wl) wl 447 drivers/net/wireless/ti/wl1251/debugfs.c wl->stats.fw_stats = kzalloc(sizeof(*wl->stats.fw_stats), GFP_KERNEL); wl 448 drivers/net/wireless/ti/wl1251/debugfs.c if (!wl->stats.fw_stats) wl 451 drivers/net/wireless/ti/wl1251/debugfs.c wl->debugfs.rootdir = debugfs_create_dir(KBUILD_MODNAME, NULL); wl 453 drivers/net/wireless/ti/wl1251/debugfs.c wl->debugfs.fw_statistics = debugfs_create_dir("fw-statistics", wl 454 drivers/net/wireless/ti/wl1251/debugfs.c wl->debugfs.rootdir); wl 456 drivers/net/wireless/ti/wl1251/debugfs.c wl->stats.fw_stats_update = jiffies; wl 458 drivers/net/wireless/ti/wl1251/debugfs.c wl1251_debugfs_add_files(wl); wl 463 drivers/net/wireless/ti/wl1251/debugfs.c void wl1251_debugfs_exit(struct wl1251 *wl) wl 465 drivers/net/wireless/ti/wl1251/debugfs.c wl1251_debugfs_delete_files(wl); wl 467 drivers/net/wireless/ti/wl1251/debugfs.c kfree(wl->stats.fw_stats); wl 468 drivers/net/wireless/ti/wl1251/debugfs.c wl->stats.fw_stats = NULL; wl 470 drivers/net/wireless/ti/wl1251/debugfs.c debugfs_remove(wl->debugfs.fw_statistics); wl 471 drivers/net/wireless/ti/wl1251/debugfs.c wl->debugfs.fw_statistics = NULL; wl 473 drivers/net/wireless/ti/wl1251/debugfs.c debugfs_remove(wl->debugfs.rootdir); wl 474 drivers/net/wireless/ti/wl1251/debugfs.c wl->debugfs.rootdir = NULL; wl 13 drivers/net/wireless/ti/wl1251/debugfs.h int wl1251_debugfs_init(struct wl1251 *wl); wl 14 drivers/net/wireless/ti/wl1251/debugfs.h void wl1251_debugfs_exit(struct wl1251 *wl); wl 15 drivers/net/wireless/ti/wl1251/debugfs.h void wl1251_debugfs_reset(struct wl1251 *wl); wl 15 drivers/net/wireless/ti/wl1251/event.c static int wl1251_event_scan_complete(struct wl1251 *wl, wl 24 drivers/net/wireless/ti/wl1251/event.c if (wl->scanning) { wl 29 drivers/net/wireless/ti/wl1251/event.c ieee80211_scan_completed(wl->hw, &info); wl 31 drivers/net/wireless/ti/wl1251/event.c wl->scanning = false; wl 32 drivers/net/wireless/ti/wl1251/event.c if (wl->hw->conf.flags & IEEE80211_CONF_IDLE) wl 33 drivers/net/wireless/ti/wl1251/event.c ret = wl1251_ps_set_mode(wl, STATION_IDLE); wl 40 drivers/net/wireless/ti/wl1251/event.c static int wl1251_event_ps_report(struct wl1251 *wl, wl 51 drivers/net/wireless/ti/wl1251/event.c if (wl->station_mode != STATION_POWER_SAVE_MODE) { wl 53 drivers/net/wireless/ti/wl1251/event.c wl->psm_entry_retry = 0; wl 57 drivers/net/wireless/ti/wl1251/event.c if (wl->psm_entry_retry < WL1251_PSM_ENTRY_RETRIES) { wl 58 drivers/net/wireless/ti/wl1251/event.c wl->psm_entry_retry++; wl 59 drivers/net/wireless/ti/wl1251/event.c ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); wl 62 drivers/net/wireless/ti/wl1251/event.c wl->psm_entry_retry = 0; wl 69 drivers/net/wireless/ti/wl1251/event.c wl->psm_entry_retry = 0; wl 83 drivers/net/wireless/ti/wl1251/event.c static int wl1251_event_process(struct wl1251 *wl, struct event_mailbox *mbox) wl 94 drivers/net/wireless/ti/wl1251/event.c ret = wl1251_event_scan_complete(wl, mbox); wl 102 drivers/net/wireless/ti/wl1251/event.c if (wl->psm_requested && wl 103 drivers/net/wireless/ti/wl1251/event.c wl->station_mode != STATION_ACTIVE_MODE) { wl 104 drivers/net/wireless/ti/wl1251/event.c ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE); wl 112 drivers/net/wireless/ti/wl1251/event.c ret = wl1251_event_ps_report(wl, mbox); wl 121 drivers/net/wireless/ti/wl1251/event.c if (wl->vif && wl->vif->type == NL80211_IFTYPE_STATION) wl 122 drivers/net/wireless/ti/wl1251/event.c ieee80211_beacon_loss(wl->vif); wl 126 drivers/net/wireless/ti/wl1251/event.c if (wl->psm_requested) { wl 127 drivers/net/wireless/ti/wl1251/event.c ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); wl 133 drivers/net/wireless/ti/wl1251/event.c if (wl->vif && wl->rssi_thold) { wl 137 drivers/net/wireless/ti/wl1251/event.c ieee80211_cqm_rssi_notify(wl->vif, wl 145 drivers/net/wireless/ti/wl1251/event.c ieee80211_cqm_rssi_notify(wl->vif, wl 158 drivers/net/wireless/ti/wl1251/event.c int wl1251_event_wait(struct wl1251 *wl, u32 mask, int timeout_ms) wl 172 drivers/net/wireless/ti/wl1251/event.c wl1251_mem_read(wl, wl->mbox_ptr[0], &events_vector, wl 175 drivers/net/wireless/ti/wl1251/event.c wl1251_mem_read(wl, wl->mbox_ptr[1], &events_vector, wl 183 drivers/net/wireless/ti/wl1251/event.c int wl1251_event_unmask(struct wl1251 *wl) wl 187 drivers/net/wireless/ti/wl1251/event.c ret = wl1251_acx_event_mbox_mask(wl, ~(wl->event_mask)); wl 194 drivers/net/wireless/ti/wl1251/event.c void wl1251_event_mbox_config(struct wl1251 *wl) wl 196 drivers/net/wireless/ti/wl1251/event.c wl->mbox_ptr[0] = wl1251_reg_read32(wl, REG_EVENT_MAILBOX_PTR); wl 197 drivers/net/wireless/ti/wl1251/event.c wl->mbox_ptr[1] = wl->mbox_ptr[0] + sizeof(struct event_mailbox); wl 200 drivers/net/wireless/ti/wl1251/event.c wl->mbox_ptr[0], wl->mbox_ptr[1]); wl 203 drivers/net/wireless/ti/wl1251/event.c int wl1251_event_handle(struct wl1251 *wl, u8 mbox_num) wl 214 drivers/net/wireless/ti/wl1251/event.c wl1251_mem_read(wl, wl->mbox_ptr[mbox_num], &mbox, wl 218 drivers/net/wireless/ti/wl1251/event.c ret = wl1251_event_process(wl, &mbox); wl 223 drivers/net/wireless/ti/wl1251/event.c wl1251_reg_write32(wl, ACX_REG_INTERRUPT_TRIG, INTR_TRIG_EVENT_ACK); wl 108 drivers/net/wireless/ti/wl1251/event.h int wl1251_event_unmask(struct wl1251 *wl); wl 109 drivers/net/wireless/ti/wl1251/event.h void wl1251_event_mbox_config(struct wl1251 *wl); wl 110 drivers/net/wireless/ti/wl1251/event.h int wl1251_event_handle(struct wl1251 *wl, u8 mbox); wl 111 drivers/net/wireless/ti/wl1251/event.h int wl1251_event_wait(struct wl1251 *wl, u32 mask, int timeout_ms); wl 18 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_hwenc_config(struct wl1251 *wl) wl 22 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_feature_cfg(wl, 0); wl 28 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_default_key(wl, wl->default_key); wl 37 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_templates_config(struct wl1251 *wl) wl 43 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_template_set(wl, CMD_PROBE_REQ, NULL, wl 48 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_template_set(wl, CMD_NULL_DATA, NULL, wl 53 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_template_set(wl, CMD_PS_POLL, NULL, wl 58 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_template_set(wl, CMD_QOS_NULL_DATA, NULL, wl 64 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_template_set(wl, CMD_PROBE_RESP, NULL, wl 70 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_template_set(wl, CMD_BEACON, NULL, wl 78 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_vbm(wl, TIM_ELE_ID, partial_vbm, PARTIAL_VBM_MAX, 0); wl 82 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_vbm(wl, TIM_ELE_ID, partial_vbm, 1, 0); wl 89 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_rx_config(struct wl1251 *wl, u32 config, u32 filter) wl 93 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_rx_msdu_life_time(wl, RX_MSDU_LIFETIME_DEF); wl 97 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_rx_config(wl, config, filter); wl 104 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_phy_config(struct wl1251 *wl) wl 108 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_pd_threshold(wl); wl 112 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_slot(wl, DEFAULT_SLOT_TIME); wl 116 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_group_address_tbl(wl, true, NULL, 0); wl 120 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_service_period_timeout(wl); wl 124 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_rts_threshold(wl, RTS_THRESHOLD_DEF); wl 131 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_beacon_filter(struct wl1251 *wl) wl 136 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_beacon_filter_opt(wl, false); wl 140 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_beacon_filter_table(wl); wl 147 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_pta(struct wl1251 *wl) wl 151 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_sg_enable(wl); wl 155 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_sg_cfg(wl); wl 162 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_energy_detection(struct wl1251 *wl) wl 166 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_cca_threshold(wl); wl 173 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_beacon_broadcast(struct wl1251 *wl) wl 177 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_bcn_dtim_options(wl); wl 184 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_power_auth(struct wl1251 *wl) wl 186 drivers/net/wireless/ti/wl1251/init.c return wl1251_acx_sleep_auth(wl, WL1251_PSM_CAM); wl 189 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init_mem_config(struct wl1251 *wl) wl 193 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_mem_cfg(wl); wl 197 drivers/net/wireless/ti/wl1251/init.c wl->target_mem_map = kzalloc(sizeof(struct wl1251_acx_mem_map), wl 199 drivers/net/wireless/ti/wl1251/init.c if (!wl->target_mem_map) { wl 205 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_mem_map(wl, wl->target_mem_map, wl 209 drivers/net/wireless/ti/wl1251/init.c kfree(wl->target_mem_map); wl 210 drivers/net/wireless/ti/wl1251/init.c wl->target_mem_map = NULL; wl 256 drivers/net/wireless/ti/wl1251/init.c static int wl1251_hw_init_tx_queue_config(struct wl1251 *wl) wl 259 drivers/net/wireless/ti/wl1251/init.c struct wl1251_acx_mem_map *wl_mem_map = wl->target_mem_map; wl 276 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_configure(wl, ACX_TX_QUEUE_CFG, wl 282 drivers/net/wireless/ti/wl1251/init.c wl1251_acx_ac_cfg(wl, AC_BE, CWMIN_BE, CWMAX_BE, AIFS_DIFS, TXOP_BE); wl 283 drivers/net/wireless/ti/wl1251/init.c wl1251_acx_ac_cfg(wl, AC_BK, CWMIN_BK, CWMAX_BK, AIFS_DIFS, TXOP_BK); wl 284 drivers/net/wireless/ti/wl1251/init.c wl1251_acx_ac_cfg(wl, AC_VI, CWMIN_VI, CWMAX_VI, AIFS_DIFS, TXOP_VI); wl 285 drivers/net/wireless/ti/wl1251/init.c wl1251_acx_ac_cfg(wl, AC_VO, CWMIN_VO, CWMAX_VO, AIFS_DIFS, TXOP_VO); wl 292 drivers/net/wireless/ti/wl1251/init.c static int wl1251_hw_init_data_path_config(struct wl1251 *wl) wl 297 drivers/net/wireless/ti/wl1251/init.c wl->data_path = kzalloc(sizeof(struct acx_data_path_params_resp), wl 299 drivers/net/wireless/ti/wl1251/init.c if (!wl->data_path) wl 302 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_data_path_params(wl, wl->data_path); wl 304 drivers/net/wireless/ti/wl1251/init.c kfree(wl->data_path); wl 305 drivers/net/wireless/ti/wl1251/init.c wl->data_path = NULL; wl 313 drivers/net/wireless/ti/wl1251/init.c int wl1251_hw_init(struct wl1251 *wl) wl 318 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_hwenc_config(wl); wl 323 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_templates_config(wl); wl 328 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_mem_config(wl); wl 333 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_data_path_config(wl); wl 338 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_rx_config(wl, wl 347 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_tx_queue_config(wl); wl 352 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_phy_config(wl); wl 357 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_acx_conn_monit_params(wl); wl 362 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_beacon_filter(wl); wl 367 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_pta(wl); wl 372 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_energy_detection(wl); wl 377 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_beacon_broadcast(wl); wl 382 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1); wl 387 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_cmd_data_path_tx(wl, wl->channel, 1); wl 392 drivers/net/wireless/ti/wl1251/init.c ret = wl1251_hw_init_power_auth(wl); wl 396 drivers/net/wireless/ti/wl1251/init.c wl_mem_map = wl->target_mem_map; wl 399 drivers/net/wireless/ti/wl1251/init.c wl->data_path->tx_control_addr, wl 401 drivers/net/wireless/ti/wl1251/init.c wl->data_path->rx_control_addr); wl 406 drivers/net/wireless/ti/wl1251/init.c kfree(wl->data_path); wl 409 drivers/net/wireless/ti/wl1251/init.c kfree(wl->target_mem_map); wl 60 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_hwenc_config(struct wl1251 *wl); wl 61 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_templates_config(struct wl1251 *wl); wl 62 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_rx_config(struct wl1251 *wl, u32 config, u32 filter); wl 63 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_phy_config(struct wl1251 *wl); wl 64 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_beacon_filter(struct wl1251 *wl); wl 65 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_pta(struct wl1251 *wl); wl 66 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_energy_detection(struct wl1251 *wl); wl 67 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_beacon_broadcast(struct wl1251 *wl); wl 68 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_power_auth(struct wl1251 *wl); wl 69 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init_mem_config(struct wl1251 *wl); wl 70 drivers/net/wireless/ti/wl1251/init.h int wl1251_hw_init(struct wl1251 *wl); wl 27 drivers/net/wireless/ti/wl1251/io.c static int wl1251_translate_reg_addr(struct wl1251 *wl, int addr) wl 41 drivers/net/wireless/ti/wl1251/io.c return addr - wl->physical_reg_addr + wl->virtual_reg_addr; wl 44 drivers/net/wireless/ti/wl1251/io.c static int wl1251_translate_mem_addr(struct wl1251 *wl, int addr) wl 46 drivers/net/wireless/ti/wl1251/io.c return addr - wl->physical_mem_addr + wl->virtual_mem_addr; wl 49 drivers/net/wireless/ti/wl1251/io.c void wl1251_mem_read(struct wl1251 *wl, int addr, void *buf, size_t len) wl 53 drivers/net/wireless/ti/wl1251/io.c physical = wl1251_translate_mem_addr(wl, addr); wl 55 drivers/net/wireless/ti/wl1251/io.c wl->if_ops->read(wl, physical, buf, len); wl 58 drivers/net/wireless/ti/wl1251/io.c void wl1251_mem_write(struct wl1251 *wl, int addr, void *buf, size_t len) wl 62 drivers/net/wireless/ti/wl1251/io.c physical = wl1251_translate_mem_addr(wl, addr); wl 64 drivers/net/wireless/ti/wl1251/io.c wl->if_ops->write(wl, physical, buf, len); wl 67 drivers/net/wireless/ti/wl1251/io.c u32 wl1251_mem_read32(struct wl1251 *wl, int addr) wl 69 drivers/net/wireless/ti/wl1251/io.c return wl1251_read32(wl, wl1251_translate_mem_addr(wl, addr)); wl 72 drivers/net/wireless/ti/wl1251/io.c void wl1251_mem_write32(struct wl1251 *wl, int addr, u32 val) wl 74 drivers/net/wireless/ti/wl1251/io.c wl1251_write32(wl, wl1251_translate_mem_addr(wl, addr), val); wl 77 drivers/net/wireless/ti/wl1251/io.c u32 wl1251_reg_read32(struct wl1251 *wl, int addr) wl 79 drivers/net/wireless/ti/wl1251/io.c return wl1251_read32(wl, wl1251_translate_reg_addr(wl, addr)); wl 82 drivers/net/wireless/ti/wl1251/io.c void wl1251_reg_write32(struct wl1251 *wl, int addr, u32 val) wl 84 drivers/net/wireless/ti/wl1251/io.c wl1251_write32(wl, wl1251_translate_reg_addr(wl, addr), val); wl 120 drivers/net/wireless/ti/wl1251/io.c void wl1251_set_partition(struct wl1251 *wl, wl 172 drivers/net/wireless/ti/wl1251/io.c wl->physical_mem_addr = mem_start; wl 173 drivers/net/wireless/ti/wl1251/io.c wl->physical_reg_addr = reg_start; wl 175 drivers/net/wireless/ti/wl1251/io.c wl->virtual_mem_addr = 0; wl 176 drivers/net/wireless/ti/wl1251/io.c wl->virtual_reg_addr = mem_size; wl 178 drivers/net/wireless/ti/wl1251/io.c wl->if_ops->write(wl, HW_ACCESS_PART0_SIZE_ADDR, partition, wl 23 drivers/net/wireless/ti/wl1251/io.h static inline u32 wl1251_read32(struct wl1251 *wl, int addr) wl 25 drivers/net/wireless/ti/wl1251/io.h wl->if_ops->read(wl, addr, &wl->buffer_32, sizeof(wl->buffer_32)); wl 27 drivers/net/wireless/ti/wl1251/io.h return le32_to_cpu(wl->buffer_32); wl 30 drivers/net/wireless/ti/wl1251/io.h static inline void wl1251_write32(struct wl1251 *wl, int addr, u32 val) wl 32 drivers/net/wireless/ti/wl1251/io.h wl->buffer_32 = cpu_to_le32(val); wl 33 drivers/net/wireless/ti/wl1251/io.h wl->if_ops->write(wl, addr, &wl->buffer_32, sizeof(wl->buffer_32)); wl 36 drivers/net/wireless/ti/wl1251/io.h static inline u32 wl1251_read_elp(struct wl1251 *wl, int addr) wl 40 drivers/net/wireless/ti/wl1251/io.h if (wl->if_ops->read_elp) wl 41 drivers/net/wireless/ti/wl1251/io.h wl->if_ops->read_elp(wl, addr, &response); wl 43 drivers/net/wireless/ti/wl1251/io.h wl->if_ops->read(wl, addr, &response, sizeof(u32)); wl 48 drivers/net/wireless/ti/wl1251/io.h static inline void wl1251_write_elp(struct wl1251 *wl, int addr, u32 val) wl 50 drivers/net/wireless/ti/wl1251/io.h if (wl->if_ops->write_elp) wl 51 drivers/net/wireless/ti/wl1251/io.h wl->if_ops->write_elp(wl, addr, val); wl 53 drivers/net/wireless/ti/wl1251/io.h wl->if_ops->write(wl, addr, &val, sizeof(u32)); wl 57 drivers/net/wireless/ti/wl1251/io.h void wl1251_mem_read(struct wl1251 *wl, int addr, void *buf, size_t len); wl 58 drivers/net/wireless/ti/wl1251/io.h void wl1251_mem_write(struct wl1251 *wl, int addr, void *buf, size_t len); wl 59 drivers/net/wireless/ti/wl1251/io.h u32 wl1251_mem_read32(struct wl1251 *wl, int addr); wl 60 drivers/net/wireless/ti/wl1251/io.h void wl1251_mem_write32(struct wl1251 *wl, int addr, u32 val); wl 62 drivers/net/wireless/ti/wl1251/io.h u32 wl1251_reg_read32(struct wl1251 *wl, int addr); wl 63 drivers/net/wireless/ti/wl1251/io.h void wl1251_reg_write32(struct wl1251 *wl, int addr, u32 val); wl 65 drivers/net/wireless/ti/wl1251/io.h void wl1251_set_partition(struct wl1251 *wl, wl 32 drivers/net/wireless/ti/wl1251/main.c void wl1251_enable_interrupts(struct wl1251 *wl) wl 34 drivers/net/wireless/ti/wl1251/main.c wl->if_ops->enable_irq(wl); wl 37 drivers/net/wireless/ti/wl1251/main.c void wl1251_disable_interrupts(struct wl1251 *wl) wl 39 drivers/net/wireless/ti/wl1251/main.c wl->if_ops->disable_irq(wl); wl 42 drivers/net/wireless/ti/wl1251/main.c static int wl1251_power_off(struct wl1251 *wl) wl 44 drivers/net/wireless/ti/wl1251/main.c return wl->if_ops->power(wl, false); wl 47 drivers/net/wireless/ti/wl1251/main.c static int wl1251_power_on(struct wl1251 *wl) wl 49 drivers/net/wireless/ti/wl1251/main.c return wl->if_ops->power(wl, true); wl 52 drivers/net/wireless/ti/wl1251/main.c static int wl1251_fetch_firmware(struct wl1251 *wl) wl 55 drivers/net/wireless/ti/wl1251/main.c struct device *dev = wiphy_dev(wl->hw->wiphy); wl 72 drivers/net/wireless/ti/wl1251/main.c wl->fw_len = fw->size; wl 73 drivers/net/wireless/ti/wl1251/main.c wl->fw = vmalloc(wl->fw_len); wl 75 drivers/net/wireless/ti/wl1251/main.c if (!wl->fw) { wl 81 drivers/net/wireless/ti/wl1251/main.c memcpy(wl->fw, fw->data, wl->fw_len); wl 91 drivers/net/wireless/ti/wl1251/main.c static int wl1251_fetch_nvs(struct wl1251 *wl) wl 94 drivers/net/wireless/ti/wl1251/main.c struct device *dev = wiphy_dev(wl->hw->wiphy); wl 111 drivers/net/wireless/ti/wl1251/main.c wl->nvs = kmemdup(fw->data, fw->size, GFP_KERNEL); wl 113 drivers/net/wireless/ti/wl1251/main.c if (!wl->nvs) { wl 119 drivers/net/wireless/ti/wl1251/main.c wl->nvs_len = fw->size; wl 129 drivers/net/wireless/ti/wl1251/main.c static void wl1251_fw_wakeup(struct wl1251 *wl) wl 134 drivers/net/wireless/ti/wl1251/main.c wl1251_write_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR, elp_reg); wl 135 drivers/net/wireless/ti/wl1251/main.c elp_reg = wl1251_read_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR); wl 141 drivers/net/wireless/ti/wl1251/main.c static int wl1251_chip_wakeup(struct wl1251 *wl) wl 145 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_power_on(wl); wl 150 drivers/net/wireless/ti/wl1251/main.c wl->if_ops->reset(wl); wl 154 drivers/net/wireless/ti/wl1251/main.c wl1251_set_partition(wl, wl 161 drivers/net/wireless/ti/wl1251/main.c wl1251_fw_wakeup(wl); wl 166 drivers/net/wireless/ti/wl1251/main.c wl->chip_id = wl1251_reg_read32(wl, CHIP_ID_B); wl 170 drivers/net/wireless/ti/wl1251/main.c switch (wl->chip_id) { wl 173 drivers/net/wireless/ti/wl1251/main.c wl->chip_id); wl 177 drivers/net/wireless/ti/wl1251/main.c wl->chip_id); wl 181 drivers/net/wireless/ti/wl1251/main.c wl1251_error("unsupported chip id: 0x%x", wl->chip_id); wl 186 drivers/net/wireless/ti/wl1251/main.c if (wl->fw == NULL) { wl 187 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_fetch_firmware(wl); wl 200 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = wl 204 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 208 drivers/net/wireless/ti/wl1251/main.c if (wl->state == WL1251_STATE_OFF) wl 211 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_elp_wakeup(wl); wl 215 drivers/net/wireless/ti/wl1251/main.c wl1251_reg_write32(wl, ACX_REG_INTERRUPT_MASK, WL1251_ACX_INTR_ALL); wl 217 drivers/net/wireless/ti/wl1251/main.c intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_CLEAR); wl 221 drivers/net/wireless/ti/wl1251/main.c if (wl->data_path) { wl 222 drivers/net/wireless/ti/wl1251/main.c wl->rx_counter = wl1251_mem_read32( wl 223 drivers/net/wireless/ti/wl1251/main.c wl, wl->data_path->rx_control_addr); wl 226 drivers/net/wireless/ti/wl1251/main.c switch ((wl->rx_counter - wl->rx_handled) & 0xf) { wl 246 drivers/net/wireless/ti/wl1251/main.c wl->rx_counter - wl->rx_handled); wl 250 drivers/net/wireless/ti/wl1251/main.c wl->rx_handled = wl->rx_counter; wl 253 drivers/net/wireless/ti/wl1251/main.c wl->rx_counter); wl 256 drivers/net/wireless/ti/wl1251/main.c intr &= wl->intr_mask; wl 265 drivers/net/wireless/ti/wl1251/main.c wl1251_rx(wl); wl 270 drivers/net/wireless/ti/wl1251/main.c wl1251_rx(wl); wl 275 drivers/net/wireless/ti/wl1251/main.c wl1251_tx_complete(wl); wl 280 drivers/net/wireless/ti/wl1251/main.c wl1251_event_handle(wl, 0); wl 285 drivers/net/wireless/ti/wl1251/main.c wl1251_event_handle(wl, 1); wl 295 drivers/net/wireless/ti/wl1251/main.c intr = wl1251_reg_read32(wl, ACX_REG_INTERRUPT_CLEAR); wl 299 drivers/net/wireless/ti/wl1251/main.c wl1251_reg_write32(wl, ACX_REG_INTERRUPT_MASK, ~(wl->intr_mask)); wl 300 drivers/net/wireless/ti/wl1251/main.c wl1251_ps_elp_sleep(wl); wl 303 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 306 drivers/net/wireless/ti/wl1251/main.c static int wl1251_join(struct wl1251 *wl, u8 bss_type, u8 channel, wl 311 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_frame_rates(wl, DEFAULT_HW_GEN_TX_RATE, wl 313 drivers/net/wireless/ti/wl1251/main.c wl->tx_mgmt_frm_rate, wl 314 drivers/net/wireless/ti/wl1251/main.c wl->tx_mgmt_frm_mod); wl 322 drivers/net/wireless/ti/wl1251/main.c if (is_zero_ether_addr(wl->bssid)) wl 323 drivers/net/wireless/ti/wl1251/main.c wl->rx_config &= ~CFG_BSSID_FILTER_EN; wl 325 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_join(wl, bss_type, channel, beacon_interval, wl 330 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_event_wait(wl, JOIN_EVENT_COMPLETE_ID, 100); wl 342 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 345 drivers/net/wireless/ti/wl1251/main.c skb_queue_tail(&wl->tx_queue, skb); wl 352 drivers/net/wireless/ti/wl1251/main.c ieee80211_queue_work(wl->hw, &wl->tx_work); wl 358 drivers/net/wireless/ti/wl1251/main.c if (skb_queue_len(&wl->tx_queue) >= WL1251_TX_QUEUE_HIGH_WATERMARK) { wl 361 drivers/net/wireless/ti/wl1251/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 362 drivers/net/wireless/ti/wl1251/main.c ieee80211_stop_queues(wl->hw); wl 363 drivers/net/wireless/ti/wl1251/main.c wl->tx_queue_stopped = true; wl 364 drivers/net/wireless/ti/wl1251/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 370 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 376 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 378 drivers/net/wireless/ti/wl1251/main.c if (wl->state != WL1251_STATE_OFF) { wl 380 drivers/net/wireless/ti/wl1251/main.c wl->state); wl 385 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_chip_wakeup(wl); wl 389 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_boot(wl); wl 393 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_hw_init(wl); wl 397 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_station_id(wl); wl 401 drivers/net/wireless/ti/wl1251/main.c wl->state = WL1251_STATE_ON; wl 403 drivers/net/wireless/ti/wl1251/main.c wl1251_info("firmware booted (%s)", wl->fw_ver); wl 406 drivers/net/wireless/ti/wl1251/main.c wiphy->hw_version = wl->chip_id; wl 407 drivers/net/wireless/ti/wl1251/main.c strncpy(wiphy->fw_version, wl->fw_ver, sizeof(wiphy->fw_version)); wl 411 drivers/net/wireless/ti/wl1251/main.c wl1251_power_off(wl); wl 413 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 420 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 426 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 428 drivers/net/wireless/ti/wl1251/main.c WARN_ON(wl->state != WL1251_STATE_ON); wl 430 drivers/net/wireless/ti/wl1251/main.c if (wl->scanning) { wl 435 drivers/net/wireless/ti/wl1251/main.c ieee80211_scan_completed(wl->hw, &info); wl 436 drivers/net/wireless/ti/wl1251/main.c wl->scanning = false; wl 439 drivers/net/wireless/ti/wl1251/main.c wl->state = WL1251_STATE_OFF; wl 441 drivers/net/wireless/ti/wl1251/main.c wl1251_disable_interrupts(wl); wl 443 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 445 drivers/net/wireless/ti/wl1251/main.c cancel_work_sync(&wl->irq_work); wl 446 drivers/net/wireless/ti/wl1251/main.c cancel_work_sync(&wl->tx_work); wl 447 drivers/net/wireless/ti/wl1251/main.c cancel_delayed_work_sync(&wl->elp_work); wl 449 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 452 drivers/net/wireless/ti/wl1251/main.c wl1251_tx_flush(wl); wl 453 drivers/net/wireless/ti/wl1251/main.c wl1251_power_off(wl); wl 455 drivers/net/wireless/ti/wl1251/main.c eth_zero_addr(wl->bssid); wl 456 drivers/net/wireless/ti/wl1251/main.c wl->listen_int = 1; wl 457 drivers/net/wireless/ti/wl1251/main.c wl->bss_type = MAX_BSS_TYPE; wl 459 drivers/net/wireless/ti/wl1251/main.c wl->data_in_count = 0; wl 460 drivers/net/wireless/ti/wl1251/main.c wl->rx_counter = 0; wl 461 drivers/net/wireless/ti/wl1251/main.c wl->rx_handled = 0; wl 462 drivers/net/wireless/ti/wl1251/main.c wl->rx_current_buffer = 0; wl 463 drivers/net/wireless/ti/wl1251/main.c wl->rx_last_id = 0; wl 464 drivers/net/wireless/ti/wl1251/main.c wl->next_tx_complete = 0; wl 465 drivers/net/wireless/ti/wl1251/main.c wl->elp = false; wl 466 drivers/net/wireless/ti/wl1251/main.c wl->station_mode = STATION_ACTIVE_MODE; wl 467 drivers/net/wireless/ti/wl1251/main.c wl->psm_entry_retry = 0; wl 468 drivers/net/wireless/ti/wl1251/main.c wl->tx_queue_stopped = false; wl 469 drivers/net/wireless/ti/wl1251/main.c wl->power_level = WL1251_DEFAULT_POWER_LEVEL; wl 470 drivers/net/wireless/ti/wl1251/main.c wl->rssi_thold = 0; wl 471 drivers/net/wireless/ti/wl1251/main.c wl->channel = WL1251_DEFAULT_CHANNEL; wl 472 drivers/net/wireless/ti/wl1251/main.c wl->monitor_present = false; wl 473 drivers/net/wireless/ti/wl1251/main.c wl->joined = false; wl 475 drivers/net/wireless/ti/wl1251/main.c wl1251_debugfs_reset(wl); wl 477 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 483 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 493 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 494 drivers/net/wireless/ti/wl1251/main.c if (wl->vif) { wl 499 drivers/net/wireless/ti/wl1251/main.c wl->vif = vif; wl 503 drivers/net/wireless/ti/wl1251/main.c wl->bss_type = BSS_TYPE_STA_BSS; wl 506 drivers/net/wireless/ti/wl1251/main.c wl->bss_type = BSS_TYPE_IBSS; wl 513 drivers/net/wireless/ti/wl1251/main.c if (!ether_addr_equal_unaligned(wl->mac_addr, vif->addr)) { wl 514 drivers/net/wireless/ti/wl1251/main.c memcpy(wl->mac_addr, vif->addr, ETH_ALEN); wl 515 drivers/net/wireless/ti/wl1251/main.c SET_IEEE80211_PERM_ADDR(wl->hw, wl->mac_addr); wl 516 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_station_id(wl); wl 522 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 529 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 531 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 533 drivers/net/wireless/ti/wl1251/main.c wl->vif = NULL; wl 534 drivers/net/wireless/ti/wl1251/main.c eth_zero_addr(wl->bssid); wl 535 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 538 drivers/net/wireless/ti/wl1251/main.c static int wl1251_build_null_data(struct wl1251 *wl) wl 545 drivers/net/wireless/ti/wl1251/main.c if (wl->bss_type == BSS_TYPE_IBSS) { wl 549 drivers/net/wireless/ti/wl1251/main.c skb = ieee80211_nullfunc_get(wl->hw, wl->vif, false); wl 556 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_template_set(wl, CMD_NULL_DATA, ptr, size); wl 566 drivers/net/wireless/ti/wl1251/main.c static int wl1251_build_qos_null_data(struct wl1251 *wl) wl 572 drivers/net/wireless/ti/wl1251/main.c memcpy(template.addr1, wl->bssid, ETH_ALEN); wl 573 drivers/net/wireless/ti/wl1251/main.c memcpy(template.addr2, wl->mac_addr, ETH_ALEN); wl 574 drivers/net/wireless/ti/wl1251/main.c memcpy(template.addr3, wl->bssid, ETH_ALEN); wl 583 drivers/net/wireless/ti/wl1251/main.c return wl1251_cmd_template_set(wl, CMD_QOS_NULL_DATA, &template, wl 587 drivers/net/wireless/ti/wl1251/main.c static bool wl1251_can_do_pm(struct ieee80211_conf *conf, struct wl1251 *wl) wl 589 drivers/net/wireless/ti/wl1251/main.c return (conf->flags & IEEE80211_CONF_PS) && !wl->monitor_present; wl 594 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 608 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 610 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_elp_wakeup(wl); wl 618 drivers/net/wireless/ti/wl1251/main.c wl->monitor_present = true; wl 621 drivers/net/wireless/ti/wl1251/main.c wl->monitor_present = false; wl 625 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_feature_cfg(wl, mode); wl 630 drivers/net/wireless/ti/wl1251/main.c if (channel != wl->channel) { wl 631 drivers/net/wireless/ti/wl1251/main.c wl->channel = channel; wl 640 drivers/net/wireless/ti/wl1251/main.c if (wl->vif == NULL) { wl 641 drivers/net/wireless/ti/wl1251/main.c wl->joined = false; wl 642 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_data_path_rx(wl, wl->channel, 1); wl 644 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_join(wl, wl->bss_type, wl->channel, wl 645 drivers/net/wireless/ti/wl1251/main.c wl->beacon_int, wl->dtim_period); wl 651 drivers/net/wireless/ti/wl1251/main.c if (wl1251_can_do_pm(conf, wl) && !wl->psm_requested) { wl 654 drivers/net/wireless/ti/wl1251/main.c wl->psm_requested = true; wl 656 drivers/net/wireless/ti/wl1251/main.c wl->dtim_period = conf->ps_dtim_period; wl 658 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_wr_tbtt_and_dtim(wl, wl->beacon_int, wl 659 drivers/net/wireless/ti/wl1251/main.c wl->dtim_period); wl 664 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_set_mode(wl, STATION_POWER_SAVE_MODE); wl 667 drivers/net/wireless/ti/wl1251/main.c } else if (!wl1251_can_do_pm(conf, wl) && wl->psm_requested) { wl 670 drivers/net/wireless/ti/wl1251/main.c wl->psm_requested = false; wl 672 drivers/net/wireless/ti/wl1251/main.c if (wl->station_mode != STATION_ACTIVE_MODE) { wl 673 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE); wl 679 drivers/net/wireless/ti/wl1251/main.c if (changed & IEEE80211_CONF_CHANGE_IDLE && !wl->scanning) { wl 681 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_set_mode(wl, STATION_IDLE); wl 685 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE); wl 688 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_join(wl, wl->bss_type, wl->channel, wl 689 drivers/net/wireless/ti/wl1251/main.c wl->beacon_int, wl->dtim_period); wl 695 drivers/net/wireless/ti/wl1251/main.c if (conf->power_level != wl->power_level) { wl 696 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_tx_power(wl, conf->power_level); wl 700 drivers/net/wireless/ti/wl1251/main.c wl->power_level = conf->power_level; wl 704 drivers/net/wireless/ti/wl1251/main.c wl1251_ps_elp_sleep(wl); wl 707 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 723 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 725 drivers/net/wireless/ti/wl1251/main.c if (unlikely(wl->state == WL1251_STATE_OFF)) wl 762 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 776 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 778 drivers/net/wireless/ti/wl1251/main.c wl->rx_config = WL1251_DEFAULT_RX_CONFIG; wl 779 drivers/net/wireless/ti/wl1251/main.c wl->rx_filter = WL1251_DEFAULT_RX_FILTER; wl 786 drivers/net/wireless/ti/wl1251/main.c wl->rx_config &= ~CFG_MC_FILTER_EN; wl 788 drivers/net/wireless/ti/wl1251/main.c wl->rx_filter |= CFG_RX_FCS_ERROR; wl 790 drivers/net/wireless/ti/wl1251/main.c wl->rx_config &= ~CFG_BSSID_FILTER_EN; wl 791 drivers/net/wireless/ti/wl1251/main.c wl->rx_config &= ~CFG_SSID_FILTER_EN; wl 794 drivers/net/wireless/ti/wl1251/main.c wl->rx_filter |= CFG_RX_CTL_EN; wl 795 drivers/net/wireless/ti/wl1251/main.c if (*total & FIF_OTHER_BSS || is_zero_ether_addr(wl->bssid)) wl 796 drivers/net/wireless/ti/wl1251/main.c wl->rx_config &= ~CFG_BSSID_FILTER_EN; wl 798 drivers/net/wireless/ti/wl1251/main.c wl->rx_filter |= CFG_RX_PREQ_EN; wl 800 drivers/net/wireless/ti/wl1251/main.c if (wl->state == WL1251_STATE_OFF) wl 803 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_elp_wakeup(wl); wl 808 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_group_address_tbl(wl, false, NULL, 0); wl 810 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_group_address_tbl(wl, fp->enabled, wl 817 drivers/net/wireless/ti/wl1251/main.c wl1251_acx_rx_config(wl, wl->rx_config, wl->rx_filter); wl 819 drivers/net/wireless/ti/wl1251/main.c wl1251_ps_elp_sleep(wl); wl 822 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 827 drivers/net/wireless/ti/wl1251/main.c static int wl1251_set_key_type(struct wl1251 *wl, wl 871 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 901 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 905 drivers/net/wireless/ti/wl1251/main.c if (wl->monitor_present) { wl 919 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_elp_wakeup(wl); wl 923 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_set_key_type(wl, wl_cmd, cmd, key, addr); wl 954 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_send(wl, CMD_SET_KEYS, wl_cmd, sizeof(*wl_cmd)); wl 961 drivers/net/wireless/ti/wl1251/main.c wl1251_ps_elp_sleep(wl); wl 964 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 977 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 990 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 992 drivers/net/wireless/ti/wl1251/main.c if (wl->scanning) { wl 998 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_elp_wakeup(wl); wl 1003 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_set_mode(wl, STATION_ACTIVE_MODE); wl 1006 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_join(wl, wl->bss_type, wl->channel, wl 1007 drivers/net/wireless/ti/wl1251/main.c wl->beacon_int, wl->dtim_period); wl 1012 drivers/net/wireless/ti/wl1251/main.c skb = ieee80211_probereq_get(wl->hw, wl->vif->addr, ssid, ssid_len, wl 1021 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_template_set(wl, CMD_PROBE_REQ, skb->data, wl 1027 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_trigger_scan_to(wl, 0); wl 1031 drivers/net/wireless/ti/wl1251/main.c wl->scanning = true; wl 1033 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_scan(wl, ssid, ssid_len, req->channels, wl 1037 drivers/net/wireless/ti/wl1251/main.c wl->scanning = false; wl 1044 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_set_mode(wl, STATION_IDLE); wl 1046 drivers/net/wireless/ti/wl1251/main.c wl1251_ps_elp_sleep(wl); wl 1049 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 1056 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 1059 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 1061 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_elp_wakeup(wl); wl 1065 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_rts_threshold(wl, (u16) value); wl 1069 drivers/net/wireless/ti/wl1251/main.c wl1251_ps_elp_sleep(wl); wl 1072 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 1082 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 1089 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 1091 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_elp_wakeup(wl); wl 1096 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_low_rssi(wl, bss_conf->cqm_rssi_thold, wl 1102 drivers/net/wireless/ti/wl1251/main.c wl->rssi_thold = bss_conf->cqm_rssi_thold; wl 1106 drivers/net/wireless/ti/wl1251/main.c memcmp(wl->bssid, bss_conf->bssid, ETH_ALEN)) { wl 1107 drivers/net/wireless/ti/wl1251/main.c memcpy(wl->bssid, bss_conf->bssid, ETH_ALEN); wl 1109 drivers/net/wireless/ti/wl1251/main.c if (!is_zero_ether_addr(wl->bssid)) { wl 1110 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_build_null_data(wl); wl 1114 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_build_qos_null_data(wl); wl 1118 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_join(wl, wl->bss_type, wl->channel, wl 1119 drivers/net/wireless/ti/wl1251/main.c wl->beacon_int, wl->dtim_period); wl 1127 drivers/net/wireless/ti/wl1251/main.c wl->beacon_int = bss_conf->beacon_int; wl 1129 drivers/net/wireless/ti/wl1251/main.c skb = ieee80211_pspoll_get(wl->hw, wl->vif); wl 1133 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_template_set(wl, CMD_PS_POLL, wl 1140 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_aid(wl, bss_conf->aid); wl 1145 drivers/net/wireless/ti/wl1251/main.c wl->beacon_int = WL1251_DEFAULT_BEACON_INT; wl 1146 drivers/net/wireless/ti/wl1251/main.c wl->dtim_period = WL1251_DEFAULT_DTIM_PERIOD; wl 1151 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_slot(wl, SLOT_TIME_SHORT); wl 1153 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_slot(wl, SLOT_TIME_LONG); wl 1162 drivers/net/wireless/ti/wl1251/main.c wl1251_acx_set_preamble(wl, ACX_PREAMBLE_SHORT); wl 1164 drivers/net/wireless/ti/wl1251/main.c wl1251_acx_set_preamble(wl, ACX_PREAMBLE_LONG); wl 1169 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_cts_protect(wl, CTSPROTECT_ENABLE); wl 1171 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_cts_protect(wl, CTSPROTECT_DISABLE); wl 1180 drivers/net/wireless/ti/wl1251/main.c WARN_ON(wl->bss_type != BSS_TYPE_STA_BSS); wl 1183 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_arp_ip_filter(wl, enable, addr); wl 1193 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_template_set(wl, CMD_BEACON, beacon->data, wl 1201 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_cmd_template_set(wl, CMD_PROBE_RESP, beacon->data, wl 1209 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_join(wl, wl->bss_type, wl->channel, wl 1210 drivers/net/wireless/ti/wl1251/main.c wl->beacon_int, wl->dtim_period); wl 1217 drivers/net/wireless/ti/wl1251/main.c wl1251_ps_elp_sleep(wl); wl 1220 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 1289 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 1292 drivers/net/wireless/ti/wl1251/main.c mutex_lock(&wl->mutex); wl 1296 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_ps_elp_wakeup(wl); wl 1301 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_ac_cfg(wl, wl1251_tx_get_queue(queue), wl 1312 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_acx_tid_cfg(wl, wl1251_tx_get_queue(queue), wl 1320 drivers/net/wireless/ti/wl1251/main.c wl1251_ps_elp_sleep(wl); wl 1323 drivers/net/wireless/ti/wl1251/main.c mutex_unlock(&wl->mutex); wl 1331 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl = hw->priv; wl 1339 drivers/net/wireless/ti/wl1251/main.c survey->noise = wl->noise; wl 1369 drivers/net/wireless/ti/wl1251/main.c static int wl1251_read_eeprom_byte(struct wl1251 *wl, off_t offset, u8 *data) wl 1373 drivers/net/wireless/ti/wl1251/main.c wl1251_reg_write32(wl, EE_ADDR, offset); wl 1374 drivers/net/wireless/ti/wl1251/main.c wl1251_reg_write32(wl, EE_CTL, EE_CTL_READ); wl 1379 drivers/net/wireless/ti/wl1251/main.c if (!(wl1251_reg_read32(wl, EE_CTL) & EE_CTL_READ)) wl 1388 drivers/net/wireless/ti/wl1251/main.c *data = wl1251_reg_read32(wl, EE_DATA); wl 1392 drivers/net/wireless/ti/wl1251/main.c static int wl1251_read_eeprom(struct wl1251 *wl, off_t offset, wl 1398 drivers/net/wireless/ti/wl1251/main.c wl1251_reg_write32(wl, EE_START, 0); wl 1401 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_read_eeprom_byte(wl, offset + i, &data[i]); wl 1409 drivers/net/wireless/ti/wl1251/main.c static int wl1251_read_eeprom_mac(struct wl1251 *wl) wl 1414 drivers/net/wireless/ti/wl1251/main.c wl1251_set_partition(wl, 0, 0, REGISTERS_BASE, REGISTERS_DOWN_SIZE); wl 1416 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_read_eeprom(wl, 0x1c, mac, sizeof(mac)); wl 1424 drivers/net/wireless/ti/wl1251/main.c wl->mac_addr[i] = mac[ETH_ALEN - i - 1]; wl 1434 drivers/net/wireless/ti/wl1251/main.c static int wl1251_check_nvs_mac(struct wl1251 *wl) wl 1436 drivers/net/wireless/ti/wl1251/main.c if (wl->nvs_len < 0x24) wl 1440 drivers/net/wireless/ti/wl1251/main.c if (wl->nvs[NVS_OFF_MAC_LEN] != 2 || wl 1441 drivers/net/wireless/ti/wl1251/main.c wl->nvs[NVS_OFF_MAC_ADDR_LO] != 0x6d || wl 1442 drivers/net/wireless/ti/wl1251/main.c wl->nvs[NVS_OFF_MAC_ADDR_HI] != 0x54) wl 1448 drivers/net/wireless/ti/wl1251/main.c static int wl1251_read_nvs_mac(struct wl1251 *wl) wl 1453 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_check_nvs_mac(wl); wl 1459 drivers/net/wireless/ti/wl1251/main.c mac[i] = wl->nvs[NVS_OFF_MAC_DATA + ETH_ALEN - i - 1]; wl 1465 drivers/net/wireless/ti/wl1251/main.c memcpy(wl->mac_addr, mac, ETH_ALEN); wl 1469 drivers/net/wireless/ti/wl1251/main.c static int wl1251_write_nvs_mac(struct wl1251 *wl) wl 1473 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_check_nvs_mac(wl); wl 1479 drivers/net/wireless/ti/wl1251/main.c wl->nvs[NVS_OFF_MAC_DATA + i] = wl->mac_addr[ETH_ALEN - i - 1]; wl 1484 drivers/net/wireless/ti/wl1251/main.c static int wl1251_register_hw(struct wl1251 *wl) wl 1488 drivers/net/wireless/ti/wl1251/main.c if (wl->mac80211_registered) wl 1491 drivers/net/wireless/ti/wl1251/main.c SET_IEEE80211_PERM_ADDR(wl->hw, wl->mac_addr); wl 1493 drivers/net/wireless/ti/wl1251/main.c ret = ieee80211_register_hw(wl->hw); wl 1499 drivers/net/wireless/ti/wl1251/main.c wl->mac80211_registered = true; wl 1506 drivers/net/wireless/ti/wl1251/main.c int wl1251_init_ieee80211(struct wl1251 *wl) wl 1511 drivers/net/wireless/ti/wl1251/main.c wl->hw->extra_tx_headroom = sizeof(struct tx_double_buffer_desc) wl 1517 drivers/net/wireless/ti/wl1251/main.c ieee80211_hw_set(wl->hw, SIGNAL_DBM); wl 1518 drivers/net/wireless/ti/wl1251/main.c ieee80211_hw_set(wl->hw, SUPPORTS_PS); wl 1520 drivers/net/wireless/ti/wl1251/main.c wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | wl 1522 drivers/net/wireless/ti/wl1251/main.c wl->hw->wiphy->max_scan_ssids = 1; wl 1523 drivers/net/wireless/ti/wl1251/main.c wl->hw->wiphy->bands[NL80211_BAND_2GHZ] = &wl1251_band_2ghz; wl 1525 drivers/net/wireless/ti/wl1251/main.c wl->hw->queues = 4; wl 1527 drivers/net/wireless/ti/wl1251/main.c if (wl->nvs == NULL && !wl->use_eeprom) { wl 1528 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_fetch_nvs(wl); wl 1533 drivers/net/wireless/ti/wl1251/main.c if (wl->use_eeprom) wl 1534 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_read_eeprom_mac(wl); wl 1536 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_read_nvs_mac(wl); wl 1538 drivers/net/wireless/ti/wl1251/main.c if (ret == 0 && !is_valid_ether_addr(wl->mac_addr)) wl 1547 drivers/net/wireless/ti/wl1251/main.c memcpy(wl->mac_addr, nokia_oui, 3); wl 1548 drivers/net/wireless/ti/wl1251/main.c get_random_bytes(wl->mac_addr + 3, 3); wl 1549 drivers/net/wireless/ti/wl1251/main.c if (!wl->use_eeprom) wl 1550 drivers/net/wireless/ti/wl1251/main.c wl1251_write_nvs_mac(wl); wl 1552 drivers/net/wireless/ti/wl1251/main.c wl1251_warning("Setting random MAC address: %pM", wl->mac_addr); wl 1555 drivers/net/wireless/ti/wl1251/main.c ret = wl1251_register_hw(wl); wl 1559 drivers/net/wireless/ti/wl1251/main.c wl1251_debugfs_init(wl); wl 1572 drivers/net/wireless/ti/wl1251/main.c struct wl1251 *wl; wl 1575 drivers/net/wireless/ti/wl1251/main.c hw = ieee80211_alloc_hw(sizeof(*wl), &wl1251_ops); wl 1581 drivers/net/wireless/ti/wl1251/main.c wl = hw->priv; wl 1582 drivers/net/wireless/ti/wl1251/main.c memset(wl, 0, sizeof(*wl)); wl 1584 drivers/net/wireless/ti/wl1251/main.c wl->hw = hw; wl 1586 drivers/net/wireless/ti/wl1251/main.c wl->data_in_count = 0; wl 1588 drivers/net/wireless/ti/wl1251/main.c skb_queue_head_init(&wl->tx_queue); wl 1590 drivers/net/wireless/ti/wl1251/main.c INIT_DELAYED_WORK(&wl->elp_work, wl1251_elp_work); wl 1591 drivers/net/wireless/ti/wl1251/main.c wl->channel = WL1251_DEFAULT_CHANNEL; wl 1592 drivers/net/wireless/ti/wl1251/main.c wl->monitor_present = false; wl 1593 drivers/net/wireless/ti/wl1251/main.c wl->joined = false; wl 1594 drivers/net/wireless/ti/wl1251/main.c wl->scanning = false; wl 1595 drivers/net/wireless/ti/wl1251/main.c wl->bss_type = MAX_BSS_TYPE; wl 1596 drivers/net/wireless/ti/wl1251/main.c wl->default_key = 0; wl 1597 drivers/net/wireless/ti/wl1251/main.c wl->listen_int = 1; wl 1598 drivers/net/wireless/ti/wl1251/main.c wl->rx_counter = 0; wl 1599 drivers/net/wireless/ti/wl1251/main.c wl->rx_handled = 0; wl 1600 drivers/net/wireless/ti/wl1251/main.c wl->rx_current_buffer = 0; wl 1601 drivers/net/wireless/ti/wl1251/main.c wl->rx_last_id = 0; wl 1602 drivers/net/wireless/ti/wl1251/main.c wl->rx_config = WL1251_DEFAULT_RX_CONFIG; wl 1603 drivers/net/wireless/ti/wl1251/main.c wl->rx_filter = WL1251_DEFAULT_RX_FILTER; wl 1604 drivers/net/wireless/ti/wl1251/main.c wl->elp = false; wl 1605 drivers/net/wireless/ti/wl1251/main.c wl->station_mode = STATION_ACTIVE_MODE; wl 1606 drivers/net/wireless/ti/wl1251/main.c wl->psm_requested = false; wl 1607 drivers/net/wireless/ti/wl1251/main.c wl->psm_entry_retry = 0; wl 1608 drivers/net/wireless/ti/wl1251/main.c wl->tx_queue_stopped = false; wl 1609 drivers/net/wireless/ti/wl1251/main.c wl->power_level = WL1251_DEFAULT_POWER_LEVEL; wl 1610 drivers/net/wireless/ti/wl1251/main.c wl->rssi_thold = 0; wl 1611 drivers/net/wireless/ti/wl1251/main.c wl->beacon_int = WL1251_DEFAULT_BEACON_INT; wl 1612 drivers/net/wireless/ti/wl1251/main.c wl->dtim_period = WL1251_DEFAULT_DTIM_PERIOD; wl 1613 drivers/net/wireless/ti/wl1251/main.c wl->vif = NULL; wl 1616 drivers/net/wireless/ti/wl1251/main.c wl->tx_frames[i] = NULL; wl 1618 drivers/net/wireless/ti/wl1251/main.c wl->next_tx_complete = 0; wl 1620 drivers/net/wireless/ti/wl1251/main.c INIT_WORK(&wl->irq_work, wl1251_irq_work); wl 1621 drivers/net/wireless/ti/wl1251/main.c INIT_WORK(&wl->tx_work, wl1251_tx_work); wl 1623 drivers/net/wireless/ti/wl1251/main.c wl->state = WL1251_STATE_OFF; wl 1624 drivers/net/wireless/ti/wl1251/main.c mutex_init(&wl->mutex); wl 1625 drivers/net/wireless/ti/wl1251/main.c spin_lock_init(&wl->wl_lock); wl 1627 drivers/net/wireless/ti/wl1251/main.c wl->tx_mgmt_frm_rate = DEFAULT_HW_GEN_TX_RATE; wl 1628 drivers/net/wireless/ti/wl1251/main.c wl->tx_mgmt_frm_mod = DEFAULT_HW_GEN_MODULATION_TYPE; wl 1630 drivers/net/wireless/ti/wl1251/main.c wl->rx_descriptor = kmalloc(sizeof(*wl->rx_descriptor), GFP_KERNEL); wl 1631 drivers/net/wireless/ti/wl1251/main.c if (!wl->rx_descriptor) { wl 1641 drivers/net/wireless/ti/wl1251/main.c int wl1251_free_hw(struct wl1251 *wl) wl 1643 drivers/net/wireless/ti/wl1251/main.c ieee80211_unregister_hw(wl->hw); wl 1645 drivers/net/wireless/ti/wl1251/main.c wl1251_debugfs_exit(wl); wl 1647 drivers/net/wireless/ti/wl1251/main.c kfree(wl->target_mem_map); wl 1648 drivers/net/wireless/ti/wl1251/main.c kfree(wl->data_path); wl 1649 drivers/net/wireless/ti/wl1251/main.c vfree(wl->fw); wl 1650 drivers/net/wireless/ti/wl1251/main.c wl->fw = NULL; wl 1651 drivers/net/wireless/ti/wl1251/main.c kfree(wl->nvs); wl 1652 drivers/net/wireless/ti/wl1251/main.c wl->nvs = NULL; wl 1654 drivers/net/wireless/ti/wl1251/main.c kfree(wl->rx_descriptor); wl 1655 drivers/net/wireless/ti/wl1251/main.c wl->rx_descriptor = NULL; wl 1657 drivers/net/wireless/ti/wl1251/main.c ieee80211_free_hw(wl->hw); wl 19 drivers/net/wireless/ti/wl1251/ps.c struct wl1251 *wl; wl 22 drivers/net/wireless/ti/wl1251/ps.c wl = container_of(dwork, struct wl1251, elp_work); wl 26 drivers/net/wireless/ti/wl1251/ps.c mutex_lock(&wl->mutex); wl 28 drivers/net/wireless/ti/wl1251/ps.c if (wl->elp || wl->station_mode == STATION_ACTIVE_MODE) wl 32 drivers/net/wireless/ti/wl1251/ps.c wl1251_write_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR, ELPCTRL_SLEEP); wl 33 drivers/net/wireless/ti/wl1251/ps.c wl->elp = true; wl 36 drivers/net/wireless/ti/wl1251/ps.c mutex_unlock(&wl->mutex); wl 42 drivers/net/wireless/ti/wl1251/ps.c void wl1251_ps_elp_sleep(struct wl1251 *wl) wl 46 drivers/net/wireless/ti/wl1251/ps.c if (wl->station_mode != STATION_ACTIVE_MODE) { wl 48 drivers/net/wireless/ti/wl1251/ps.c ieee80211_queue_delayed_work(wl->hw, &wl->elp_work, delay); wl 52 drivers/net/wireless/ti/wl1251/ps.c int wl1251_ps_elp_wakeup(struct wl1251 *wl) wl 57 drivers/net/wireless/ti/wl1251/ps.c cancel_delayed_work(&wl->elp_work); wl 59 drivers/net/wireless/ti/wl1251/ps.c if (!wl->elp) wl 67 drivers/net/wireless/ti/wl1251/ps.c wl1251_write_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR, ELPCTRL_WAKE_UP); wl 69 drivers/net/wireless/ti/wl1251/ps.c elp_reg = wl1251_read_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR); wl 81 drivers/net/wireless/ti/wl1251/ps.c elp_reg = wl1251_read_elp(wl, HW_ACCESS_ELP_CTRL_REG_ADDR); wl 87 drivers/net/wireless/ti/wl1251/ps.c wl->elp = false; wl 92 drivers/net/wireless/ti/wl1251/ps.c int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode) wl 101 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_beacon_filter_opt(wl, true); wl 105 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_wake_up_conditions(wl, wl 107 drivers/net/wireless/ti/wl1251/ps.c wl->listen_int); wl 111 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_ENABLE, wl 116 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_cmd_ps_mode(wl, CHIP_POWER_SAVE_MODE); wl 120 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_ELP); wl 127 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_ELP); wl 131 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_cmd_template_set(wl, CMD_DISCONNECT, NULL, 0); wl 139 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_sleep_auth(wl, WL1251_PSM_CAM); wl 144 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_bet_enable(wl, WL1251_ACX_BET_DISABLE, wl 150 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_beacon_filter_opt(wl, false); wl 154 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_acx_wake_up_conditions(wl, wl 156 drivers/net/wireless/ti/wl1251/ps.c wl->listen_int); wl 160 drivers/net/wireless/ti/wl1251/ps.c ret = wl1251_cmd_ps_mode(wl, CHIP_ACTIVE_MODE); wl 166 drivers/net/wireless/ti/wl1251/ps.c wl->station_mode = mode; wl 15 drivers/net/wireless/ti/wl1251/ps.h int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode); wl 16 drivers/net/wireless/ti/wl1251/ps.h void wl1251_ps_elp_sleep(struct wl1251 *wl); wl 17 drivers/net/wireless/ti/wl1251/ps.h int wl1251_ps_elp_wakeup(struct wl1251 *wl); wl 20 drivers/net/wireless/ti/wl1251/rx.c static void wl1251_rx_header(struct wl1251 *wl, wl 25 drivers/net/wireless/ti/wl1251/rx.c rx_packet_ring_addr = wl->data_path->rx_packet_ring_addr; wl 26 drivers/net/wireless/ti/wl1251/rx.c if (wl->rx_current_buffer) wl 27 drivers/net/wireless/ti/wl1251/rx.c rx_packet_ring_addr += wl->data_path->rx_packet_ring_chunk_size; wl 29 drivers/net/wireless/ti/wl1251/rx.c wl1251_mem_read(wl, rx_packet_ring_addr, desc, sizeof(*desc)); wl 32 drivers/net/wireless/ti/wl1251/rx.c static void wl1251_rx_status(struct wl1251 *wl, wl 53 drivers/net/wireless/ti/wl1251/rx.c if ((wl->bss_type == BSS_TYPE_IBSS) && beacon) { wl 54 drivers/net/wireless/ti/wl1251/rx.c ret = wl1251_acx_tsf_info(wl, &mactime); wl 65 drivers/net/wireless/ti/wl1251/rx.c wl->noise = desc->rssi - desc->snr / 2; wl 72 drivers/net/wireless/ti/wl1251/rx.c if (!wl->monitor_present && (desc->flags & RX_DESC_ENCRYPTION_MASK)) { wl 133 drivers/net/wireless/ti/wl1251/rx.c static void wl1251_rx_body(struct wl1251 *wl, wl 144 drivers/net/wireless/ti/wl1251/rx.c last_id_inc = (wl->rx_last_id + 1) % (RX_MAX_PACKET_ID + 1); wl 149 drivers/net/wireless/ti/wl1251/rx.c wl->rx_last_id = curr_id; wl 151 drivers/net/wireless/ti/wl1251/rx.c wl->rx_last_id = last_id_inc; wl 154 drivers/net/wireless/ti/wl1251/rx.c rx_packet_ring_addr = wl->data_path->rx_packet_ring_addr + wl 156 drivers/net/wireless/ti/wl1251/rx.c if (wl->rx_current_buffer) wl 157 drivers/net/wireless/ti/wl1251/rx.c rx_packet_ring_addr += wl->data_path->rx_packet_ring_chunk_size; wl 166 drivers/net/wireless/ti/wl1251/rx.c wl1251_mem_read(wl, rx_packet_ring_addr, rx_buffer, length); wl 176 drivers/net/wireless/ti/wl1251/rx.c wl1251_rx_status(wl, desc, &status, beacon); wl 182 drivers/net/wireless/ti/wl1251/rx.c ieee80211_rx_ni(wl->hw, skb); wl 185 drivers/net/wireless/ti/wl1251/rx.c static void wl1251_rx_ack(struct wl1251 *wl) wl 189 drivers/net/wireless/ti/wl1251/rx.c if (wl->rx_current_buffer) { wl 197 drivers/net/wireless/ti/wl1251/rx.c wl1251_reg_write32(wl, addr, data); wl 200 drivers/net/wireless/ti/wl1251/rx.c wl->rx_current_buffer = !wl->rx_current_buffer; wl 204 drivers/net/wireless/ti/wl1251/rx.c void wl1251_rx(struct wl1251 *wl) wl 208 drivers/net/wireless/ti/wl1251/rx.c if (wl->state != WL1251_STATE_ON) wl 211 drivers/net/wireless/ti/wl1251/rx.c rx_desc = wl->rx_descriptor; wl 214 drivers/net/wireless/ti/wl1251/rx.c wl1251_rx_header(wl, rx_desc); wl 217 drivers/net/wireless/ti/wl1251/rx.c wl1251_rx_body(wl, rx_desc); wl 220 drivers/net/wireless/ti/wl1251/rx.c wl1251_rx_ack(wl); wl 106 drivers/net/wireless/ti/wl1251/rx.h void wl1251_rx(struct wl1251 *wl); wl 35 drivers/net/wireless/ti/wl1251/sdio.c static struct sdio_func *wl_to_func(struct wl1251 *wl) wl 37 drivers/net/wireless/ti/wl1251/sdio.c struct wl1251_sdio *wl_sdio = wl->if_priv; wl 43 drivers/net/wireless/ti/wl1251/sdio.c struct wl1251 *wl = sdio_get_drvdata(func); wl 48 drivers/net/wireless/ti/wl1251/sdio.c ieee80211_queue_work(wl->hw, &wl->irq_work); wl 58 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_sdio_read(struct wl1251 *wl, int addr, wl 62 drivers/net/wireless/ti/wl1251/sdio.c struct sdio_func *func = wl_to_func(wl); wl 71 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_sdio_write(struct wl1251 *wl, int addr, wl 75 drivers/net/wireless/ti/wl1251/sdio.c struct sdio_func *func = wl_to_func(wl); wl 84 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_sdio_read_elp(struct wl1251 *wl, int addr, u32 *val) wl 87 drivers/net/wireless/ti/wl1251/sdio.c struct wl1251_sdio *wl_sdio = wl->if_priv; wl 104 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_sdio_write_elp(struct wl1251 *wl, int addr, u32 val) wl 107 drivers/net/wireless/ti/wl1251/sdio.c struct wl1251_sdio *wl_sdio = wl->if_priv; wl 120 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_sdio_reset(struct wl1251 *wl) wl 124 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_sdio_enable_irq(struct wl1251 *wl) wl 126 drivers/net/wireless/ti/wl1251/sdio.c struct sdio_func *func = wl_to_func(wl); wl 133 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_sdio_disable_irq(struct wl1251 *wl) wl 135 drivers/net/wireless/ti/wl1251/sdio.c struct sdio_func *func = wl_to_func(wl); wl 145 drivers/net/wireless/ti/wl1251/sdio.c struct wl1251 *wl = cookie; wl 147 drivers/net/wireless/ti/wl1251/sdio.c ieee80211_queue_work(wl->hw, &wl->irq_work); wl 152 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_enable_line_irq(struct wl1251 *wl) wl 154 drivers/net/wireless/ti/wl1251/sdio.c return enable_irq(wl->irq); wl 157 drivers/net/wireless/ti/wl1251/sdio.c static void wl1251_disable_line_irq(struct wl1251 *wl) wl 159 drivers/net/wireless/ti/wl1251/sdio.c return disable_irq(wl->irq); wl 162 drivers/net/wireless/ti/wl1251/sdio.c static int wl1251_sdio_set_power(struct wl1251 *wl, bool enable) wl 164 drivers/net/wireless/ti/wl1251/sdio.c struct sdio_func *func = wl_to_func(wl); wl 173 drivers/net/wireless/ti/wl1251/sdio.c if (gpio_is_valid(wl->power_gpio)) wl 174 drivers/net/wireless/ti/wl1251/sdio.c gpio_set_value(wl->power_gpio, true); wl 195 drivers/net/wireless/ti/wl1251/sdio.c if (gpio_is_valid(wl->power_gpio)) wl 196 drivers/net/wireless/ti/wl1251/sdio.c gpio_set_value(wl->power_gpio, false); wl 216 drivers/net/wireless/ti/wl1251/sdio.c struct wl1251 *wl; wl 225 drivers/net/wireless/ti/wl1251/sdio.c wl = hw->priv; wl 243 drivers/net/wireless/ti/wl1251/sdio.c wl->if_priv = wl_sdio; wl 244 drivers/net/wireless/ti/wl1251/sdio.c wl->if_ops = &wl1251_sdio_ops; wl 248 drivers/net/wireless/ti/wl1251/sdio.c wl->power_gpio = wl1251_board_data->power_gpio; wl 249 drivers/net/wireless/ti/wl1251/sdio.c wl->irq = wl1251_board_data->irq; wl 250 drivers/net/wireless/ti/wl1251/sdio.c wl->use_eeprom = wl1251_board_data->use_eeprom; wl 253 drivers/net/wireless/ti/wl1251/sdio.c if (gpio_is_valid(wl->power_gpio)) { wl 254 drivers/net/wireless/ti/wl1251/sdio.c ret = devm_gpio_request(&func->dev, wl->power_gpio, wl 262 drivers/net/wireless/ti/wl1251/sdio.c if (wl->irq) { wl 263 drivers/net/wireless/ti/wl1251/sdio.c irq_set_status_flags(wl->irq, IRQ_NOAUTOEN); wl 264 drivers/net/wireless/ti/wl1251/sdio.c ret = request_irq(wl->irq, wl1251_line_irq, 0, "wl1251", wl); wl 270 drivers/net/wireless/ti/wl1251/sdio.c irq_set_irq_type(wl->irq, IRQ_TYPE_EDGE_RISING); wl 283 drivers/net/wireless/ti/wl1251/sdio.c ret = wl1251_init_ieee80211(wl); wl 287 drivers/net/wireless/ti/wl1251/sdio.c sdio_set_drvdata(func, wl); wl 295 drivers/net/wireless/ti/wl1251/sdio.c if (wl->irq) wl 296 drivers/net/wireless/ti/wl1251/sdio.c free_irq(wl->irq, wl); wl 304 drivers/net/wireless/ti/wl1251/sdio.c wl1251_free_hw(wl); wl 310 drivers/net/wireless/ti/wl1251/sdio.c struct wl1251 *wl = sdio_get_drvdata(func); wl 311 drivers/net/wireless/ti/wl1251/sdio.c struct wl1251_sdio *wl_sdio = wl->if_priv; wl 316 drivers/net/wireless/ti/wl1251/sdio.c if (wl->irq) wl 317 drivers/net/wireless/ti/wl1251/sdio.c free_irq(wl->irq, wl); wl 318 drivers/net/wireless/ti/wl1251/sdio.c wl1251_free_hw(wl); wl 27 drivers/net/wireless/ti/wl1251/spi.c struct wl1251 *wl; wl 31 drivers/net/wireless/ti/wl1251/spi.c wl = cookie; wl 33 drivers/net/wireless/ti/wl1251/spi.c ieee80211_queue_work(wl->hw, &wl->irq_work); wl 38 drivers/net/wireless/ti/wl1251/spi.c static struct spi_device *wl_to_spi(struct wl1251 *wl) wl 40 drivers/net/wireless/ti/wl1251/spi.c return wl->if_priv; wl 43 drivers/net/wireless/ti/wl1251/spi.c static void wl1251_spi_reset(struct wl1251 *wl) wl 64 drivers/net/wireless/ti/wl1251/spi.c spi_sync(wl_to_spi(wl), &m); wl 71 drivers/net/wireless/ti/wl1251/spi.c static void wl1251_spi_wake(struct wl1251 *wl) wl 116 drivers/net/wireless/ti/wl1251/spi.c spi_sync(wl_to_spi(wl), &m); wl 123 drivers/net/wireless/ti/wl1251/spi.c static void wl1251_spi_reset_wake(struct wl1251 *wl) wl 125 drivers/net/wireless/ti/wl1251/spi.c wl1251_spi_reset(wl); wl 126 drivers/net/wireless/ti/wl1251/spi.c wl1251_spi_wake(wl); wl 129 drivers/net/wireless/ti/wl1251/spi.c static void wl1251_spi_read(struct wl1251 *wl, int addr, void *buf, wl 137 drivers/net/wireless/ti/wl1251/spi.c cmd = &wl->buffer_cmd; wl 138 drivers/net/wireless/ti/wl1251/spi.c busy_buf = wl->buffer_busyword; wl 161 drivers/net/wireless/ti/wl1251/spi.c spi_sync(wl_to_spi(wl), &m); wl 169 drivers/net/wireless/ti/wl1251/spi.c static void wl1251_spi_write(struct wl1251 *wl, int addr, void *buf, wl 176 drivers/net/wireless/ti/wl1251/spi.c cmd = &wl->buffer_cmd; wl 194 drivers/net/wireless/ti/wl1251/spi.c spi_sync(wl_to_spi(wl), &m); wl 200 drivers/net/wireless/ti/wl1251/spi.c static void wl1251_spi_enable_irq(struct wl1251 *wl) wl 202 drivers/net/wireless/ti/wl1251/spi.c return enable_irq(wl->irq); wl 205 drivers/net/wireless/ti/wl1251/spi.c static void wl1251_spi_disable_irq(struct wl1251 *wl) wl 207 drivers/net/wireless/ti/wl1251/spi.c return disable_irq(wl->irq); wl 210 drivers/net/wireless/ti/wl1251/spi.c static int wl1251_spi_set_power(struct wl1251 *wl, bool enable) wl 212 drivers/net/wireless/ti/wl1251/spi.c if (gpio_is_valid(wl->power_gpio)) wl 213 drivers/net/wireless/ti/wl1251/spi.c gpio_set_value(wl->power_gpio, enable); wl 232 drivers/net/wireless/ti/wl1251/spi.c struct wl1251 *wl; wl 244 drivers/net/wireless/ti/wl1251/spi.c wl = hw->priv; wl 247 drivers/net/wireless/ti/wl1251/spi.c spi_set_drvdata(spi, wl); wl 248 drivers/net/wireless/ti/wl1251/spi.c wl->if_priv = spi; wl 249 drivers/net/wireless/ti/wl1251/spi.c wl->if_ops = &wl1251_spi_ops; wl 263 drivers/net/wireless/ti/wl1251/spi.c wl->use_eeprom = of_property_read_bool(np, "ti,wl1251-has-eeprom"); wl 264 drivers/net/wireless/ti/wl1251/spi.c wl->power_gpio = of_get_named_gpio(np, "ti,power-gpio", 0); wl 266 drivers/net/wireless/ti/wl1251/spi.c wl->power_gpio = pdata->power_gpio; wl 267 drivers/net/wireless/ti/wl1251/spi.c wl->use_eeprom = pdata->use_eeprom; wl 270 drivers/net/wireless/ti/wl1251/spi.c if (wl->power_gpio == -EPROBE_DEFER) { wl 275 drivers/net/wireless/ti/wl1251/spi.c if (gpio_is_valid(wl->power_gpio)) { wl 276 drivers/net/wireless/ti/wl1251/spi.c ret = devm_gpio_request_one(&spi->dev, wl->power_gpio, wl 288 drivers/net/wireless/ti/wl1251/spi.c wl->irq = spi->irq; wl 289 drivers/net/wireless/ti/wl1251/spi.c if (wl->irq < 0) { wl 295 drivers/net/wireless/ti/wl1251/spi.c irq_set_status_flags(wl->irq, IRQ_NOAUTOEN); wl 296 drivers/net/wireless/ti/wl1251/spi.c ret = devm_request_irq(&spi->dev, wl->irq, wl1251_irq, 0, wl 297 drivers/net/wireless/ti/wl1251/spi.c DRIVER_NAME, wl); wl 303 drivers/net/wireless/ti/wl1251/spi.c irq_set_irq_type(wl->irq, IRQ_TYPE_EDGE_RISING); wl 305 drivers/net/wireless/ti/wl1251/spi.c wl->vio = devm_regulator_get(&spi->dev, "vio"); wl 306 drivers/net/wireless/ti/wl1251/spi.c if (IS_ERR(wl->vio)) { wl 307 drivers/net/wireless/ti/wl1251/spi.c ret = PTR_ERR(wl->vio); wl 312 drivers/net/wireless/ti/wl1251/spi.c ret = regulator_enable(wl->vio); wl 316 drivers/net/wireless/ti/wl1251/spi.c ret = wl1251_init_ieee80211(wl); wl 323 drivers/net/wireless/ti/wl1251/spi.c regulator_disable(wl->vio); wl 332 drivers/net/wireless/ti/wl1251/spi.c struct wl1251 *wl = spi_get_drvdata(spi); wl 334 drivers/net/wireless/ti/wl1251/spi.c wl1251_free_hw(wl); wl 335 drivers/net/wireless/ti/wl1251/spi.c regulator_disable(wl->vio); wl 19 drivers/net/wireless/ti/wl1251/tx.c static bool wl1251_tx_double_buffer_busy(struct wl1251 *wl, u32 data_out_count) wl 23 drivers/net/wireless/ti/wl1251/tx.c data_in_count = wl->data_in_count; wl 40 drivers/net/wireless/ti/wl1251/tx.c static int wl1251_tx_path_status(struct wl1251 *wl) wl 45 drivers/net/wireless/ti/wl1251/tx.c addr = wl->data_path->tx_control_addr; wl 46 drivers/net/wireless/ti/wl1251/tx.c status = wl1251_mem_read32(wl, addr); wl 48 drivers/net/wireless/ti/wl1251/tx.c busy = wl1251_tx_double_buffer_busy(wl, data_out_count); wl 56 drivers/net/wireless/ti/wl1251/tx.c static int wl1251_tx_id(struct wl1251 *wl, struct sk_buff *skb) wl 61 drivers/net/wireless/ti/wl1251/tx.c if (wl->tx_frames[i] == NULL) { wl 62 drivers/net/wireless/ti/wl1251/tx.c wl->tx_frames[i] = skb; wl 134 drivers/net/wireless/ti/wl1251/tx.c static int wl1251_tx_fill_hdr(struct wl1251 *wl, struct sk_buff *skb, wl 145 drivers/net/wireless/ti/wl1251/tx.c id = wl1251_tx_id(wl, skb); wl 153 drivers/net/wireless/ti/wl1251/tx.c rate = ieee80211_get_tx_rate(wl->hw, control); wl 167 drivers/net/wireless/ti/wl1251/tx.c static int wl1251_tx_send_packet(struct wl1251 *wl, struct sk_buff *skb, wl 216 drivers/net/wireless/ti/wl1251/tx.c wl->tx_frames[tx_hdr->id] = skb = newskb; wl 234 drivers/net/wireless/ti/wl1251/tx.c if (wl->data_in_count & 0x1) wl 235 drivers/net/wireless/ti/wl1251/tx.c addr = wl->data_path->tx_packet_ring_addr + wl 236 drivers/net/wireless/ti/wl1251/tx.c wl->data_path->tx_packet_ring_chunk_size; wl 238 drivers/net/wireless/ti/wl1251/tx.c addr = wl->data_path->tx_packet_ring_addr; wl 240 drivers/net/wireless/ti/wl1251/tx.c wl1251_mem_write(wl, addr, skb->data, len); wl 249 drivers/net/wireless/ti/wl1251/tx.c static void wl1251_tx_trigger(struct wl1251 *wl) wl 253 drivers/net/wireless/ti/wl1251/tx.c if (wl->data_in_count & 0x1) { wl 261 drivers/net/wireless/ti/wl1251/tx.c wl1251_reg_write32(wl, addr, data); wl 264 drivers/net/wireless/ti/wl1251/tx.c wl->data_in_count = (wl->data_in_count + 1) & wl 268 drivers/net/wireless/ti/wl1251/tx.c static void enable_tx_for_packet_injection(struct wl1251 *wl) wl 272 drivers/net/wireless/ti/wl1251/tx.c ret = wl1251_cmd_join(wl, BSS_TYPE_STA_BSS, wl->channel, wl 273 drivers/net/wireless/ti/wl1251/tx.c wl->beacon_int, wl->dtim_period); wl 279 drivers/net/wireless/ti/wl1251/tx.c ret = wl1251_event_wait(wl, JOIN_EVENT_COMPLETE_ID, 100); wl 285 drivers/net/wireless/ti/wl1251/tx.c wl->joined = true; wl 289 drivers/net/wireless/ti/wl1251/tx.c static int wl1251_tx_frame(struct wl1251 *wl, struct sk_buff *skb) wl 298 drivers/net/wireless/ti/wl1251/tx.c if (unlikely(wl->monitor_present)) wl 302 drivers/net/wireless/ti/wl1251/tx.c if (unlikely(wl->default_key != idx)) { wl 303 drivers/net/wireless/ti/wl1251/tx.c ret = wl1251_acx_default_key(wl, idx); wl 310 drivers/net/wireless/ti/wl1251/tx.c if ((wl->vif == NULL) && !wl->joined) wl 311 drivers/net/wireless/ti/wl1251/tx.c enable_tx_for_packet_injection(wl); wl 313 drivers/net/wireless/ti/wl1251/tx.c ret = wl1251_tx_path_status(wl); wl 317 drivers/net/wireless/ti/wl1251/tx.c ret = wl1251_tx_fill_hdr(wl, skb, info); wl 321 drivers/net/wireless/ti/wl1251/tx.c ret = wl1251_tx_send_packet(wl, skb, info); wl 325 drivers/net/wireless/ti/wl1251/tx.c wl1251_tx_trigger(wl); wl 332 drivers/net/wireless/ti/wl1251/tx.c struct wl1251 *wl = container_of(work, struct wl1251, tx_work); wl 337 drivers/net/wireless/ti/wl1251/tx.c mutex_lock(&wl->mutex); wl 339 drivers/net/wireless/ti/wl1251/tx.c if (unlikely(wl->state == WL1251_STATE_OFF)) wl 342 drivers/net/wireless/ti/wl1251/tx.c while ((skb = skb_dequeue(&wl->tx_queue))) { wl 344 drivers/net/wireless/ti/wl1251/tx.c ret = wl1251_ps_elp_wakeup(wl); wl 350 drivers/net/wireless/ti/wl1251/tx.c ret = wl1251_tx_frame(wl, skb); wl 352 drivers/net/wireless/ti/wl1251/tx.c skb_queue_head(&wl->tx_queue, skb); wl 362 drivers/net/wireless/ti/wl1251/tx.c wl1251_ps_elp_sleep(wl); wl 364 drivers/net/wireless/ti/wl1251/tx.c mutex_unlock(&wl->mutex); wl 395 drivers/net/wireless/ti/wl1251/tx.c static void wl1251_tx_packet_cb(struct wl1251 *wl, wl 403 drivers/net/wireless/ti/wl1251/tx.c skb = wl->tx_frames[result->id]; wl 417 drivers/net/wireless/ti/wl1251/tx.c wl->stats.retry_count += result->ack_failures; wl 437 drivers/net/wireless/ti/wl1251/tx.c ieee80211_tx_status(wl->hw, skb); wl 439 drivers/net/wireless/ti/wl1251/tx.c wl->tx_frames[result->id] = NULL; wl 443 drivers/net/wireless/ti/wl1251/tx.c void wl1251_tx_complete(struct wl1251 *wl) wl 449 drivers/net/wireless/ti/wl1251/tx.c if (unlikely(wl->state != WL1251_STATE_ON)) wl 453 drivers/net/wireless/ti/wl1251/tx.c wl1251_mem_read(wl, wl->data_path->tx_complete_addr, wl 456 drivers/net/wireless/ti/wl1251/tx.c result_index = wl->next_tx_complete; wl 463 drivers/net/wireless/ti/wl1251/tx.c wl1251_tx_packet_cb(wl, result_ptr); wl 476 drivers/net/wireless/ti/wl1251/tx.c queue_len = skb_queue_len(&wl->tx_queue); wl 481 drivers/net/wireless/ti/wl1251/tx.c ieee80211_queue_work(wl->hw, &wl->tx_work); wl 484 drivers/net/wireless/ti/wl1251/tx.c if (wl->tx_queue_stopped && wl 488 drivers/net/wireless/ti/wl1251/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 489 drivers/net/wireless/ti/wl1251/tx.c ieee80211_wake_queues(wl->hw); wl 490 drivers/net/wireless/ti/wl1251/tx.c wl->tx_queue_stopped = false; wl 491 drivers/net/wireless/ti/wl1251/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 500 drivers/net/wireless/ti/wl1251/tx.c if (result_index > wl->next_tx_complete) { wl 502 drivers/net/wireless/ti/wl1251/tx.c wl1251_mem_write(wl, wl 503 drivers/net/wireless/ti/wl1251/tx.c wl->data_path->tx_complete_addr + wl 504 drivers/net/wireless/ti/wl1251/tx.c (wl->next_tx_complete * wl 506 drivers/net/wireless/ti/wl1251/tx.c &result[wl->next_tx_complete], wl 511 drivers/net/wireless/ti/wl1251/tx.c } else if (result_index < wl->next_tx_complete) { wl 513 drivers/net/wireless/ti/wl1251/tx.c wl1251_mem_write(wl, wl 514 drivers/net/wireless/ti/wl1251/tx.c wl->data_path->tx_complete_addr + wl 515 drivers/net/wireless/ti/wl1251/tx.c (wl->next_tx_complete * wl 517 drivers/net/wireless/ti/wl1251/tx.c &result[wl->next_tx_complete], wl 519 drivers/net/wireless/ti/wl1251/tx.c wl->next_tx_complete) * wl 522 drivers/net/wireless/ti/wl1251/tx.c wl1251_mem_write(wl, wl 523 drivers/net/wireless/ti/wl1251/tx.c wl->data_path->tx_complete_addr, wl 527 drivers/net/wireless/ti/wl1251/tx.c wl->next_tx_complete) * wl 532 drivers/net/wireless/ti/wl1251/tx.c wl1251_mem_write(wl, wl 533 drivers/net/wireless/ti/wl1251/tx.c wl->data_path->tx_complete_addr, wl 541 drivers/net/wireless/ti/wl1251/tx.c wl->next_tx_complete = result_index; wl 545 drivers/net/wireless/ti/wl1251/tx.c void wl1251_tx_flush(struct wl1251 *wl) wl 554 drivers/net/wireless/ti/wl1251/tx.c while ((skb = skb_dequeue(&wl->tx_queue))) { wl 562 drivers/net/wireless/ti/wl1251/tx.c ieee80211_tx_status(wl->hw, skb); wl 566 drivers/net/wireless/ti/wl1251/tx.c if (wl->tx_frames[i] != NULL) { wl 567 drivers/net/wireless/ti/wl1251/tx.c skb = wl->tx_frames[i]; wl 573 drivers/net/wireless/ti/wl1251/tx.c ieee80211_tx_status(wl->hw, skb); wl 574 drivers/net/wireless/ti/wl1251/tx.c wl->tx_frames[i] = NULL; wl 214 drivers/net/wireless/ti/wl1251/tx.h void wl1251_tx_complete(struct wl1251 *wl); wl 215 drivers/net/wireless/ti/wl1251/tx.h void wl1251_tx_flush(struct wl1251 *wl); wl 248 drivers/net/wireless/ti/wl1251/wl1251.h void (*read)(struct wl1251 *wl, int addr, void *buf, size_t len); wl 249 drivers/net/wireless/ti/wl1251/wl1251.h void (*write)(struct wl1251 *wl, int addr, void *buf, size_t len); wl 250 drivers/net/wireless/ti/wl1251/wl1251.h void (*read_elp)(struct wl1251 *wl, int addr, u32 *val); wl 251 drivers/net/wireless/ti/wl1251/wl1251.h void (*write_elp)(struct wl1251 *wl, int addr, u32 val); wl 252 drivers/net/wireless/ti/wl1251/wl1251.h int (*power)(struct wl1251 *wl, bool enable); wl 253 drivers/net/wireless/ti/wl1251/wl1251.h void (*reset)(struct wl1251 *wl); wl 254 drivers/net/wireless/ti/wl1251/wl1251.h void (*enable_irq)(struct wl1251 *wl); wl 255 drivers/net/wireless/ti/wl1251/wl1251.h void (*disable_irq)(struct wl1251 *wl); wl 390 drivers/net/wireless/ti/wl1251/wl1251.h int wl1251_plt_start(struct wl1251 *wl); wl 391 drivers/net/wireless/ti/wl1251/wl1251.h int wl1251_plt_stop(struct wl1251 *wl); wl 394 drivers/net/wireless/ti/wl1251/wl1251.h int wl1251_free_hw(struct wl1251 *wl); wl 395 drivers/net/wireless/ti/wl1251/wl1251.h int wl1251_init_ieee80211(struct wl1251 *wl); wl 396 drivers/net/wireless/ti/wl1251/wl1251.h void wl1251_enable_interrupts(struct wl1251 *wl); wl 397 drivers/net/wireless/ti/wl1251/wl1251.h void wl1251_disable_interrupts(struct wl1251 *wl); wl 15 drivers/net/wireless/ti/wl12xx/acx.c int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap) wl 28 drivers/net/wireless/ti/wl12xx/acx.c ret = wl1271_cmd_configure(wl, ACX_HOST_IF_CFG_BITMAP, wl 257 drivers/net/wireless/ti/wl12xx/acx.h int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap); wl 15 drivers/net/wireless/ti/wl12xx/cmd.c int wl1271_cmd_ext_radio_parms(struct wl1271 *wl) wl 18 drivers/net/wireless/ti/wl12xx/cmd.c struct wl12xx_priv *priv = wl->priv; wl 22 drivers/net/wireless/ti/wl12xx/cmd.c if (!wl->nvs) wl 41 drivers/net/wireless/ti/wl12xx/cmd.c ret = wl1271_cmd_test(wl, ext_radio_parms, sizeof(*ext_radio_parms), 0); wl 49 drivers/net/wireless/ti/wl12xx/cmd.c int wl1271_cmd_general_parms(struct wl1271 *wl) wl 53 drivers/net/wireless/ti/wl12xx/cmd.c &((struct wl1271_nvs_file *)wl->nvs)->general_params; wl 54 drivers/net/wireless/ti/wl12xx/cmd.c struct wl12xx_priv *priv = wl->priv; wl 58 drivers/net/wireless/ti/wl12xx/cmd.c if (!wl->nvs) wl 75 drivers/net/wireless/ti/wl12xx/cmd.c if (wl->plt_mode == PLT_FEM_DETECT) wl 84 drivers/net/wireless/ti/wl12xx/cmd.c ret = wl1271_cmd_test(wl, gen_parms, sizeof(*gen_parms), answer); wl 100 drivers/net/wireless/ti/wl12xx/cmd.c if (wl->plt_mode == PLT_FEM_DETECT) wl 101 drivers/net/wireless/ti/wl12xx/cmd.c wl->fem_manuf = gp->tx_bip_fem_manufacturer; wl 106 drivers/net/wireless/ti/wl12xx/cmd.c wl->plt_mode == PLT_FEM_DETECT ? wl 116 drivers/net/wireless/ti/wl12xx/cmd.c int wl128x_cmd_general_parms(struct wl1271 *wl) wl 120 drivers/net/wireless/ti/wl12xx/cmd.c &((struct wl128x_nvs_file *)wl->nvs)->general_params; wl 121 drivers/net/wireless/ti/wl12xx/cmd.c struct wl12xx_priv *priv = wl->priv; wl 125 drivers/net/wireless/ti/wl12xx/cmd.c if (!wl->nvs) wl 142 drivers/net/wireless/ti/wl12xx/cmd.c if (wl->plt_mode == PLT_FEM_DETECT) wl 152 drivers/net/wireless/ti/wl12xx/cmd.c ret = wl1271_cmd_test(wl, gen_parms, sizeof(*gen_parms), answer); wl 168 drivers/net/wireless/ti/wl12xx/cmd.c if (wl->plt_mode == PLT_FEM_DETECT) wl 169 drivers/net/wireless/ti/wl12xx/cmd.c wl->fem_manuf = gp->tx_bip_fem_manufacturer; wl 174 drivers/net/wireless/ti/wl12xx/cmd.c wl->plt_mode == PLT_FEM_DETECT ? wl 184 drivers/net/wireless/ti/wl12xx/cmd.c int wl1271_cmd_radio_parms(struct wl1271 *wl) wl 186 drivers/net/wireless/ti/wl12xx/cmd.c struct wl1271_nvs_file *nvs = (struct wl1271_nvs_file *)wl->nvs; wl 191 drivers/net/wireless/ti/wl12xx/cmd.c if (!wl->nvs) wl 220 drivers/net/wireless/ti/wl12xx/cmd.c ret = wl1271_cmd_test(wl, radio_parms, sizeof(*radio_parms), 0); wl 228 drivers/net/wireless/ti/wl12xx/cmd.c int wl128x_cmd_radio_parms(struct wl1271 *wl) wl 230 drivers/net/wireless/ti/wl12xx/cmd.c struct wl128x_nvs_file *nvs = (struct wl128x_nvs_file *)wl->nvs; wl 235 drivers/net/wireless/ti/wl12xx/cmd.c if (!wl->nvs) wl 266 drivers/net/wireless/ti/wl12xx/cmd.c ret = wl1271_cmd_test(wl, radio_parms, sizeof(*radio_parms), 0); wl 274 drivers/net/wireless/ti/wl12xx/cmd.c int wl12xx_cmd_channel_switch(struct wl1271 *wl, wl 298 drivers/net/wireless/ti/wl12xx/cmd.c ret = wl1271_cmd_send(wl, CMD_CHANNEL_SWITCH, cmd, sizeof(*cmd), 0); wl 109 drivers/net/wireless/ti/wl12xx/cmd.h int wl1271_cmd_general_parms(struct wl1271 *wl); wl 110 drivers/net/wireless/ti/wl12xx/cmd.h int wl128x_cmd_general_parms(struct wl1271 *wl); wl 111 drivers/net/wireless/ti/wl12xx/cmd.h int wl1271_cmd_radio_parms(struct wl1271 *wl); wl 112 drivers/net/wireless/ti/wl12xx/cmd.h int wl128x_cmd_radio_parms(struct wl1271 *wl); wl 113 drivers/net/wireless/ti/wl12xx/cmd.h int wl1271_cmd_ext_radio_parms(struct wl1271 *wl); wl 114 drivers/net/wireless/ti/wl12xx/cmd.h int wl12xx_cmd_channel_switch(struct wl1271 *wl, wl 111 drivers/net/wireless/ti/wl12xx/debugfs.c int wl12xx_debugfs_add_files(struct wl1271 *wl, wl 11 drivers/net/wireless/ti/wl12xx/debugfs.h int wl12xx_debugfs_add_files(struct wl1271 *wl, wl 13 drivers/net/wireless/ti/wl12xx/event.c int wl12xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event, wl 31 drivers/net/wireless/ti/wl12xx/event.c return wlcore_cmd_wait_for_event_or_timeout(wl, local_event, timeout); wl 34 drivers/net/wireless/ti/wl12xx/event.c int wl12xx_process_mailbox_events(struct wl1271 *wl) wl 36 drivers/net/wireless/ti/wl12xx/event.c struct wl12xx_event_mailbox *mbox = wl->mbox; wl 49 drivers/net/wireless/ti/wl12xx/event.c if (wl->scan_wlvif) wl 50 drivers/net/wireless/ti/wl12xx/event.c wl12xx_scan_completed(wl, wl->scan_wlvif); wl 58 drivers/net/wireless/ti/wl12xx/event.c wlcore_scan_sched_scan_results(wl); wl 62 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_sched_scan_completed(wl, wl 65 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_soft_gemini_sense(wl, wl 69 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_beacon_loss(wl, 0xff); wl 72 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_rssi_trigger(wl, mbox->rssi_snr_trigger_metric); wl 75 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_ba_rx_constraint(wl, wl 80 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_channel_switch(wl, 0xff, wl 84 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_dummy_packet(wl); wl 91 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_max_tx_failure(wl, wl 95 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_inactive_sta(wl, wl 99 drivers/net/wireless/ti/wl12xx/event.c wlcore_event_roc_complete(wl); wl 92 drivers/net/wireless/ti/wl12xx/event.h int wl12xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event, wl 94 drivers/net/wireless/ti/wl12xx/event.h int wl12xx_process_mailbox_events(struct wl1271 *wl); wl 597 drivers/net/wireless/ti/wl12xx/main.c static int wl127x_prepare_read(struct wl1271 *wl, u32 rx_desc, u32 len) wl 601 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id != CHIP_ID_128X_PG20) { wl 602 drivers/net/wireless/ti/wl12xx/main.c struct wl1271_acx_mem_map *wl_mem_map = wl->target_mem_map; wl 603 drivers/net/wireless/ti/wl12xx/main.c struct wl12xx_priv *priv = wl->priv; wl 617 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write(wl, WL1271_SLV_REG_DATA, priv->rx_mem_addr, wl 626 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_identify_chip(struct wl1271 *wl) wl 630 drivers/net/wireless/ti/wl12xx/main.c switch (wl->chip.id) { wl 633 drivers/net/wireless/ti/wl12xx/main.c wl->chip.id); wl 635 drivers/net/wireless/ti/wl12xx/main.c wl->quirks |= WLCORE_QUIRK_LEGACY_NVS | wl 640 drivers/net/wireless/ti/wl12xx/main.c wl->sr_fw_name = WL127X_FW_NAME_SINGLE; wl 641 drivers/net/wireless/ti/wl12xx/main.c wl->mr_fw_name = WL127X_FW_NAME_MULTI; wl 642 drivers/net/wireless/ti/wl12xx/main.c memcpy(&wl->conf.mem, &wl12xx_default_priv_conf.mem_wl127x, wl 643 drivers/net/wireless/ti/wl12xx/main.c sizeof(wl->conf.mem)); wl 646 drivers/net/wireless/ti/wl12xx/main.c wl->ops->prepare_read = wl127x_prepare_read; wl 648 drivers/net/wireless/ti/wl12xx/main.c wlcore_set_min_fw_ver(wl, WL127X_CHIP_VER, wl 657 drivers/net/wireless/ti/wl12xx/main.c wl->chip.id); wl 659 drivers/net/wireless/ti/wl12xx/main.c wl->quirks |= WLCORE_QUIRK_LEGACY_NVS | wl 664 drivers/net/wireless/ti/wl12xx/main.c wl->plt_fw_name = WL127X_PLT_FW_NAME; wl 665 drivers/net/wireless/ti/wl12xx/main.c wl->sr_fw_name = WL127X_FW_NAME_SINGLE; wl 666 drivers/net/wireless/ti/wl12xx/main.c wl->mr_fw_name = WL127X_FW_NAME_MULTI; wl 667 drivers/net/wireless/ti/wl12xx/main.c memcpy(&wl->conf.mem, &wl12xx_default_priv_conf.mem_wl127x, wl 668 drivers/net/wireless/ti/wl12xx/main.c sizeof(wl->conf.mem)); wl 671 drivers/net/wireless/ti/wl12xx/main.c wl->ops->prepare_read = wl127x_prepare_read; wl 673 drivers/net/wireless/ti/wl12xx/main.c wlcore_set_min_fw_ver(wl, WL127X_CHIP_VER, wl 682 drivers/net/wireless/ti/wl12xx/main.c wl->chip.id); wl 683 drivers/net/wireless/ti/wl12xx/main.c wl->plt_fw_name = WL128X_PLT_FW_NAME; wl 684 drivers/net/wireless/ti/wl12xx/main.c wl->sr_fw_name = WL128X_FW_NAME_SINGLE; wl 685 drivers/net/wireless/ti/wl12xx/main.c wl->mr_fw_name = WL128X_FW_NAME_MULTI; wl 688 drivers/net/wireless/ti/wl12xx/main.c wl->quirks |= WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN | wl 694 drivers/net/wireless/ti/wl12xx/main.c wlcore_set_min_fw_ver(wl, WL128X_CHIP_VER, wl 702 drivers/net/wireless/ti/wl12xx/main.c wl1271_warning("unsupported chip id: 0x%x", wl->chip.id); wl 707 drivers/net/wireless/ti/wl12xx/main.c wl->fw_mem_block_size = 256; wl 708 drivers/net/wireless/ti/wl12xx/main.c wl->fwlog_end = 0x2000000; wl 711 drivers/net/wireless/ti/wl12xx/main.c wl->scan_templ_id_2_4 = CMD_TEMPL_APP_PROBE_REQ_2_4_LEGACY; wl 712 drivers/net/wireless/ti/wl12xx/main.c wl->scan_templ_id_5 = CMD_TEMPL_APP_PROBE_REQ_5_LEGACY; wl 713 drivers/net/wireless/ti/wl12xx/main.c wl->sched_scan_templ_id_2_4 = CMD_TEMPL_CFG_PROBE_REQ_2_4; wl 714 drivers/net/wireless/ti/wl12xx/main.c wl->sched_scan_templ_id_5 = CMD_TEMPL_CFG_PROBE_REQ_5; wl 715 drivers/net/wireless/ti/wl12xx/main.c wl->max_channels_5 = WL12XX_MAX_CHANNELS_5GHZ; wl 716 drivers/net/wireless/ti/wl12xx/main.c wl->ba_rx_session_count_max = WL12XX_RX_BA_MAX_SESSIONS; wl 721 drivers/net/wireless/ti/wl12xx/main.c static int __must_check wl12xx_top_reg_write(struct wl1271 *wl, int addr, wl 728 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_OCP_POR_CTR, addr); wl 733 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_OCP_DATA_WRITE, val); wl 738 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_OCP_CMD, OCP_CMD_WRITE); wl 746 drivers/net/wireless/ti/wl12xx/main.c static int __must_check wl12xx_top_reg_read(struct wl1271 *wl, int addr, wl 755 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_OCP_POR_CTR, addr); wl 760 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_OCP_CMD, OCP_CMD_READ); wl 766 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_read32(wl, WL12XX_OCP_DATA_READ, &val); wl 788 drivers/net/wireless/ti/wl12xx/main.c static int wl128x_switch_tcxo_to_fref(struct wl1271 *wl) wl 794 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, WL_SPARE_REG, &spare_reg); wl 801 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, WL_SPARE_REG, spare_reg); wl 806 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, SYS_CLK_CFG_REG, wl 817 drivers/net/wireless/ti/wl12xx/main.c static bool wl128x_is_tcxo_valid(struct wl1271 *wl) wl 822 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, TCXO_CLK_DETECT_REG, &tcxo_detection); wl 832 drivers/net/wireless/ti/wl12xx/main.c static bool wl128x_is_fref_valid(struct wl1271 *wl) wl 837 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, FREF_CLK_DETECT_REG, &fref_detection); wl 847 drivers/net/wireless/ti/wl12xx/main.c static int wl128x_manually_configure_mcs_pll(struct wl1271 *wl) wl 851 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, MCS_PLL_M_REG, MCS_PLL_M_REG_VAL); wl 855 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, MCS_PLL_N_REG, MCS_PLL_N_REG_VAL); wl 859 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, MCS_PLL_CONFIG_REG, wl 866 drivers/net/wireless/ti/wl12xx/main.c static int wl128x_configure_mcs_pll(struct wl1271 *wl, int clk) wl 871 drivers/net/wireless/ti/wl12xx/main.c struct wl12xx_priv *priv = wl->priv; wl 875 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, WL_SPARE_REG, &spare_reg); wl 882 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, WL_SPARE_REG, spare_reg); wl 889 drivers/net/wireless/ti/wl12xx/main.c return wl128x_manually_configure_mcs_pll(wl); wl 894 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, MCS_PLL_CONFIG_REG, &pll_config); wl 902 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, MCS_PLL_CONFIG_REG, pll_config); wl 914 drivers/net/wireless/ti/wl12xx/main.c static int wl128x_boot_clk(struct wl1271 *wl, int *selected_clock) wl 916 drivers/net/wireless/ti/wl12xx/main.c struct wl12xx_priv *priv = wl->priv; wl 923 drivers/net/wireless/ti/wl12xx/main.c if (!wl128x_switch_tcxo_to_fref(wl)) wl 929 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, SYS_CLK_CFG_REG, &sys_clk_cfg); wl 941 drivers/net/wireless/ti/wl12xx/main.c if (!wl128x_switch_tcxo_to_fref(wl)) wl 947 drivers/net/wireless/ti/wl12xx/main.c if (!wl128x_is_tcxo_valid(wl)) wl 954 drivers/net/wireless/ti/wl12xx/main.c if (!wl128x_is_fref_valid(wl)) wl 959 drivers/net/wireless/ti/wl12xx/main.c return wl128x_configure_mcs_pll(wl, *selected_clock); wl 962 drivers/net/wireless/ti/wl12xx/main.c static int wl127x_boot_clk(struct wl1271 *wl) wl 964 drivers/net/wireless/ti/wl12xx/main.c struct wl12xx_priv *priv = wl->priv; wl 969 drivers/net/wireless/ti/wl12xx/main.c if (WL127X_PG_GET_MAJOR(wl->hw_pg_ver) < 3) wl 970 drivers/net/wireless/ti/wl12xx/main.c wl->quirks |= WLCORE_QUIRK_END_OF_TRANSACTION; wl 988 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, OCP_REG_CLK_TYPE, &val); wl 993 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, OCP_REG_CLK_TYPE, val); wl 998 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, OCP_REG_CLK_PULL, &val); wl 1003 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, OCP_REG_CLK_PULL, val); wl 1009 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, OCP_REG_CLK_POLARITY, &val); wl 1015 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, OCP_REG_CLK_POLARITY, val); wl 1020 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_PLL_PARAMETERS, clk); wl 1024 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_read32(wl, WL12XX_PLL_PARAMETERS, &pause); wl 1032 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_WU_COUNTER_PAUSE, pause); wl 1038 drivers/net/wireless/ti/wl12xx/main.c static int wl1271_boot_soft_reset(struct wl1271 *wl) wl 1045 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_SLV_SOFT_RESET, ACX_SLV_SOFT_RESET_BIT); wl 1052 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_read32(wl, WL12XX_SLV_SOFT_RESET, &boot_data); wl 1071 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_ENABLE, 0x0); wl 1076 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_SPARE_A2, 0xffff); wl 1082 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_pre_boot(struct wl1271 *wl) wl 1084 drivers/net/wireless/ti/wl12xx/main.c struct wl12xx_priv *priv = wl->priv; wl 1089 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id == CHIP_ID_128X_PG20) { wl 1090 drivers/net/wireless/ti/wl12xx/main.c ret = wl128x_boot_clk(wl, &selected_clock); wl 1094 drivers/net/wireless/ti/wl12xx/main.c ret = wl127x_boot_clk(wl); wl 1100 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_WELP_ARM_COMMAND, WELP_ARM_COMMAND_VAL); wl 1106 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_DRPW]); wl 1114 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_read32(wl, WL12XX_DRPW_SCRATCH_START, &clk); wl 1120 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id == CHIP_ID_128X_PG20) wl 1125 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_DRPW_SCRATCH_START, clk); wl 1129 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_WORK]); wl 1134 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, WL1271_ACX_INTR_ALL); wl 1138 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_boot_soft_reset(wl); wl 1146 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_pre_upload(struct wl1271 *wl) wl 1156 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_EEPROMLESS_IND, WL12XX_EEPROMLESS_IND); wl 1160 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_read_reg(wl, REG_CHIP_ID_B, &tmp); wl 1167 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_read32(wl, WL12XX_SCR_PAD2, &tmp); wl 1174 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id == CHIP_ID_128X_PG20) { wl 1175 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, SDIO_IO_DS, HCI_IO_DS_6MA); wl 1181 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, OCP_REG_POLARITY, &polarity); wl 1187 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_write(wl, OCP_REG_POLARITY, polarity); wl 1193 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_enable_interrupts(struct wl1271 *wl) wl 1197 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, wl 1202 drivers/net/wireless/ti/wl12xx/main.c wlcore_enable_interrupts(wl); wl 1203 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, wl 1208 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write32(wl, WL12XX_HI_CFG, HI_CFG_DEF_VAL); wl 1215 drivers/net/wireless/ti/wl12xx/main.c wlcore_disable_interrupts(wl); wl 1221 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_boot(struct wl1271 *wl) wl 1225 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_pre_boot(wl); wl 1229 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_boot_upload_nvs(wl); wl 1233 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_pre_upload(wl); wl 1237 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_boot_upload_firmware(wl); wl 1241 drivers/net/wireless/ti/wl12xx/main.c wl->event_mask = BSS_LOSE_EVENT_ID | wl 1257 drivers/net/wireless/ti/wl12xx/main.c wl->ap_event_mask = MAX_TX_RETRY_EVENT_ID; wl 1259 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_boot_run_firmware(wl); wl 1263 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_enable_interrupts(wl); wl 1269 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_trigger_cmd(struct wl1271 *wl, int cmd_box_addr, wl 1274 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write(wl, cmd_box_addr, buf, len, false); wl 1278 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_write_reg(wl, REG_INTERRUPT_TRIG, WL12XX_INTR_TRIG_CMD); wl 1283 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_ack_event(struct wl1271 *wl) wl 1285 drivers/net/wireless/ti/wl12xx/main.c return wlcore_write_reg(wl, REG_INTERRUPT_TRIG, wl 1289 drivers/net/wireless/ti/wl12xx/main.c static u32 wl12xx_calc_tx_blocks(struct wl1271 *wl, u32 len, u32 spare_blks) wl 1292 drivers/net/wireless/ti/wl12xx/main.c u32 align_len = wlcore_calc_packet_alignment(wl, len); wl 1298 drivers/net/wireless/ti/wl12xx/main.c wl12xx_set_tx_desc_blocks(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc, wl 1301 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id == CHIP_ID_128X_PG20) { wl 1310 drivers/net/wireless/ti/wl12xx/main.c wl12xx_set_tx_desc_data_len(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc, wl 1313 drivers/net/wireless/ti/wl12xx/main.c u32 aligned_len = wlcore_calc_packet_alignment(wl, skb->len); wl 1315 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id == CHIP_ID_128X_PG20) { wl 1345 drivers/net/wireless/ti/wl12xx/main.c wl12xx_get_rx_buf_align(struct wl1271 *wl, u32 rx_desc) wl 1353 drivers/net/wireless/ti/wl12xx/main.c static u32 wl12xx_get_rx_packet_len(struct wl1271 *wl, void *rx_data, wl 1366 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_tx_delayed_compl(struct wl1271 *wl) wl 1368 drivers/net/wireless/ti/wl12xx/main.c if (wl->fw_status->tx_results_counter == wl 1369 drivers/net/wireless/ti/wl12xx/main.c (wl->tx_results_count & 0xff)) wl 1372 drivers/net/wireless/ti/wl12xx/main.c return wlcore_tx_complete(wl); wl 1375 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_hw_init(struct wl1271 *wl) wl 1379 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id == CHIP_ID_128X_PG20) { wl 1382 drivers/net/wireless/ti/wl12xx/main.c ret = wl128x_cmd_general_parms(wl); wl 1390 drivers/net/wireless/ti/wl12xx/main.c if (wl->plt_mode == PLT_FEM_DETECT) wl 1393 drivers/net/wireless/ti/wl12xx/main.c ret = wl128x_cmd_radio_parms(wl); wl 1397 drivers/net/wireless/ti/wl12xx/main.c if (wl->quirks & WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN) wl 1402 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_acx_host_if_cfg_bitmap(wl, host_cfg_bitmap); wl 1406 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_cmd_general_parms(wl); wl 1414 drivers/net/wireless/ti/wl12xx/main.c if (wl->plt_mode == PLT_FEM_DETECT) wl 1417 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_cmd_radio_parms(wl); wl 1420 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_cmd_ext_radio_parms(wl); wl 1428 drivers/net/wireless/ti/wl12xx/main.c static void wl12xx_convert_fw_status(struct wl1271 *wl, void *raw_fw_status, wl 1459 drivers/net/wireless/ti/wl12xx/main.c static u32 wl12xx_sta_get_ap_rate_mask(struct wl1271 *wl, wl 1465 drivers/net/wireless/ti/wl12xx/main.c static void wl12xx_conf_init(struct wl1271 *wl) wl 1467 drivers/net/wireless/ti/wl12xx/main.c struct wl12xx_priv *priv = wl->priv; wl 1470 drivers/net/wireless/ti/wl12xx/main.c memcpy(&wl->conf, &wl12xx_conf, sizeof(wl12xx_conf)); wl 1476 drivers/net/wireless/ti/wl12xx/main.c static bool wl12xx_mac_in_fuse(struct wl1271 *wl) wl 1481 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id == CHIP_ID_128X_PG20) { wl 1482 drivers/net/wireless/ti/wl12xx/main.c major = WL128X_PG_GET_MAJOR(wl->hw_pg_ver); wl 1483 drivers/net/wireless/ti/wl12xx/main.c minor = WL128X_PG_GET_MINOR(wl->hw_pg_ver); wl 1489 drivers/net/wireless/ti/wl12xx/main.c major = WL127X_PG_GET_MAJOR(wl->hw_pg_ver); wl 1490 drivers/net/wireless/ti/wl12xx/main.c minor = WL127X_PG_GET_MINOR(wl->hw_pg_ver); wl 1504 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_get_fuse_mac(struct wl1271 *wl) wl 1509 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_DRPW]); wl 1513 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_read32(wl, WL12XX_REG_FUSE_BD_ADDR_1, &mac1); wl 1517 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_read32(wl, WL12XX_REG_FUSE_BD_ADDR_2, &mac2); wl 1522 drivers/net/wireless/ti/wl12xx/main.c wl->fuse_oui_addr = ((mac2 & 0xffff) << 8) + wl 1524 drivers/net/wireless/ti/wl12xx/main.c wl->fuse_nic_addr = mac1 & 0xffffff; wl 1526 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_DOWN]); wl 1532 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_get_pg_ver(struct wl1271 *wl, s8 *ver) wl 1537 drivers/net/wireless/ti/wl12xx/main.c if (wl->chip.id == CHIP_ID_128X_PG20) wl 1538 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, WL128X_REG_FUSE_DATA_2_1, wl 1541 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_top_reg_read(wl, WL127X_REG_FUSE_DATA_2_1, wl 1550 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_get_mac(struct wl1271 *wl) wl 1552 drivers/net/wireless/ti/wl12xx/main.c if (wl12xx_mac_in_fuse(wl)) wl 1553 drivers/net/wireless/ti/wl12xx/main.c return wl12xx_get_fuse_mac(wl); wl 1558 drivers/net/wireless/ti/wl12xx/main.c static void wl12xx_set_tx_desc_csum(struct wl1271 *wl, wl 1565 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_plt_init(struct wl1271 *wl) wl 1569 drivers/net/wireless/ti/wl12xx/main.c ret = wl->ops->boot(wl); wl 1573 drivers/net/wireless/ti/wl12xx/main.c ret = wl->ops->hw_init(wl); wl 1581 drivers/net/wireless/ti/wl12xx/main.c if (wl->plt_mode == PLT_FEM_DETECT) wl 1584 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_acx_init_mem_config(wl); wl 1588 drivers/net/wireless/ti/wl12xx/main.c ret = wl12xx_acx_mem_cfg(wl); wl 1593 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_cmd_data_path(wl, 1); wl 1598 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_acx_sleep_auth(wl, WL1271_PSM_CAM); wl 1603 drivers/net/wireless/ti/wl12xx/main.c ret = wl1271_acx_pm_config(wl); wl 1610 drivers/net/wireless/ti/wl12xx/main.c kfree(wl->target_mem_map); wl 1611 drivers/net/wireless/ti/wl12xx/main.c wl->target_mem_map = NULL; wl 1614 drivers/net/wireless/ti/wl12xx/main.c mutex_unlock(&wl->mutex); wl 1622 drivers/net/wireless/ti/wl12xx/main.c wlcore_disable_interrupts(wl); wl 1623 drivers/net/wireless/ti/wl12xx/main.c mutex_lock(&wl->mutex); wl 1628 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_get_spare_blocks(struct wl1271 *wl, bool is_gem) wl 1636 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_set_key(struct wl1271 *wl, enum set_key_cmd cmd, wl 1641 drivers/net/wireless/ti/wl12xx/main.c return wlcore_set_key(wl, cmd, vif, sta, key_conf); wl 1644 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_set_peer_cap(struct wl1271 *wl, wl 1649 drivers/net/wireless/ti/wl12xx/main.c return wl1271_acx_set_ht_capabilities(wl, ht_cap, allow_ht_operation, wl 1653 drivers/net/wireless/ti/wl12xx/main.c static bool wl12xx_lnk_high_prio(struct wl1271 *wl, u8 hlid, wl 1658 drivers/net/wireless/ti/wl12xx/main.c if (test_bit(hlid, &wl->fw_fast_lnk_map)) wl 1659 drivers/net/wireless/ti/wl12xx/main.c thold = wl->conf.tx.fast_link_thold; wl 1661 drivers/net/wireless/ti/wl12xx/main.c thold = wl->conf.tx.slow_link_thold; wl 1666 drivers/net/wireless/ti/wl12xx/main.c static bool wl12xx_lnk_low_prio(struct wl1271 *wl, u8 hlid, wl 1673 drivers/net/wireless/ti/wl12xx/main.c static u32 wl12xx_convert_hwaddr(struct wl1271 *wl, u32 hwaddr) wl 1678 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_setup(struct wl1271 *wl); wl 1793 drivers/net/wireless/ti/wl12xx/main.c static int wl12xx_setup(struct wl1271 *wl) wl 1795 drivers/net/wireless/ti/wl12xx/main.c struct wl12xx_priv *priv = wl->priv; wl 1796 drivers/net/wireless/ti/wl12xx/main.c struct wlcore_platdev_data *pdev_data = dev_get_platdata(&wl->pdev->dev); wl 1802 drivers/net/wireless/ti/wl12xx/main.c wl->rtable = wl12xx_rtable; wl 1803 drivers/net/wireless/ti/wl12xx/main.c wl->num_tx_desc = WL12XX_NUM_TX_DESCRIPTORS; wl 1804 drivers/net/wireless/ti/wl12xx/main.c wl->num_rx_desc = WL12XX_NUM_RX_DESCRIPTORS; wl 1805 drivers/net/wireless/ti/wl12xx/main.c wl->num_links = WL12XX_MAX_LINKS; wl 1806 drivers/net/wireless/ti/wl12xx/main.c wl->max_ap_stations = WL12XX_MAX_AP_STATIONS; wl 1807 drivers/net/wireless/ti/wl12xx/main.c wl->iface_combinations = wl12xx_iface_combinations; wl 1808 drivers/net/wireless/ti/wl12xx/main.c wl->n_iface_combinations = ARRAY_SIZE(wl12xx_iface_combinations); wl 1809 drivers/net/wireless/ti/wl12xx/main.c wl->num_mac_addr = WL12XX_NUM_MAC_ADDRESSES; wl 1810 drivers/net/wireless/ti/wl12xx/main.c wl->band_rate_to_idx = wl12xx_band_rate_to_idx; wl 1811 drivers/net/wireless/ti/wl12xx/main.c wl->hw_tx_rate_tbl_size = WL12XX_CONF_HW_RXTX_RATE_MAX; wl 1812 drivers/net/wireless/ti/wl12xx/main.c wl->hw_min_ht_rate = WL12XX_CONF_HW_RXTX_RATE_MCS0; wl 1813 drivers/net/wireless/ti/wl12xx/main.c wl->fw_status_len = sizeof(struct wl12xx_fw_status); wl 1814 drivers/net/wireless/ti/wl12xx/main.c wl->fw_status_priv_len = 0; wl 1815 drivers/net/wireless/ti/wl12xx/main.c wl->stats.fw_stats_len = sizeof(struct wl12xx_acx_statistics); wl 1816 drivers/net/wireless/ti/wl12xx/main.c wl->ofdm_only_ap = true; wl 1817 drivers/net/wireless/ti/wl12xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ, &wl12xx_ht_cap); wl 1818 drivers/net/wireless/ti/wl12xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ, &wl12xx_ht_cap); wl 1819 drivers/net/wireless/ti/wl12xx/main.c wl12xx_conf_init(wl); wl 1890 drivers/net/wireless/ti/wl12xx/main.c struct wl1271 *wl; wl 1903 drivers/net/wireless/ti/wl12xx/main.c wl = hw->priv; wl 1904 drivers/net/wireless/ti/wl12xx/main.c wl->ops = &wl12xx_ops; wl 1905 drivers/net/wireless/ti/wl12xx/main.c wl->ptable = wl12xx_ptable; wl 1906 drivers/net/wireless/ti/wl12xx/main.c ret = wlcore_probe(wl, pdev); wl 1913 drivers/net/wireless/ti/wl12xx/main.c wlcore_free_hw(wl); wl 1920 drivers/net/wireless/ti/wl12xx/main.c struct wl1271 *wl = platform_get_drvdata(pdev); wl 1923 drivers/net/wireless/ti/wl12xx/main.c if (!wl) wl 1925 drivers/net/wireless/ti/wl12xx/main.c priv = wl->priv; wl 13 drivers/net/wireless/ti/wl12xx/scan.c static int wl1271_get_scan_channels(struct wl1271 *wl, wl 18 drivers/net/wireless/ti/wl12xx/scan.c struct conf_scan_settings *c = &wl->conf.scan; wl 27 drivers/net/wireless/ti/wl12xx/scan.c if (!test_bit(i, wl->scan.scanned_ch) && wl 69 drivers/net/wireless/ti/wl12xx/scan.c set_bit(i, wl->scan.scanned_ch); wl 80 drivers/net/wireless/ti/wl12xx/scan.c static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 91 drivers/net/wireless/ti/wl12xx/scan.c if (!passive && wl->scan.req->n_ssids == 0) wl 101 drivers/net/wireless/ti/wl12xx/scan.c if (wl->conf.scan.split_scan_timeout) wl 120 drivers/net/wireless/ti/wl12xx/scan.c cmd->params.n_ch = wl1271_get_scan_channels(wl, wl->scan.req, wl 129 drivers/net/wireless/ti/wl12xx/scan.c cmd->params.n_probe_reqs = wl->conf.scan.num_probe_reqs; wl 138 drivers/net/wireless/ti/wl12xx/scan.c if (wl->scan.ssid_len) { wl 139 drivers/net/wireless/ti/wl12xx/scan.c cmd->params.ssid_len = wl->scan.ssid_len; wl 140 drivers/net/wireless/ti/wl12xx/scan.c memcpy(cmd->params.ssid, wl->scan.ssid, wl->scan.ssid_len); wl 145 drivers/net/wireless/ti/wl12xx/scan.c ret = wl12xx_cmd_build_probe_req(wl, wlvif, wl 147 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.ssid, wl->scan.ssid_len, wl 148 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.req->ie, wl 149 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.req->ie_len, NULL, 0, false); wl 155 drivers/net/wireless/ti/wl12xx/scan.c trigger->timeout = cpu_to_le32(wl->conf.scan.split_scan_timeout); wl 156 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_cmd_send(wl, CMD_TRIGGER_SCAN_TO, trigger, wl 165 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd), 0); wl 177 drivers/net/wireless/ti/wl12xx/scan.c int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 182 drivers/net/wireless/ti/wl12xx/scan.c if (WARN_ON(wl->scan.state == WL1271_SCAN_STATE_IDLE)) wl 193 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_cmd_send(wl, CMD_STOP_SCAN, cmd, wl 204 drivers/net/wireless/ti/wl12xx/scan.c void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 210 drivers/net/wireless/ti/wl12xx/scan.c switch (wl->scan.state) { wl 217 drivers/net/wireless/ti/wl12xx/scan.c if (wl->scan.req->no_cck) { wl 222 drivers/net/wireless/ti/wl12xx/scan.c rate = wl1271_tx_min_rate_get(wl, mask); wl 223 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_scan_send(wl, wlvif, band, false, rate); wl 225 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.state = WL1271_SCAN_STATE_2GHZ_PASSIVE; wl 226 drivers/net/wireless/ti/wl12xx/scan.c wl1271_scan_stm(wl, wlvif); wl 234 drivers/net/wireless/ti/wl12xx/scan.c if (wl->scan.req->no_cck) { wl 239 drivers/net/wireless/ti/wl12xx/scan.c rate = wl1271_tx_min_rate_get(wl, mask); wl 240 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_scan_send(wl, wlvif, band, true, rate); wl 242 drivers/net/wireless/ti/wl12xx/scan.c if (wl->enable_11a) wl 243 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.state = WL1271_SCAN_STATE_5GHZ_ACTIVE; wl 245 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.state = WL1271_SCAN_STATE_DONE; wl 246 drivers/net/wireless/ti/wl12xx/scan.c wl1271_scan_stm(wl, wlvif); wl 253 drivers/net/wireless/ti/wl12xx/scan.c rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]); wl 254 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_scan_send(wl, wlvif, band, false, rate); wl 256 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.state = WL1271_SCAN_STATE_5GHZ_PASSIVE; wl 257 drivers/net/wireless/ti/wl12xx/scan.c wl1271_scan_stm(wl, wlvif); wl 264 drivers/net/wireless/ti/wl12xx/scan.c rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]); wl 265 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_scan_send(wl, wlvif, band, true, rate); wl 267 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.state = WL1271_SCAN_STATE_DONE; wl 268 drivers/net/wireless/ti/wl12xx/scan.c wl1271_scan_stm(wl, wlvif); wl 274 drivers/net/wireless/ti/wl12xx/scan.c wl->scan.failed = false; wl 275 drivers/net/wireless/ti/wl12xx/scan.c cancel_delayed_work(&wl->scan_complete_work); wl 276 drivers/net/wireless/ti/wl12xx/scan.c ieee80211_queue_delayed_work(wl->hw, &wl->scan_complete_work, wl 286 drivers/net/wireless/ti/wl12xx/scan.c cancel_delayed_work(&wl->scan_complete_work); wl 287 drivers/net/wireless/ti/wl12xx/scan.c ieee80211_queue_delayed_work(wl->hw, &wl->scan_complete_work, wl 307 drivers/net/wireless/ti/wl12xx/scan.c int wl1271_scan_sched_scan_config(struct wl1271 *wl, wl 314 drivers/net/wireless/ti/wl12xx/scan.c struct conf_sched_scan_settings *c = &wl->conf.sched_scan; wl 343 drivers/net/wireless/ti/wl12xx/scan.c ret = wlcore_scan_sched_scan_ssid_list(wl, wlvif, req); wl 357 drivers/net/wireless/ti/wl12xx/scan.c if (!wlcore_set_scan_chan_params(wl, cfg_channels, req->channels, wl 368 drivers/net/wireless/ti/wl12xx/scan.c ret = wl12xx_cmd_build_probe_req(wl, wlvif, wl 385 drivers/net/wireless/ti/wl12xx/scan.c ret = wl12xx_cmd_build_probe_req(wl, wlvif, wl 402 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_cmd_send(wl, CMD_CONNECTION_SCAN_CFG, cfg, wl 414 drivers/net/wireless/ti/wl12xx/scan.c int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 424 drivers/net/wireless/ti/wl12xx/scan.c if ((wl->quirks & WLCORE_QUIRK_NO_SCHED_SCAN_WHILE_CONN) && wl 435 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_cmd_send(wl, CMD_START_PERIODIC_SCAN, start, wl 447 drivers/net/wireless/ti/wl12xx/scan.c int wl12xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 453 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_scan_sched_scan_config(wl, wlvif, req, ies); wl 457 drivers/net/wireless/ti/wl12xx/scan.c return wl1271_scan_sched_scan_start(wl, wlvif); wl 460 drivers/net/wireless/ti/wl12xx/scan.c void wl12xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 477 drivers/net/wireless/ti/wl12xx/scan.c ret = wl1271_cmd_send(wl, CMD_STOP_PERIODIC_SCAN, stop, wl 488 drivers/net/wireless/ti/wl12xx/scan.c int wl12xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 491 drivers/net/wireless/ti/wl12xx/scan.c wl1271_scan_stm(wl, wlvif); wl 495 drivers/net/wireless/ti/wl12xx/scan.c void wl12xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 497 drivers/net/wireless/ti/wl12xx/scan.c wl1271_scan_stm(wl, wlvif); wl 118 drivers/net/wireless/ti/wl12xx/scan.h int wl12xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 120 drivers/net/wireless/ti/wl12xx/scan.h int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 121 drivers/net/wireless/ti/wl12xx/scan.h void wl12xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 122 drivers/net/wireless/ti/wl12xx/scan.h int wl12xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 125 drivers/net/wireless/ti/wl12xx/scan.h void wl12xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 15 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap, wl 37 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_HOST_IF_CFG_BITMAP, wl 50 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_set_checksum_state(struct wl1271 *wl) wl 65 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_CSUM_CONFIG, acx, sizeof(*acx)); wl 76 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_clear_statistics(struct wl1271 *wl) wl 89 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_CLEAR_STATISTICS, acx, sizeof(*acx)); wl 100 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_peer_ht_operation_mode(struct wl1271 *wl, u8 hlid, bool wide) wl 117 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_PEER_HT_OPERATION_MODE_CFG, acx, wl 136 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_set_peer_cap(struct wl1271 *wl, wl 174 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_PEER_CAP, acx, sizeof(*acx)); wl 189 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_interrupt_notify_config(struct wl1271 *wl, wl 202 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_INTERRUPT_NOTIFY, acx, sizeof(*acx)); wl 217 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_rx_ba_filter(struct wl1271 *wl, bool action) wl 229 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_RX_BA_FILTER, acx, sizeof(*acx)); wl 241 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_ap_sleep(struct wl1271 *wl) wl 243 drivers/net/wireless/ti/wl18xx/acx.c struct wl18xx_priv *priv = wl->priv; wl 261 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_AP_SLEEP_CFG, acx, sizeof(*acx)); wl 272 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_dynamic_fw_traces(struct wl1271 *wl) wl 278 drivers/net/wireless/ti/wl18xx/acx.c wl->dynamic_fw_traces); wl 286 drivers/net/wireless/ti/wl18xx/acx.c acx->dynamic_fw_traces = cpu_to_le32(wl->dynamic_fw_traces); wl 288 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_DYNAMIC_TRACES_CFG, wl 299 drivers/net/wireless/ti/wl18xx/acx.c int wl18xx_acx_time_sync_cfg(struct wl1271 *wl) wl 305 drivers/net/wireless/ti/wl18xx/acx.c wl->conf.sg.params[WL18XX_CONF_SG_TIME_SYNC], wl 306 drivers/net/wireless/ti/wl18xx/acx.c wl->zone_master_mac_addr); wl 314 drivers/net/wireless/ti/wl18xx/acx.c acx->sync_mode = wl->conf.sg.params[WL18XX_CONF_SG_TIME_SYNC]; wl 315 drivers/net/wireless/ti/wl18xx/acx.c memcpy(acx->zone_mac_addr, wl->zone_master_mac_addr, ETH_ALEN); wl 317 drivers/net/wireless/ti/wl18xx/acx.c ret = wl1271_cmd_configure(wl, ACX_TIME_SYNC_CFG, wl 389 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap, wl 392 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_set_checksum_state(struct wl1271 *wl); wl 393 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_clear_statistics(struct wl1271 *wl); wl 394 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_peer_ht_operation_mode(struct wl1271 *wl, u8 hlid, bool wide); wl 395 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_set_peer_cap(struct wl1271 *wl, wl 399 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_interrupt_notify_config(struct wl1271 *wl, bool action); wl 400 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_rx_ba_filter(struct wl1271 *wl, bool action); wl 401 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_ap_sleep(struct wl1271 *wl); wl 402 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_dynamic_fw_traces(struct wl1271 *wl); wl 403 drivers/net/wireless/ti/wl18xx/acx.h int wl18xx_acx_time_sync_cfg(struct wl1271 *wl); wl 14 drivers/net/wireless/ti/wl18xx/cmd.c int wl18xx_cmd_channel_switch(struct wl1271 *wl, wl 52 drivers/net/wireless/ti/wl18xx/cmd.c supported_rates |= wlcore_hw_sta_get_ap_rate_mask(wl, wlvif); wl 55 drivers/net/wireless/ti/wl18xx/cmd.c wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif); wl 61 drivers/net/wireless/ti/wl18xx/cmd.c ret = wl1271_cmd_send(wl, CMD_CHANNEL_SWITCH, cmd, sizeof(*cmd), 0); wl 73 drivers/net/wireless/ti/wl18xx/cmd.c int wl18xx_cmd_smart_config_start(struct wl1271 *wl, u32 group_bitmap) wl 89 drivers/net/wireless/ti/wl18xx/cmd.c ret = wl1271_cmd_send(wl, CMD_SMART_CONFIG_START, cmd, sizeof(*cmd), 0); wl 101 drivers/net/wireless/ti/wl18xx/cmd.c int wl18xx_cmd_smart_config_stop(struct wl1271 *wl) wl 114 drivers/net/wireless/ti/wl18xx/cmd.c ret = wl1271_cmd_send(wl, CMD_SMART_CONFIG_STOP, cmd, sizeof(*cmd), 0); wl 126 drivers/net/wireless/ti/wl18xx/cmd.c int wl18xx_cmd_smart_config_set_group_key(struct wl1271 *wl, u16 group_id, wl 149 drivers/net/wireless/ti/wl18xx/cmd.c ret = wl1271_cmd_send(wl, CMD_SMART_CONFIG_SET_GROUP_KEY, cmd, wl 162 drivers/net/wireless/ti/wl18xx/cmd.c int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start) wl 180 drivers/net/wireless/ti/wl18xx/cmd.c ret = wl1271_cmd_send(wl, wl 193 drivers/net/wireless/ti/wl18xx/cmd.c int wl18xx_cmd_radar_detection_debug(struct wl1271 *wl, u8 channel) wl 207 drivers/net/wireless/ti/wl18xx/cmd.c ret = wl1271_cmd_send(wl, CMD_DFS_RADAR_DETECTION_DEBUG, wl 219 drivers/net/wireless/ti/wl18xx/cmd.c int wl18xx_cmd_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 233 drivers/net/wireless/ti/wl18xx/cmd.c ret = wl1271_cmd_send(wl, CMD_DFS_MASTER_RESTART, wl 72 drivers/net/wireless/ti/wl18xx/cmd.h int wl18xx_cmd_channel_switch(struct wl1271 *wl, wl 75 drivers/net/wireless/ti/wl18xx/cmd.h int wl18xx_cmd_smart_config_start(struct wl1271 *wl, u32 group_bitmap); wl 76 drivers/net/wireless/ti/wl18xx/cmd.h int wl18xx_cmd_smart_config_stop(struct wl1271 *wl); wl 77 drivers/net/wireless/ti/wl18xx/cmd.h int wl18xx_cmd_smart_config_set_group_key(struct wl1271 *wl, u16 group_id, wl 79 drivers/net/wireless/ti/wl18xx/cmd.h int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start); wl 80 drivers/net/wireless/ti/wl18xx/cmd.h int wl18xx_cmd_radar_detection_debug(struct wl1271 *wl, u8 channel); wl 81 drivers/net/wireless/ti/wl18xx/cmd.h int wl18xx_cmd_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 181 drivers/net/wireless/ti/wl18xx/debugfs.c struct wl1271 *wl = file->private_data; wl 182 drivers/net/wireless/ti/wl18xx/debugfs.c struct wl18xx_priv *priv = wl->priv; wl 197 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_lock(&wl->mutex); wl 202 drivers/net/wireless/ti/wl18xx/debugfs.c memcpy(pos, &wl->conf, sizeof(wl->conf)); wl 203 drivers/net/wireless/ti/wl18xx/debugfs.c pos += sizeof(wl->conf); wl 206 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_unlock(&wl->mutex); wl 224 drivers/net/wireless/ti/wl18xx/debugfs.c struct wl1271 *wl = file->private_data; wl 227 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_lock(&wl->mutex); wl 229 drivers/net/wireless/ti/wl18xx/debugfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 232 drivers/net/wireless/ti/wl18xx/debugfs.c ret = wl18xx_acx_clear_statistics(wl); wl 238 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_unlock(&wl->mutex); wl 252 drivers/net/wireless/ti/wl18xx/debugfs.c struct wl1271 *wl = file->private_data; wl 262 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_lock(&wl->mutex); wl 264 drivers/net/wireless/ti/wl18xx/debugfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 267 drivers/net/wireless/ti/wl18xx/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 269 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_put_noidle(wl->dev); wl 273 drivers/net/wireless/ti/wl18xx/debugfs.c ret = wl18xx_cmd_radar_detection_debug(wl, channel); wl 277 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 278 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 280 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_unlock(&wl->mutex); wl 294 drivers/net/wireless/ti/wl18xx/debugfs.c struct wl1271 *wl = file->private_data; wl 302 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_lock(&wl->mutex); wl 304 drivers/net/wireless/ti/wl18xx/debugfs.c wl->dynamic_fw_traces = value; wl 306 drivers/net/wireless/ti/wl18xx/debugfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 309 drivers/net/wireless/ti/wl18xx/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 311 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_put_noidle(wl->dev); wl 315 drivers/net/wireless/ti/wl18xx/debugfs.c ret = wl18xx_acx_dynamic_fw_traces(wl); wl 319 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 320 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 322 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_unlock(&wl->mutex); wl 330 drivers/net/wireless/ti/wl18xx/debugfs.c struct wl1271 *wl = file->private_data; wl 332 drivers/net/wireless/ti/wl18xx/debugfs.c "%d\n", wl->dynamic_fw_traces); wl 347 drivers/net/wireless/ti/wl18xx/debugfs.c struct wl1271 *wl = file->private_data; wl 364 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_lock(&wl->mutex); wl 366 drivers/net/wireless/ti/wl18xx/debugfs.c wl->radar_debug_mode = value; wl 368 drivers/net/wireless/ti/wl18xx/debugfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 371 drivers/net/wireless/ti/wl18xx/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 373 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_put_noidle(wl->dev); wl 377 drivers/net/wireless/ti/wl18xx/debugfs.c wl12xx_for_each_wlvif_ap(wl, wlvif) { wl 378 drivers/net/wireless/ti/wl18xx/debugfs.c wlcore_cmd_generic_cfg(wl, wlvif, wl 380 drivers/net/wireless/ti/wl18xx/debugfs.c wl->radar_debug_mode, 0); wl 383 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 384 drivers/net/wireless/ti/wl18xx/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 386 drivers/net/wireless/ti/wl18xx/debugfs.c mutex_unlock(&wl->mutex); wl 394 drivers/net/wireless/ti/wl18xx/debugfs.c struct wl1271 *wl = file->private_data; wl 397 drivers/net/wireless/ti/wl18xx/debugfs.c "%d\n", wl->radar_debug_mode); wl 408 drivers/net/wireless/ti/wl18xx/debugfs.c int wl18xx_debugfs_add_files(struct wl1271 *wl, wl 11 drivers/net/wireless/ti/wl18xx/debugfs.h int wl18xx_debugfs_add_files(struct wl1271 *wl, wl 16 drivers/net/wireless/ti/wl18xx/event.c int wl18xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event, wl 34 drivers/net/wireless/ti/wl18xx/event.c return wlcore_cmd_wait_for_event_or_timeout(wl, local_event, timeout); wl 50 drivers/net/wireless/ti/wl18xx/event.c static int wlcore_smart_config_sync_event(struct wl1271 *wl, u8 sync_channel, wl 67 drivers/net/wireless/ti/wl18xx/event.c skb = cfg80211_vendor_event_alloc(wl->hw->wiphy, NULL, 20, wl 79 drivers/net/wireless/ti/wl18xx/event.c static int wlcore_smart_config_decode_event(struct wl1271 *wl, wl 88 drivers/net/wireless/ti/wl18xx/event.c skb = cfg80211_vendor_event_alloc(wl->hw->wiphy, NULL, wl 102 drivers/net/wireless/ti/wl18xx/event.c static void wlcore_event_time_sync(struct wl1271 *wl, wl 116 drivers/net/wireless/ti/wl18xx/event.c int wl18xx_process_mailbox_events(struct wl1271 *wl) wl 118 drivers/net/wireless/ti/wl18xx/event.c struct wl18xx_event_mailbox *mbox = wl->mbox; wl 128 drivers/net/wireless/ti/wl18xx/event.c if (wl->scan_wlvif) wl 129 drivers/net/wireless/ti/wl18xx/event.c wl18xx_scan_completed(wl, wl->scan_wlvif); wl 133 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_time_sync(wl, wl 144 drivers/net/wireless/ti/wl18xx/event.c if (!wl->radar_debug_mode) wl 145 drivers/net/wireless/ti/wl18xx/event.c ieee80211_radar_detected(wl->hw); wl 153 drivers/net/wireless/ti/wl18xx/event.c wlcore_scan_sched_scan_results(wl); wl 157 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_sched_scan_completed(wl, 1); wl 160 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_rssi_trigger(wl, mbox->rssi_snr_trigger_metric); wl 163 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_ba_rx_constraint(wl, wl 168 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_beacon_loss(wl, wl 172 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_channel_switch(wl, wl 177 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_dummy_packet(wl); wl 184 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_max_tx_failure(wl, wl 188 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_inactive_sta(wl, wl 192 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_roc_complete(wl); wl 195 drivers/net/wireless/ti/wl18xx/event.c wlcore_smart_config_sync_event(wl, mbox->sc_sync_channel, wl 199 drivers/net/wireless/ti/wl18xx/event.c wlcore_smart_config_decode_event(wl, wl 205 drivers/net/wireless/ti/wl18xx/event.c wlcore_event_fw_logger(wl); wl 215 drivers/net/wireless/ti/wl18xx/event.c wlvif = wl->links[link_id].wlvif; wl 224 drivers/net/wireless/ti/wl18xx/event.c addr = wl->links[link_id].addr; wl 230 drivers/net/wireless/ti/wl18xx/event.c wl->links[link_id].ba_bitmap, wl 106 drivers/net/wireless/ti/wl18xx/event.h int wl18xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event, wl 108 drivers/net/wireless/ti/wl18xx/event.h int wl18xx_process_mailbox_events(struct wl1271 *wl); wl 13 drivers/net/wireless/ti/wl18xx/io.c int wl18xx_top_reg_write(struct wl1271 *wl, int addr, u16 val) wl 22 drivers/net/wireless/ti/wl18xx/io.c ret = wlcore_read32(wl, addr, &tmp); wl 27 drivers/net/wireless/ti/wl18xx/io.c ret = wlcore_write32(wl, addr, tmp); wl 29 drivers/net/wireless/ti/wl18xx/io.c ret = wlcore_read32(wl, addr - 2, &tmp); wl 34 drivers/net/wireless/ti/wl18xx/io.c ret = wlcore_write32(wl, addr - 2, tmp); wl 41 drivers/net/wireless/ti/wl18xx/io.c int wl18xx_top_reg_read(struct wl1271 *wl, int addr, u16 *out) wl 51 drivers/net/wireless/ti/wl18xx/io.c ret = wlcore_read32(wl, addr, &val); wl 55 drivers/net/wireless/ti/wl18xx/io.c ret = wlcore_read32(wl, addr - 2, &val); wl 11 drivers/net/wireless/ti/wl18xx/io.h int __must_check wl18xx_top_reg_write(struct wl1271 *wl, int addr, u16 val); wl 12 drivers/net/wireless/ti/wl18xx/io.h int __must_check wl18xx_top_reg_read(struct wl1271 *wl, int addr, u16 *out); wl 661 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_identify_chip(struct wl1271 *wl) wl 665 drivers/net/wireless/ti/wl18xx/main.c switch (wl->chip.id) { wl 668 drivers/net/wireless/ti/wl18xx/main.c wl->chip.id); wl 669 drivers/net/wireless/ti/wl18xx/main.c wl->sr_fw_name = WL18XX_FW_NAME; wl 671 drivers/net/wireless/ti/wl18xx/main.c wl->plt_fw_name = WL18XX_FW_NAME; wl 672 drivers/net/wireless/ti/wl18xx/main.c wl->quirks |= WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN | wl 679 drivers/net/wireless/ti/wl18xx/main.c wlcore_set_min_fw_ver(wl, WL18XX_CHIP_VER, wl 687 drivers/net/wireless/ti/wl18xx/main.c wl->chip.id); wl 692 drivers/net/wireless/ti/wl18xx/main.c wl1271_warning("unsupported chip id: 0x%x", wl->chip.id); wl 697 drivers/net/wireless/ti/wl18xx/main.c wl->fw_mem_block_size = 272; wl 698 drivers/net/wireless/ti/wl18xx/main.c wl->fwlog_end = 0x40000000; wl 700 drivers/net/wireless/ti/wl18xx/main.c wl->scan_templ_id_2_4 = CMD_TEMPL_CFG_PROBE_REQ_2_4; wl 701 drivers/net/wireless/ti/wl18xx/main.c wl->scan_templ_id_5 = CMD_TEMPL_CFG_PROBE_REQ_5; wl 702 drivers/net/wireless/ti/wl18xx/main.c wl->sched_scan_templ_id_2_4 = CMD_TEMPL_PROBE_REQ_2_4_PERIODIC; wl 703 drivers/net/wireless/ti/wl18xx/main.c wl->sched_scan_templ_id_5 = CMD_TEMPL_PROBE_REQ_5_PERIODIC; wl 704 drivers/net/wireless/ti/wl18xx/main.c wl->max_channels_5 = WL18XX_MAX_CHANNELS_5GHZ; wl 705 drivers/net/wireless/ti/wl18xx/main.c wl->ba_rx_session_count_max = WL18XX_RX_BA_MAX_SESSIONS; wl 710 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_set_clk(struct wl1271 *wl) wl 715 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_TOP_PRCM_ELP_SOC]); wl 721 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_read(wl, PRIMARY_CLK_DETECT, &clk_freq); wl 731 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_N, wl 736 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_M, wl 742 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_SWALLOW_EN, wl 747 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_N, wl 752 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_M, wl 759 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_Q_FACTOR_CFG_1, wl 766 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_Q_FACTOR_CFG_2, wl 773 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_P_FACTOR_CFG_1, wl 780 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_P_FACTOR_CFG_2, wl 786 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WCS_PLL_SWALLOW_EN, wl 793 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WL_PLL_SEL, wl 799 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WL_PLL_EN, PLLSH_WL_PLL_EN_VAL1); wl 806 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_WL_PLL_EN, PLLSH_WL_PLL_EN_VAL2); wl 811 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, PLLSH_COEX_PLL_SWALLOW_EN, wl 818 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_boot_soft_reset(struct wl1271 *wl) wl 823 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write32(wl, WL18XX_ENABLE, 0x0); wl 828 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write32(wl, WL18XX_SPARE_A2, 0xffff); wl 834 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_pre_boot(struct wl1271 *wl) wl 838 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_set_clk(wl); wl 843 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write32(wl, WL18XX_WELP_ARM_COMMAND, WELP_ARM_COMMAND_VAL); wl 849 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]); wl 854 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, WL1271_ACX_INTR_ALL); wl 858 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_boot_soft_reset(wl); wl 864 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_pre_upload(struct wl1271 *wl) wl 873 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]); wl 878 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write32(wl, WL18XX_EEPROMLESS_IND, WL18XX_EEPROMLESS_IND); wl 882 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_read_reg(wl, REG_CHIP_ID_B, &tmp); wl 888 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_read32(wl, WL18XX_SCR_PAD2, &tmp); wl 899 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_PHY_INIT]); wl 904 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write32(wl, WL18XX_PHY_FPGA_SPARE_1, wl 910 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write32(wl, WL18XX_PHY_FPGA_SPARE_1, wl 916 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write32(wl, WL18XX_PHY_FPGA_SPARE_1, wl 921 drivers/net/wireless/ti/wl18xx/main.c ret = irq_get_trigger_type(wl->irq); wl 924 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, wl 925 drivers/net/wireless/ti/wl18xx/main.c &wl->ptable[PART_TOP_PRCM_ELP_SOC]); wl 929 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_read(wl, TOP_FN0_CCCR_REG_32, &irq_invert); wl 934 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_top_reg_write(wl, TOP_FN0_CCCR_REG_32, irq_invert); wl 938 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_PHY_INIT]); wl 945 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_set_mac_and_phy(struct wl1271 *wl) wl 947 drivers/net/wireless/ti/wl18xx/main.c struct wl18xx_priv *priv = wl->priv; wl 957 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_PHY_INIT]); wl 961 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write(wl, WL18XX_PHY_INIT_MEM_ADDR, params, wl 969 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_enable_interrupts(struct wl1271 *wl) wl 977 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, event_mask); wl 981 drivers/net/wireless/ti/wl18xx/main.c wlcore_enable_interrupts(wl); wl 983 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write_reg(wl, REG_INTERRUPT_MASK, wl 991 drivers/net/wireless/ti/wl18xx/main.c wlcore_disable_interrupts(wl); wl 997 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_boot(struct wl1271 *wl) wl 1001 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_pre_boot(wl); wl 1005 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_pre_upload(wl); wl 1009 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_boot_upload_firmware(wl); wl 1013 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_set_mac_and_phy(wl); wl 1017 drivers/net/wireless/ti/wl18xx/main.c wl->event_mask = BSS_LOSS_EVENT_ID | wl 1036 drivers/net/wireless/ti/wl18xx/main.c wl->ap_event_mask = MAX_TX_FAILURE_EVENT_ID; wl 1038 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_boot_run_firmware(wl); wl 1042 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_enable_interrupts(wl); wl 1048 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_trigger_cmd(struct wl1271 *wl, int cmd_box_addr, wl 1051 drivers/net/wireless/ti/wl18xx/main.c struct wl18xx_priv *priv = wl->priv; wl 1056 drivers/net/wireless/ti/wl18xx/main.c return wlcore_write(wl, cmd_box_addr, priv->cmd_buf, wl 1060 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_ack_event(struct wl1271 *wl) wl 1062 drivers/net/wireless/ti/wl18xx/main.c return wlcore_write_reg(wl, REG_INTERRUPT_TRIG, wl 1066 drivers/net/wireless/ti/wl18xx/main.c static u32 wl18xx_calc_tx_blocks(struct wl1271 *wl, u32 len, u32 spare_blks) wl 1073 drivers/net/wireless/ti/wl18xx/main.c wl18xx_set_tx_desc_blocks(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc, wl 1080 drivers/net/wireless/ti/wl18xx/main.c wl18xx_set_tx_desc_data_len(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc, wl 1086 drivers/net/wireless/ti/wl18xx/main.c if (wl->quirks & WLCORE_QUIRK_TX_PAD_LAST_FRAME) wl 1099 drivers/net/wireless/ti/wl18xx/main.c wl18xx_get_rx_buf_align(struct wl1271 *wl, u32 rx_desc) wl 1107 drivers/net/wireless/ti/wl18xx/main.c static u32 wl18xx_get_rx_packet_len(struct wl1271 *wl, void *rx_data, wl 1119 drivers/net/wireless/ti/wl18xx/main.c static void wl18xx_tx_immediate_completion(struct wl1271 *wl) wl 1121 drivers/net/wireless/ti/wl18xx/main.c wl18xx_tx_immediate_complete(wl); wl 1124 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_set_host_cfg_bitmap(struct wl1271 *wl, u32 extra_mem_blk) wl 1132 drivers/net/wireless/ti/wl18xx/main.c if (wl->quirks & WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN) { wl 1138 drivers/net/wireless/ti/wl18xx/main.c if (wl->quirks & WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN) { wl 1143 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_acx_host_if_cfg_bitmap(wl, host_cfg_bitmap, wl 1152 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_hw_init(struct wl1271 *wl) wl 1155 drivers/net/wireless/ti/wl18xx/main.c struct wl18xx_priv *priv = wl->priv; wl 1162 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_set_host_cfg_bitmap(wl, WL18XX_TX_HW_BLOCK_SPARE); wl 1167 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_acx_dynamic_fw_traces(wl); wl 1172 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_acx_set_checksum_state(wl); wl 1180 drivers/net/wireless/ti/wl18xx/main.c static void wl18xx_convert_fw_status(struct wl1271 *wl, void *raw_fw_status, wl 1217 drivers/net/wireless/ti/wl18xx/main.c static void wl18xx_set_tx_desc_csum(struct wl1271 *wl, wl 1247 drivers/net/wireless/ti/wl18xx/main.c static void wl18xx_set_rx_csum(struct wl1271 *wl, wl 1255 drivers/net/wireless/ti/wl18xx/main.c static bool wl18xx_is_mimo_supported(struct wl1271 *wl) wl 1257 drivers/net/wireless/ti/wl18xx/main.c struct wl18xx_priv *priv = wl->priv; wl 1271 drivers/net/wireless/ti/wl18xx/main.c static u32 wl18xx_sta_get_ap_rate_mask(struct wl1271 *wl, wl 1283 drivers/net/wireless/ti/wl18xx/main.c } else if (wl18xx_is_mimo_supported(wl)) { wl 1291 drivers/net/wireless/ti/wl18xx/main.c static u32 wl18xx_ap_get_mimo_wide_rate_mask(struct wl1271 *wl, wl 1303 drivers/net/wireless/ti/wl18xx/main.c } else if (wl18xx_is_mimo_supported(wl) && wl 1342 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_get_pg_ver(struct wl1271 *wl, s8 *ver) wl 1348 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_TOP_PRCM_ELP_SOC]); wl 1352 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_read32(wl, WL18XX_REG_FUSE_DATA_2_3, &fuse); wl 1358 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_read32(wl, WL18XX_REG_FUSE_DATA_1_3, &fuse); wl 1372 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_read32(wl, WL18XX_REG_FUSE_DATA_2_3, &fuse); wl 1384 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]); wl 1438 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_conf_init(struct wl1271 *wl, struct device *dev) wl 1440 drivers/net/wireless/ti/wl18xx/main.c struct platform_device *pdev = wl->pdev; wl 1442 drivers/net/wireless/ti/wl18xx/main.c struct wl18xx_priv *priv = wl->priv; wl 1444 drivers/net/wireless/ti/wl18xx/main.c if (wl18xx_load_conf_file(dev, &wl->conf, &priv->conf, wl 1449 drivers/net/wireless/ti/wl18xx/main.c memcpy(&wl->conf, &wl18xx_conf, sizeof(wl->conf)); wl 1458 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_plt_init(struct wl1271 *wl) wl 1463 drivers/net/wireless/ti/wl18xx/main.c if (wl->plt_mode == PLT_FEM_DETECT) { wl 1468 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_write32(wl, WL18XX_SCR_PAD8, WL18XX_SCR_PAD8_PLT); wl 1472 drivers/net/wireless/ti/wl18xx/main.c return wl->ops->boot(wl); wl 1475 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_get_mac(struct wl1271 *wl) wl 1480 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_TOP_PRCM_ELP_SOC]); wl 1484 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_read32(wl, WL18XX_REG_FUSE_BD_ADDR_1, &mac1); wl 1488 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_read32(wl, WL18XX_REG_FUSE_BD_ADDR_2, &mac2); wl 1493 drivers/net/wireless/ti/wl18xx/main.c wl->fuse_oui_addr = ((mac2 & 0xffff) << 8) + wl 1495 drivers/net/wireless/ti/wl18xx/main.c wl->fuse_nic_addr = (mac1 & 0xffffff); wl 1497 drivers/net/wireless/ti/wl18xx/main.c if (!wl->fuse_oui_addr && !wl->fuse_nic_addr) { wl 1502 drivers/net/wireless/ti/wl18xx/main.c wl->fuse_oui_addr = (mac[0] << 16) + (mac[1] << 8) + mac[2]; wl 1503 drivers/net/wireless/ti/wl18xx/main.c wl->fuse_nic_addr = (mac[3] << 16) + (mac[4] << 8) + mac[5]; wl 1507 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_DOWN]); wl 1513 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_handle_static_data(struct wl1271 *wl, wl 1519 drivers/net/wireless/ti/wl18xx/main.c strncpy(wl->chip.phy_fw_ver_str, static_data_priv->phy_version, wl 1520 drivers/net/wireless/ti/wl18xx/main.c sizeof(wl->chip.phy_fw_ver_str)); wl 1523 drivers/net/wireless/ti/wl18xx/main.c wl->chip.phy_fw_ver_str[sizeof(wl->chip.phy_fw_ver_str) - 1] = '\0'; wl 1530 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_get_spare_blocks(struct wl1271 *wl, bool is_gem) wl 1532 drivers/net/wireless/ti/wl18xx/main.c struct wl18xx_priv *priv = wl->priv; wl 1541 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_set_key(struct wl1271 *wl, enum set_key_cmd cmd, wl 1546 drivers/net/wireless/ti/wl18xx/main.c struct wl18xx_priv *priv = wl->priv; wl 1556 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_set_key(wl, cmd, vif, sta, key_conf); wl 1584 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_set_host_cfg_bitmap(wl, wl 1587 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_set_host_cfg_bitmap(wl, wl 1594 drivers/net/wireless/ti/wl18xx/main.c static u32 wl18xx_pre_pkt_send(struct wl1271 *wl, wl 1597 drivers/net/wireless/ti/wl18xx/main.c if (wl->quirks & WLCORE_QUIRK_TX_PAD_LAST_FRAME) { wl 1601 drivers/net/wireless/ti/wl18xx/main.c last_desc = (struct wl1271_tx_hw_descr *)(wl->aggr_buf + wl 1613 drivers/net/wireless/ti/wl18xx/main.c static void wl18xx_sta_rc_update(struct wl1271 *wl, wl 1634 drivers/net/wireless/ti/wl18xx/main.c wl18xx_acx_peer_ht_operation_mode(wl, wlvif->sta.hlid, wide); wl 1639 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_set_peer_cap(struct wl1271 *wl, wl 1644 drivers/net/wireless/ti/wl18xx/main.c return wl18xx_acx_set_peer_cap(wl, ht_cap, allow_ht_operation, wl 1648 drivers/net/wireless/ti/wl18xx/main.c static bool wl18xx_lnk_high_prio(struct wl1271 *wl, u8 hlid, wl 1653 drivers/net/wireless/ti/wl18xx/main.c (struct wl18xx_fw_status_priv *)wl->fw_status->priv; wl 1666 drivers/net/wireless/ti/wl18xx/main.c if (test_bit(hlid, &wl->fw_fast_lnk_map) && wl 1667 drivers/net/wireless/ti/wl18xx/main.c !test_bit(hlid, &wl->ap_fw_ps_map)) wl 1675 drivers/net/wireless/ti/wl18xx/main.c static bool wl18xx_lnk_low_prio(struct wl1271 *wl, u8 hlid, wl 1680 drivers/net/wireless/ti/wl18xx/main.c (struct wl18xx_fw_status_priv *)wl->fw_status->priv; wl 1690 drivers/net/wireless/ti/wl18xx/main.c else if (test_bit(hlid, &wl->fw_fast_lnk_map) && wl 1691 drivers/net/wireless/ti/wl18xx/main.c !test_bit(hlid, &wl->ap_fw_ps_map)) wl 1699 drivers/net/wireless/ti/wl18xx/main.c static u32 wl18xx_convert_hwaddr(struct wl1271 *wl, u32 hwaddr) wl 1704 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_setup(struct wl1271 *wl); wl 1870 drivers/net/wireless/ti/wl18xx/main.c static int wl18xx_setup(struct wl1271 *wl) wl 1872 drivers/net/wireless/ti/wl18xx/main.c struct wl18xx_priv *priv = wl->priv; wl 1879 drivers/net/wireless/ti/wl18xx/main.c wl->rtable = wl18xx_rtable; wl 1880 drivers/net/wireless/ti/wl18xx/main.c wl->num_tx_desc = WL18XX_NUM_TX_DESCRIPTORS; wl 1881 drivers/net/wireless/ti/wl18xx/main.c wl->num_rx_desc = WL18XX_NUM_RX_DESCRIPTORS; wl 1882 drivers/net/wireless/ti/wl18xx/main.c wl->num_links = WL18XX_MAX_LINKS; wl 1883 drivers/net/wireless/ti/wl18xx/main.c wl->max_ap_stations = WL18XX_MAX_AP_STATIONS; wl 1884 drivers/net/wireless/ti/wl18xx/main.c wl->iface_combinations = wl18xx_iface_combinations; wl 1885 drivers/net/wireless/ti/wl18xx/main.c wl->n_iface_combinations = ARRAY_SIZE(wl18xx_iface_combinations); wl 1886 drivers/net/wireless/ti/wl18xx/main.c wl->num_mac_addr = WL18XX_NUM_MAC_ADDRESSES; wl 1887 drivers/net/wireless/ti/wl18xx/main.c wl->band_rate_to_idx = wl18xx_band_rate_to_idx; wl 1888 drivers/net/wireless/ti/wl18xx/main.c wl->hw_tx_rate_tbl_size = WL18XX_CONF_HW_RXTX_RATE_MAX; wl 1889 drivers/net/wireless/ti/wl18xx/main.c wl->hw_min_ht_rate = WL18XX_CONF_HW_RXTX_RATE_MCS0; wl 1890 drivers/net/wireless/ti/wl18xx/main.c wl->fw_status_len = sizeof(struct wl18xx_fw_status); wl 1891 drivers/net/wireless/ti/wl18xx/main.c wl->fw_status_priv_len = sizeof(struct wl18xx_fw_status_priv); wl 1892 drivers/net/wireless/ti/wl18xx/main.c wl->stats.fw_stats_len = sizeof(struct wl18xx_acx_statistics); wl 1893 drivers/net/wireless/ti/wl18xx/main.c wl->static_data_priv_len = sizeof(struct wl18xx_static_data_priv); wl 1896 drivers/net/wireless/ti/wl18xx/main.c wl->num_rx_desc = num_rx_desc_param; wl 1898 drivers/net/wireless/ti/wl18xx/main.c ret = wl18xx_conf_init(wl, wl->dev); wl 1965 drivers/net/wireless/ti/wl18xx/main.c if (wl18xx_is_mimo_supported(wl)) wl 1966 drivers/net/wireless/ti/wl18xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ, wl 1969 drivers/net/wireless/ti/wl18xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ, wl 1973 drivers/net/wireless/ti/wl18xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ, wl 1976 drivers/net/wireless/ti/wl18xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ, wl 1978 drivers/net/wireless/ti/wl18xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ, wl 1981 drivers/net/wireless/ti/wl18xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_2GHZ, wl 1983 drivers/net/wireless/ti/wl18xx/main.c wlcore_set_ht_cap(wl, NL80211_BAND_5GHZ, wl 1993 drivers/net/wireless/ti/wl18xx/main.c wl->enable_11a = (priv->conf.phy.number_of_assembled_ant5 != 0); wl 2000 drivers/net/wireless/ti/wl18xx/main.c struct wl1271 *wl; wl 2013 drivers/net/wireless/ti/wl18xx/main.c wl = hw->priv; wl 2014 drivers/net/wireless/ti/wl18xx/main.c wl->ops = &wl18xx_ops; wl 2015 drivers/net/wireless/ti/wl18xx/main.c wl->ptable = wl18xx_ptable; wl 2016 drivers/net/wireless/ti/wl18xx/main.c ret = wlcore_probe(wl, pdev); wl 2023 drivers/net/wireless/ti/wl18xx/main.c wlcore_free_hw(wl); wl 27 drivers/net/wireless/ti/wl18xx/scan.c static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 64 drivers/net/wireless/ti/wl18xx/scan.c cmd->n_probe_reqs = wl->conf.scan.num_probe_reqs; wl 76 drivers/net/wireless/ti/wl18xx/scan.c wlcore_set_scan_chan_params(wl, cmd_channels, req->channels, wl 100 drivers/net/wireless/ti/wl18xx/scan.c ret = wl12xx_cmd_build_probe_req(wl, wlvif, wl 117 drivers/net/wireless/ti/wl18xx/scan.c ret = wl12xx_cmd_build_probe_req(wl, wlvif, wl 134 drivers/net/wireless/ti/wl18xx/scan.c ret = wl1271_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd), 0); wl 146 drivers/net/wireless/ti/wl18xx/scan.c void wl18xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 148 drivers/net/wireless/ti/wl18xx/scan.c wl->scan.failed = false; wl 149 drivers/net/wireless/ti/wl18xx/scan.c cancel_delayed_work(&wl->scan_complete_work); wl 150 drivers/net/wireless/ti/wl18xx/scan.c ieee80211_queue_delayed_work(wl->hw, &wl->scan_complete_work, wl 155 drivers/net/wireless/ti/wl18xx/scan.c int wl18xx_scan_sched_scan_config(struct wl1271 *wl, wl 162 drivers/net/wireless/ti/wl18xx/scan.c struct conf_sched_scan_settings *c = &wl->conf.sched_scan; wl 168 drivers/net/wireless/ti/wl18xx/scan.c filter_type = wlcore_scan_sched_scan_ssid_list(wl, wlvif, req); wl 211 drivers/net/wireless/ti/wl18xx/scan.c wlcore_set_scan_chan_params(wl, cmd_channels, req->channels, wl 243 drivers/net/wireless/ti/wl18xx/scan.c ret = wl12xx_cmd_build_probe_req(wl, wlvif, wl 260 drivers/net/wireless/ti/wl18xx/scan.c ret = wl12xx_cmd_build_probe_req(wl, wlvif, wl 277 drivers/net/wireless/ti/wl18xx/scan.c ret = wl1271_cmd_send(wl, CMD_SCAN, cmd, sizeof(*cmd), 0); wl 289 drivers/net/wireless/ti/wl18xx/scan.c int wl18xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 293 drivers/net/wireless/ti/wl18xx/scan.c return wl18xx_scan_sched_scan_config(wl, wlvif, req, ies); wl 296 drivers/net/wireless/ti/wl18xx/scan.c static int __wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 313 drivers/net/wireless/ti/wl18xx/scan.c ret = wl1271_cmd_send(wl, CMD_STOP_SCAN, stop, sizeof(*stop), 0); wl 324 drivers/net/wireless/ti/wl18xx/scan.c void wl18xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 326 drivers/net/wireless/ti/wl18xx/scan.c __wl18xx_scan_stop(wl, wlvif, SCAN_TYPE_PERIODIC); wl 328 drivers/net/wireless/ti/wl18xx/scan.c int wl18xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 331 drivers/net/wireless/ti/wl18xx/scan.c return wl18xx_scan_send(wl, wlvif, req); wl 334 drivers/net/wireless/ti/wl18xx/scan.c int wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 336 drivers/net/wireless/ti/wl18xx/scan.c return __wl18xx_scan_stop(wl, wlvif, SCAN_TYPE_SEARCH); wl 105 drivers/net/wireless/ti/wl18xx/scan.h int wl18xx_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 107 drivers/net/wireless/ti/wl18xx/scan.h int wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 108 drivers/net/wireless/ti/wl18xx/scan.h void wl18xx_scan_completed(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 109 drivers/net/wireless/ti/wl18xx/scan.h int wl18xx_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 112 drivers/net/wireless/ti/wl18xx/scan.h void wl18xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 18 drivers/net/wireless/ti/wl18xx/tx.c void wl18xx_get_last_tx_rate(struct wl1271 *wl, struct ieee80211_vif *vif, wl 21 drivers/net/wireless/ti/wl18xx/tx.c u8 fw_rate = wl->links[hlid].fw_rate_idx; wl 62 drivers/net/wireless/ti/wl18xx/tx.c static void wl18xx_tx_complete_packet(struct wl1271 *wl, u8 tx_stat_byte) wl 71 drivers/net/wireless/ti/wl18xx/tx.c if (unlikely(id >= wl->num_tx_desc || wl->tx_frames[id] == NULL)) { wl 79 drivers/net/wireless/ti/wl18xx/tx.c skb = wl->tx_frames[id]; wl 83 drivers/net/wireless/ti/wl18xx/tx.c if (wl12xx_is_dummy_packet(wl, skb)) { wl 84 drivers/net/wireless/ti/wl18xx/tx.c wl1271_free_tx_id(wl, id); wl 95 drivers/net/wireless/ti/wl18xx/tx.c wl18xx_get_last_tx_rate(wl, info->control.vif, wl 104 drivers/net/wireless/ti/wl18xx/tx.c wl->stats.retry_count++; wl 115 drivers/net/wireless/ti/wl18xx/tx.c if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) && wl 127 drivers/net/wireless/ti/wl18xx/tx.c skb_queue_tail(&wl->deferred_tx_queue, skb); wl 128 drivers/net/wireless/ti/wl18xx/tx.c queue_work(wl->freezable_wq, &wl->netstack_work); wl 129 drivers/net/wireless/ti/wl18xx/tx.c wl1271_free_tx_id(wl, id); wl 132 drivers/net/wireless/ti/wl18xx/tx.c void wl18xx_tx_immediate_complete(struct wl1271 *wl) wl 135 drivers/net/wireless/ti/wl18xx/tx.c (struct wl18xx_fw_status_priv *)wl->fw_status->priv; wl 136 drivers/net/wireless/ti/wl18xx/tx.c struct wl18xx_priv *priv = wl->priv; wl 144 drivers/net/wireless/ti/wl18xx/tx.c hlid = wl->fw_status->counters.hlid; wl 147 drivers/net/wireless/ti/wl18xx/tx.c wl->links[hlid].fw_rate_idx = wl 148 drivers/net/wireless/ti/wl18xx/tx.c wl->fw_status->counters.tx_last_rate; wl 149 drivers/net/wireless/ti/wl18xx/tx.c wl->links[hlid].fw_rate_mbps = wl 150 drivers/net/wireless/ti/wl18xx/tx.c wl->fw_status->counters.tx_last_rate_mbps; wl 167 drivers/net/wireless/ti/wl18xx/tx.c wl18xx_tx_complete_packet(wl, wl 170 drivers/net/wireless/ti/wl18xx/tx.c wl->tx_results_count++; wl 30 drivers/net/wireless/ti/wl18xx/tx.h void wl18xx_tx_immediate_complete(struct wl1271 *wl); wl 22 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 41 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_WAKE_UP_CONDITIONS, wl 53 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth) wl 68 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SLEEP_AUTH, auth, sizeof(*auth)); wl 75 drivers/net/wireless/ti/wlcore/acx.c wl->sleep_auth = sleep_auth; wl 82 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 102 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, DOT11_CUR_TX_PWR, acx, sizeof(*acx)); wl 113 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 131 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_FEATURE_CFG, wl 143 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_mem_map(struct wl1271 *wl, struct acx_header *mem_map, wl 150 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_interrogate(wl, ACX_MEM_MAP, mem_map, wl 158 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl) wl 171 drivers/net/wireless/ti/wlcore/acx.c acx->lifetime = cpu_to_le32(wl->conf.rx.rx_msdu_life_time); wl 172 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, DOT11_RX_MSDU_LIFE_TIME, wl 184 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 202 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SLOT, slot, sizeof(*slot)); wl 213 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 233 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, DOT11_GROUP_ADDRESS_TBL, wl 245 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_service_period_timeout(struct wl1271 *wl, wl 260 drivers/net/wireless/ti/wlcore/acx.c rx_timeout->ps_poll_timeout = cpu_to_le16(wl->conf.rx.ps_poll_timeout); wl 261 drivers/net/wireless/ti/wlcore/acx.c rx_timeout->upsd_timeout = cpu_to_le16(wl->conf.rx.upsd_timeout); wl 263 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SERVICE_PERIOD_TIMEOUT, wl 276 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 287 drivers/net/wireless/ti/wlcore/acx.c rts_threshold = wl->conf.rx.rts_threshold; wl 300 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, DOT11_RTS_THRESHOLD, rts, sizeof(*rts)); wl 311 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_dco_itrim_params(struct wl1271 *wl) wl 314 drivers/net/wireless/ti/wlcore/acx.c struct conf_itrim_settings *c = &wl->conf.itrim; wl 328 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SET_DCO_ITRIM_PARAMS, wl 340 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 350 drivers/net/wireless/ti/wlcore/acx.c wl->conf.conn.bcn_filt_mode == CONF_BCN_FILT_MODE_DISABLED) wl 368 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_BEACON_FILTER_OPT, wl 380 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_beacon_filter_table(struct wl1271 *wl, wl 399 drivers/net/wireless/ti/wlcore/acx.c for (i = 0; i < wl->conf.conn.bcn_filt_ie_count; i++) { wl 400 drivers/net/wireless/ti/wlcore/acx.c struct conf_bcn_filt_rule *r = &(wl->conf.conn.bcn_filt_ie[i]); wl 424 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_BEACON_FILTER_TABLE, wl 438 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 456 drivers/net/wireless/ti/wlcore/acx.c threshold = wl->conf.conn.synch_fail_thold; wl 457 drivers/net/wireless/ti/wlcore/acx.c timeout = wl->conf.conn.bss_lose_timeout; wl 464 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_CONN_MONIT_PARAMS, wl 478 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable) wl 492 drivers/net/wireless/ti/wlcore/acx.c pta->enable = wl->conf.sg.state; wl 496 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SG_ENABLE, pta, sizeof(*pta)); wl 507 drivers/net/wireless/ti/wlcore/acx.c int wl12xx_acx_sg_cfg(struct wl1271 *wl) wl 510 drivers/net/wireless/ti/wlcore/acx.c struct conf_sg_settings *c = &wl->conf.sg; wl 526 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SG_CFG, param, sizeof(*param)); wl 537 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_cca_threshold(struct wl1271 *wl) wl 550 drivers/net/wireless/ti/wlcore/acx.c detection->rx_cca_threshold = cpu_to_le16(wl->conf.rx.rx_cca_threshold); wl 551 drivers/net/wireless/ti/wlcore/acx.c detection->tx_energy_detection = wl->conf.tx.tx_energy_detection; wl 553 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_CCA_THRESHOLD, wl 563 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 577 drivers/net/wireless/ti/wlcore/acx.c bb->beacon_rx_timeout = cpu_to_le16(wl->conf.conn.beacon_rx_timeout); wl 578 drivers/net/wireless/ti/wlcore/acx.c bb->broadcast_timeout = cpu_to_le16(wl->conf.conn.broadcast_timeout); wl 579 drivers/net/wireless/ti/wlcore/acx.c bb->rx_broadcast_in_ps = wl->conf.conn.rx_broadcast_in_ps; wl 580 drivers/net/wireless/ti/wlcore/acx.c bb->ps_poll_threshold = wl->conf.conn.ps_poll_threshold; wl 582 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_BCN_DTIM_OPTIONS, bb, sizeof(*bb)); wl 593 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid) wl 609 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_AID, acx_aid, sizeof(*acx_aid)); wl 620 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask) wl 637 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_EVENT_MBOX_MASK, wl 649 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 666 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_PREAMBLE_TYPE, acx, sizeof(*acx)); wl 677 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 694 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_CTS_PROTECTION, acx, sizeof(*acx)); wl 705 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_statistics(struct wl1271 *wl, void *stats) wl 711 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_interrogate(wl, ACX_STATISTICS, stats, wl 713 drivers/net/wireless/ti/wlcore/acx.c wl->stats.fw_stats_len); wl 722 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 725 drivers/net/wireless/ti/wlcore/acx.c struct conf_tx_rate_class *c = &wl->conf.tx.sta_rc_conf; wl 747 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx)); wl 758 drivers/net/wireless/ti/wlcore/acx.c cpu_to_le32(wlcore_hw_sta_get_ap_rate_mask(wl, wlvif)); wl 763 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx)); wl 781 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx)); wl 792 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c, wl 814 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_RATE_POLICY, acx, sizeof(*acx)); wl 825 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 848 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_AC_CFG, acx, sizeof(*acx)); wl 859 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 885 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_TID_CFG, acx, sizeof(*acx)); wl 896 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold) wl 906 drivers/net/wireless/ti/wlcore/acx.c frag_threshold = wl->conf.tx.frag_threshold; wl 918 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_FRAG_CFG, acx, sizeof(*acx)); wl 929 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_tx_config_options(struct wl1271 *wl) wl 943 drivers/net/wireless/ti/wlcore/acx.c acx->tx_compl_timeout = cpu_to_le16(wl->conf.tx.tx_compl_timeout); wl 944 drivers/net/wireless/ti/wlcore/acx.c acx->tx_compl_threshold = cpu_to_le16(wl->conf.tx.tx_compl_threshold); wl 945 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_TX_CONFIG_OPT, acx, sizeof(*acx)); wl 956 drivers/net/wireless/ti/wlcore/acx.c int wl12xx_acx_mem_cfg(struct wl1271 *wl) wl 970 drivers/net/wireless/ti/wlcore/acx.c mem = &wl->conf.mem; wl 977 drivers/net/wireless/ti/wlcore/acx.c mem_conf->total_tx_descriptors = cpu_to_le32(wl->num_tx_desc); wl 982 drivers/net/wireless/ti/wlcore/acx.c mem_conf->fwlog_blocks = wl->conf.fwlog.mem_blocks; wl 984 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_MEM_CFG, mem_conf, wl 997 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_init_mem_config(struct wl1271 *wl) wl 1001 drivers/net/wireless/ti/wlcore/acx.c wl->target_mem_map = kzalloc(sizeof(struct wl1271_acx_mem_map), wl 1003 drivers/net/wireless/ti/wlcore/acx.c if (!wl->target_mem_map) { wl 1009 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_acx_mem_map(wl, (void *)wl->target_mem_map, wl 1013 drivers/net/wireless/ti/wlcore/acx.c kfree(wl->target_mem_map); wl 1014 drivers/net/wireless/ti/wlcore/acx.c wl->target_mem_map = NULL; wl 1019 drivers/net/wireless/ti/wlcore/acx.c wl->tx_blocks_available = wl 1020 drivers/net/wireless/ti/wlcore/acx.c le32_to_cpu(wl->target_mem_map->num_tx_mem_blocks); wl 1022 drivers/net/wireless/ti/wlcore/acx.c wl->tx_blocks_available); wl 1028 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_init_rx_interrupt(struct wl1271 *wl) wl 1041 drivers/net/wireless/ti/wlcore/acx.c rx_conf->threshold = cpu_to_le16(wl->conf.rx.irq_pkt_threshold); wl 1042 drivers/net/wireless/ti/wlcore/acx.c rx_conf->timeout = cpu_to_le16(wl->conf.rx.irq_timeout); wl 1043 drivers/net/wireless/ti/wlcore/acx.c rx_conf->mblk_threshold = cpu_to_le16(wl->conf.rx.irq_blk_threshold); wl 1044 drivers/net/wireless/ti/wlcore/acx.c rx_conf->queue_type = wl->conf.rx.queue_type; wl 1046 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_RX_CONFIG_OPT, rx_conf, wl 1058 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1066 drivers/net/wireless/ti/wlcore/acx.c if (enable && wl->conf.conn.bet_enable == CONF_BET_MODE_DISABLE) wl 1077 drivers/net/wireless/ti/wlcore/acx.c acx->max_consecutive = wl->conf.conn.bet_max_consecutive; wl 1079 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_BET_ENABLE, acx, sizeof(*acx)); wl 1090 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1111 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_ARP_IP_FILTER, wl 1123 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_pm_config(struct wl1271 *wl) wl 1126 drivers/net/wireless/ti/wlcore/acx.c struct conf_pm_config_settings *c = &wl->conf.pm_config; wl 1140 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_PM_CONFIG, acx, sizeof(*acx)); wl 1152 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1169 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_KEEP_ALIVE_MODE, acx, sizeof(*acx)); wl 1180 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1195 drivers/net/wireless/ti/wlcore/acx.c acx->period = cpu_to_le32(wl->conf.conn.keep_alive_interval); wl 1200 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SET_KEEP_ALIVE_CONFIG, wl 1212 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1229 drivers/net/wireless/ti/wlcore/acx.c acx->pacing = cpu_to_le16(wl->conf.roam_trigger.trigger_pacing); wl 1242 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_RSSI_SNR_TRIGGER, acx, sizeof(*acx)); wl 1253 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl, wl 1257 drivers/net/wireless/ti/wlcore/acx.c struct conf_roam_trigger_settings *c = &wl->conf.roam_trigger; wl 1274 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_RSSI_SNR_WEIGHTS, acx, sizeof(*acx)); wl 1285 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_set_ht_capabilities(struct wl1271 *wl, wl 1321 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_PEER_HT_CAP, acx, sizeof(*acx)); wl 1334 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_set_ht_information(struct wl1271 *wl, wl 1358 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_HT_BSS_OPERATION, acx, sizeof(*acx)); wl 1371 drivers/net/wireless/ti/wlcore/acx.c int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl, wl 1387 drivers/net/wireless/ti/wlcore/acx.c acx->tid_bitmap = wl->conf.ht.tx_ba_tid_bitmap; wl 1388 drivers/net/wireless/ti/wlcore/acx.c acx->win_size = wl->conf.ht.tx_ba_win_size; wl 1389 drivers/net/wireless/ti/wlcore/acx.c acx->inactivity_timeout = wl->conf.ht.inactivity_timeout; wl 1391 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, wl 1406 drivers/net/wireless/ti/wlcore/acx.c int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index, wl 1427 drivers/net/wireless/ti/wlcore/acx.c ret = wlcore_cmd_configure_failsafe(wl, ACX_BA_SESSION_RX_SETUP, acx, wl 1448 drivers/net/wireless/ti/wlcore/acx.c int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1462 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_interrogate(wl, ACX_TSF_INFO, tsf_info, wl 1477 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1492 drivers/net/wireless/ti/wlcore/acx.c conf_queues = wl->conf.rx_streaming.queues; wl 1510 drivers/net/wireless/ti/wlcore/acx.c rx_streaming->period = wl->conf.rx_streaming.interval; wl 1511 drivers/net/wireless/ti/wlcore/acx.c rx_streaming->timeout = wl->conf.rx_streaming.interval; wl 1513 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_PS_RX_STREAMING, wl 1526 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 1538 drivers/net/wireless/ti/wlcore/acx.c acx->max_tx_retry = cpu_to_le16(wl->conf.tx.max_tx_retries); wl 1540 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_MAX_TX_FAILURE, acx, sizeof(*acx)); wl 1551 drivers/net/wireless/ti/wlcore/acx.c int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 1564 drivers/net/wireless/ti/wlcore/acx.c config_ps->exit_retries = wl->conf.conn.psm_exit_retries; wl 1565 drivers/net/wireless/ti/wlcore/acx.c config_ps->enter_retries = wl->conf.conn.psm_entry_retries; wl 1568 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_CONFIG_PS, config_ps, wl 1581 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, wl 1596 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_UPDATE_INCONNECTION_STA_LIST, wl 1608 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_fm_coex(struct wl1271 *wl) wl 1621 drivers/net/wireless/ti/wlcore/acx.c acx->enable = wl->conf.fm_coex.enable; wl 1622 drivers/net/wireless/ti/wlcore/acx.c acx->swallow_period = wl->conf.fm_coex.swallow_period; wl 1623 drivers/net/wireless/ti/wlcore/acx.c acx->n_divider_fref_set_1 = wl->conf.fm_coex.n_divider_fref_set_1; wl 1624 drivers/net/wireless/ti/wlcore/acx.c acx->n_divider_fref_set_2 = wl->conf.fm_coex.n_divider_fref_set_2; wl 1626 drivers/net/wireless/ti/wlcore/acx.c cpu_to_le16(wl->conf.fm_coex.m_divider_fref_set_1); wl 1628 drivers/net/wireless/ti/wlcore/acx.c cpu_to_le16(wl->conf.fm_coex.m_divider_fref_set_2); wl 1630 drivers/net/wireless/ti/wlcore/acx.c cpu_to_le32(wl->conf.fm_coex.coex_pll_stabilization_time); wl 1632 drivers/net/wireless/ti/wlcore/acx.c cpu_to_le16(wl->conf.fm_coex.ldo_stabilization_time); wl 1634 drivers/net/wireless/ti/wlcore/acx.c wl->conf.fm_coex.fm_disturbed_band_margin; wl 1635 drivers/net/wireless/ti/wlcore/acx.c acx->swallow_clk_diff = wl->conf.fm_coex.swallow_clk_diff; wl 1637 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_FM_COEX_CFG, acx, sizeof(*acx)); wl 1648 drivers/net/wireless/ti/wlcore/acx.c int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl) wl 1651 drivers/net/wireless/ti/wlcore/acx.c struct conf_rate_policy_settings *conf = &wl->conf.rate; wl 1678 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SET_RATE_MGMT_PARAMS, wl 1690 drivers/net/wireless/ti/wlcore/acx.c int wl12xx_acx_config_hangover(struct wl1271 *wl) wl 1693 drivers/net/wireless/ti/wlcore/acx.c struct conf_hangover_settings *conf = &wl->conf.hangover; wl 1716 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_CONFIG_HANGOVER, acx, wl 1730 drivers/net/wireless/ti/wlcore/acx.c int wlcore_acx_average_rssi(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1745 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_interrogate(wl, ACX_ROAMING_STATISTICS_TBL, wl 1761 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable, wl 1777 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_ENABLE_RX_DATA_FILTER, acx, wl 1790 drivers/net/wireless/ti/wlcore/acx.c int wl1271_acx_set_rx_filter(struct wl1271 *wl, u8 index, bool enable, wl 1829 drivers/net/wireless/ti/wlcore/acx.c ret = wl1271_cmd_configure(wl, ACX_SET_RX_DATA_FILTER, acx, acx_size); wl 1029 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_wake_up_conditions(struct wl1271 *wl, wl 1032 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth); wl 1033 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1035 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 1036 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_mem_map(struct wl1271 *wl, wl 1038 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl); wl 1039 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1041 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1043 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_service_period_timeout(struct wl1271 *wl, wl 1045 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1047 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_dco_itrim_params(struct wl1271 *wl); wl 1048 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1050 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_beacon_filter_table(struct wl1271 *wl, wl 1052 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1054 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable); wl 1055 drivers/net/wireless/ti/wlcore/acx.h int wl12xx_acx_sg_cfg(struct wl1271 *wl); wl 1056 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_cca_threshold(struct wl1271 *wl); wl 1057 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 1058 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid); wl 1059 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask); wl 1060 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1062 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1064 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_statistics(struct wl1271 *wl, void *stats); wl 1065 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 1066 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c, wl 1068 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1070 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1074 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold); wl 1075 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_tx_config_options(struct wl1271 *wl); wl 1076 drivers/net/wireless/ti/wlcore/acx.h int wl12xx_acx_mem_cfg(struct wl1271 *wl); wl 1077 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_init_mem_config(struct wl1271 *wl); wl 1078 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_init_rx_interrupt(struct wl1271 *wl); wl 1079 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_smart_reflex(struct wl1271 *wl); wl 1080 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1082 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1084 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_pm_config(struct wl1271 *wl); wl 1085 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *vif, wl 1087 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1089 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1091 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl, wl 1093 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_set_ht_capabilities(struct wl1271 *wl, wl 1096 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_set_ht_information(struct wl1271 *wl, wl 1099 drivers/net/wireless/ti/wlcore/acx.h int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl, wl 1101 drivers/net/wireless/ti/wlcore/acx.h int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index, wl 1104 drivers/net/wireless/ti/wlcore/acx.h int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1106 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1108 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 1109 drivers/net/wireless/ti/wlcore/acx.h int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 1110 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, wl 1112 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_fm_coex(struct wl1271 *wl); wl 1113 drivers/net/wireless/ti/wlcore/acx.h int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl); wl 1114 drivers/net/wireless/ti/wlcore/acx.h int wl12xx_acx_config_hangover(struct wl1271 *wl); wl 1115 drivers/net/wireless/ti/wlcore/acx.h int wlcore_acx_average_rssi(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1118 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable, wl 1120 drivers/net/wireless/ti/wlcore/acx.h int wl1271_acx_set_rx_filter(struct wl1271 *wl, u8 index, bool enable, wl 21 drivers/net/wireless/ti/wlcore/boot.c static int wl1271_boot_set_ecpu_ctrl(struct wl1271 *wl, u32 flag) wl 27 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_read_reg(wl, REG_ECPU_CONTROL, &cpu_ctrl); wl 33 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_write_reg(wl, REG_ECPU_CONTROL, cpu_ctrl); wl 39 drivers/net/wireless/ti/wlcore/boot.c static int wlcore_boot_parse_fw_ver(struct wl1271 *wl, wl 44 drivers/net/wireless/ti/wlcore/boot.c strncpy(wl->chip.fw_ver_str, static_data->fw_version, wl 45 drivers/net/wireless/ti/wlcore/boot.c sizeof(wl->chip.fw_ver_str)); wl 48 drivers/net/wireless/ti/wlcore/boot.c wl->chip.fw_ver_str[sizeof(wl->chip.fw_ver_str) - 1] = '\0'; wl 50 drivers/net/wireless/ti/wlcore/boot.c ret = sscanf(wl->chip.fw_ver_str + 4, "%u.%u.%u.%u.%u", wl 51 drivers/net/wireless/ti/wlcore/boot.c &wl->chip.fw_ver[0], &wl->chip.fw_ver[1], wl 52 drivers/net/wireless/ti/wlcore/boot.c &wl->chip.fw_ver[2], &wl->chip.fw_ver[3], wl 53 drivers/net/wireless/ti/wlcore/boot.c &wl->chip.fw_ver[4]); wl 57 drivers/net/wireless/ti/wlcore/boot.c memset(wl->chip.fw_ver, 0, sizeof(wl->chip.fw_ver)); wl 62 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_identify_fw(wl); wl 69 drivers/net/wireless/ti/wlcore/boot.c static int wlcore_validate_fw_ver(struct wl1271 *wl) wl 71 drivers/net/wireless/ti/wlcore/boot.c unsigned int *fw_ver = wl->chip.fw_ver; wl 72 drivers/net/wireless/ti/wlcore/boot.c unsigned int *min_ver = (wl->fw_type == WL12XX_FW_TYPE_MULTI) ? wl 73 drivers/net/wireless/ti/wlcore/boot.c wl->min_mr_fw_ver : wl->min_sr_fw_ver; wl 126 drivers/net/wireless/ti/wlcore/boot.c static int wlcore_boot_static_data(struct wl1271 *wl) wl 129 drivers/net/wireless/ti/wlcore/boot.c size_t len = sizeof(*static_data) + wl->static_data_priv_len; wl 138 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_read(wl, wl->cmd_box_addr, static_data, len, false); wl 142 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_boot_parse_fw_ver(wl, static_data); wl 146 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_validate_fw_ver(wl); wl 150 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_handle_static_data(wl, static_data); wl 160 drivers/net/wireless/ti/wlcore/boot.c static int wl1271_boot_upload_firmware_chunk(struct wl1271 *wl, void *buf, wl 186 drivers/net/wireless/ti/wlcore/boot.c memcpy(&partition, &wl->ptable[PART_DOWN], sizeof(partition)); wl 188 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_set_partition(wl, &partition); wl 194 drivers/net/wireless/ti/wlcore/boot.c partition_limit = wl->ptable[PART_DOWN].mem.size; wl 202 drivers/net/wireless/ti/wlcore/boot.c wl->ptable[PART_DOWN].mem.size; wl 204 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_set_partition(wl, &partition); wl 215 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_write(wl, addr, chunk, CHUNK_SIZE, false); wl 228 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_write(wl, addr, chunk, fw_data_len % CHUNK_SIZE, false); wl 235 drivers/net/wireless/ti/wlcore/boot.c int wlcore_boot_upload_firmware(struct wl1271 *wl) wl 241 drivers/net/wireless/ti/wlcore/boot.c fw = wl->fw; wl 259 drivers/net/wireless/ti/wlcore/boot.c ret = wl1271_boot_upload_firmware_chunk(wl, fw, len, addr); wl 269 drivers/net/wireless/ti/wlcore/boot.c int wlcore_boot_upload_nvs(struct wl1271 *wl) wl 271 drivers/net/wireless/ti/wlcore/boot.c struct platform_device *pdev = wl->pdev; wl 280 drivers/net/wireless/ti/wlcore/boot.c if (wl->nvs == NULL) { wl 288 drivers/net/wireless/ti/wlcore/boot.c if (wl->quirks & WLCORE_QUIRK_LEGACY_NVS) { wl 290 drivers/net/wireless/ti/wlcore/boot.c (struct wl1271_nvs_file *)wl->nvs; wl 296 drivers/net/wireless/ti/wlcore/boot.c if (wl->nvs_len == sizeof(struct wl1271_nvs_file) || wl 297 drivers/net/wireless/ti/wlcore/boot.c wl->nvs_len == WL1271_INI_LEGACY_NVS_FILE_SIZE) { wl 299 drivers/net/wireless/ti/wlcore/boot.c wl->enable_11a = true; wl 302 drivers/net/wireless/ti/wlcore/boot.c if (wl->nvs_len != sizeof(struct wl1271_nvs_file) && wl 303 drivers/net/wireless/ti/wlcore/boot.c (wl->nvs_len != WL1271_INI_LEGACY_NVS_FILE_SIZE || wl 304 drivers/net/wireless/ti/wlcore/boot.c wl->enable_11a)) { wl 306 drivers/net/wireless/ti/wlcore/boot.c nvs_name, wl->nvs_len, wl 308 drivers/net/wireless/ti/wlcore/boot.c kfree(wl->nvs); wl 309 drivers/net/wireless/ti/wlcore/boot.c wl->nvs = NULL; wl 310 drivers/net/wireless/ti/wlcore/boot.c wl->nvs_len = 0; wl 318 drivers/net/wireless/ti/wlcore/boot.c struct wl128x_nvs_file *nvs = (struct wl128x_nvs_file *)wl->nvs; wl 320 drivers/net/wireless/ti/wlcore/boot.c if (wl->nvs_len == sizeof(struct wl128x_nvs_file)) { wl 322 drivers/net/wireless/ti/wlcore/boot.c wl->enable_11a = true; wl 325 drivers/net/wireless/ti/wlcore/boot.c nvs_name, wl->nvs_len, wl 327 drivers/net/wireless/ti/wlcore/boot.c kfree(wl->nvs); wl 328 drivers/net/wireless/ti/wlcore/boot.c wl->nvs = NULL; wl 329 drivers/net/wireless/ti/wlcore/boot.c wl->nvs_len = 0; wl 339 drivers/net/wireless/ti/wlcore/boot.c nvs_ptr[11] = wl->addresses[0].addr[0]; wl 340 drivers/net/wireless/ti/wlcore/boot.c nvs_ptr[10] = wl->addresses[0].addr[1]; wl 341 drivers/net/wireless/ti/wlcore/boot.c nvs_ptr[6] = wl->addresses[0].addr[2]; wl 342 drivers/net/wireless/ti/wlcore/boot.c nvs_ptr[5] = wl->addresses[0].addr[3]; wl 343 drivers/net/wireless/ti/wlcore/boot.c nvs_ptr[4] = wl->addresses[0].addr[4]; wl 344 drivers/net/wireless/ti/wlcore/boot.c nvs_ptr[3] = wl->addresses[0].addr[5]; wl 365 drivers/net/wireless/ti/wlcore/boot.c dest_addr += wl->curr_part.reg.start; wl 371 drivers/net/wireless/ti/wlcore/boot.c if (nvs_ptr + 3 >= (u8 *) wl->nvs + nvs_len) wl 380 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_write32(wl, dest_addr, val); wl 388 drivers/net/wireless/ti/wlcore/boot.c if (nvs_ptr >= (u8 *) wl->nvs + nvs_len) wl 399 drivers/net/wireless/ti/wlcore/boot.c nvs_ptr = (u8 *)wl->nvs + wl 400 drivers/net/wireless/ti/wlcore/boot.c ALIGN(nvs_ptr - (u8 *)wl->nvs + 7, 4); wl 402 drivers/net/wireless/ti/wlcore/boot.c if (nvs_ptr >= (u8 *) wl->nvs + nvs_len) wl 405 drivers/net/wireless/ti/wlcore/boot.c nvs_len -= nvs_ptr - (u8 *)wl->nvs; wl 408 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_set_partition(wl, &wl->ptable[PART_WORK]); wl 418 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_write_data(wl, REG_CMD_MBOX_ADDRESS, nvs_aligned, nvs_len, wl 430 drivers/net/wireless/ti/wlcore/boot.c int wlcore_boot_run_firmware(struct wl1271 *wl) wl 436 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]); wl 440 drivers/net/wireless/ti/wlcore/boot.c ret = wl1271_boot_set_ecpu_ctrl(wl, ECPU_CONTROL_HALT); wl 444 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_read_reg(wl, REG_CHIP_ID_B, &chip_id); wl 450 drivers/net/wireless/ti/wlcore/boot.c if (chip_id != wl->chip.id) { wl 459 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR, &intr); wl 470 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_write_reg(wl, REG_INTERRUPT_ACK, wl 485 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_read_reg(wl, REG_COMMAND_MAILBOX_PTR, &wl->cmd_box_addr); wl 489 drivers/net/wireless/ti/wlcore/boot.c wl1271_debug(DEBUG_MAILBOX, "cmd_box_addr 0x%x", wl->cmd_box_addr); wl 492 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_read_reg(wl, REG_EVENT_MAILBOX_PTR, &wl->mbox_ptr[0]); wl 496 drivers/net/wireless/ti/wlcore/boot.c wl->mbox_ptr[1] = wl->mbox_ptr[0] + wl->mbox_size; wl 499 drivers/net/wireless/ti/wlcore/boot.c wl->mbox_ptr[0], wl->mbox_ptr[1]); wl 501 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_boot_static_data(wl); wl 513 drivers/net/wireless/ti/wlcore/boot.c ret = wl1271_event_unmask(wl); wl 520 drivers/net/wireless/ti/wlcore/boot.c ret = wlcore_set_partition(wl, &wl->ptable[PART_WORK]); wl 15 drivers/net/wireless/ti/wlcore/boot.h int wlcore_boot_upload_firmware(struct wl1271 *wl); wl 16 drivers/net/wireless/ti/wlcore/boot.h int wlcore_boot_upload_nvs(struct wl1271 *wl); wl 17 drivers/net/wireless/ti/wlcore/boot.h int wlcore_boot_run_firmware(struct wl1271 *wl); wl 40 drivers/net/wireless/ti/wlcore/cmd.c static int __wlcore_cmd_send(struct wl1271 *wl, u16 id, void *buf, wl 50 drivers/net/wireless/ti/wlcore/cmd.c if (unlikely(wl->state == WLCORE_STATE_RESTARTING && wl 62 drivers/net/wireless/ti/wlcore/cmd.c WARN_ON(test_bit(WL1271_FLAG_IN_ELP, &wl->flags)); wl 64 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_write(wl, wl->cmd_box_addr, buf, len, false); wl 72 drivers/net/wireless/ti/wlcore/cmd.c ret = wl->ops->trigger_cmd(wl, wl->cmd_box_addr, buf, len); wl 78 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR, &intr); wl 94 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR, &intr); wl 103 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_read(wl, wl->cmd_box_addr, cmd, res_len, false); wl 109 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_write_reg(wl, REG_INTERRUPT_ACK, wl 121 drivers/net/wireless/ti/wlcore/cmd.c static int wlcore_cmd_send_failsafe(struct wl1271 *wl, u16 id, void *buf, wl 125 drivers/net/wireless/ti/wlcore/cmd.c int ret = __wlcore_cmd_send(wl, id, buf, len, res_len); wl 141 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_queue_recovery_work(wl); wl 149 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len, wl 152 drivers/net/wireless/ti/wlcore/cmd.c int ret = wlcore_cmd_send_failsafe(wl, id, buf, len, res_len, 0); wl 164 drivers/net/wireless/ti/wlcore/cmd.c int wlcore_cmd_wait_for_event_or_timeout(struct wl1271 *wl, wl 181 drivers/net/wireless/ti/wlcore/cmd.c ret = pm_runtime_get_sync(wl->dev); wl 183 drivers/net/wireless/ti/wlcore/cmd.c pm_runtime_put_noidle(wl->dev); wl 202 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_read(wl, wl->mbox_ptr[0], events_vector, wl 209 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_read(wl, wl->mbox_ptr[1], events_vector, wl 218 drivers/net/wireless/ti/wlcore/cmd.c pm_runtime_mark_last_busy(wl->dev); wl 219 drivers/net/wireless/ti/wlcore/cmd.c pm_runtime_put_autosuspend(wl->dev); wl 226 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_role_enable(struct wl1271 *wl, u8 *addr, u8 role_type, wl 244 drivers/net/wireless/ti/wlcore/cmd.c cmd->role_id = find_first_zero_bit(wl->roles_map, WL12XX_MAX_ROLES); wl 253 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_ENABLE, cmd, sizeof(*cmd), 0); wl 259 drivers/net/wireless/ti/wlcore/cmd.c __set_bit(cmd->role_id, wl->roles_map); wl 269 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_role_disable(struct wl1271 *wl, u8 *role_id) wl 286 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_DISABLE, cmd, sizeof(*cmd), 0); wl 292 drivers/net/wireless/ti/wlcore/cmd.c __clear_bit(*role_id, wl->roles_map); wl 302 drivers/net/wireless/ti/wlcore/cmd.c static int wlcore_get_new_session_id(struct wl1271 *wl, u8 hlid) wl 304 drivers/net/wireless/ti/wlcore/cmd.c if (wl->session_ids[hlid] >= SESSION_COUNTER_MAX) wl 305 drivers/net/wireless/ti/wlcore/cmd.c wl->session_ids[hlid] = 0; wl 307 drivers/net/wireless/ti/wlcore/cmd.c wl->session_ids[hlid]++; wl 309 drivers/net/wireless/ti/wlcore/cmd.c return wl->session_ids[hlid]; wl 312 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_allocate_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid) wl 315 drivers/net/wireless/ti/wlcore/cmd.c u8 link = find_first_zero_bit(wl->links_map, wl->num_links); wl 316 drivers/net/wireless/ti/wlcore/cmd.c if (link >= wl->num_links) wl 319 drivers/net/wireless/ti/wlcore/cmd.c wl->session_ids[link] = wlcore_get_new_session_id(wl, link); wl 322 drivers/net/wireless/ti/wlcore/cmd.c spin_lock_irqsave(&wl->wl_lock, flags); wl 323 drivers/net/wireless/ti/wlcore/cmd.c __set_bit(link, wl->links_map); wl 325 drivers/net/wireless/ti/wlcore/cmd.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 332 drivers/net/wireless/ti/wlcore/cmd.c if (wl->fw_status->counters.tx_lnk_free_pkts) wl 333 drivers/net/wireless/ti/wlcore/cmd.c wl->links[link].prev_freed_pkts = wl 334 drivers/net/wireless/ti/wlcore/cmd.c wl->fw_status->counters.tx_lnk_free_pkts[link]; wl 335 drivers/net/wireless/ti/wlcore/cmd.c wl->links[link].wlvif = wlvif; wl 342 drivers/net/wireless/ti/wlcore/cmd.c wl->links[link].total_freed_pkts = wlvif->total_freed_pkts; wl 346 drivers/net/wireless/ti/wlcore/cmd.c wl->active_link_count++; wl 350 drivers/net/wireless/ti/wlcore/cmd.c void wl12xx_free_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid) wl 358 drivers/net/wireless/ti/wlcore/cmd.c spin_lock_irqsave(&wl->wl_lock, flags); wl 359 drivers/net/wireless/ti/wlcore/cmd.c __clear_bit(*hlid, wl->links_map); wl 361 drivers/net/wireless/ti/wlcore/cmd.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 363 drivers/net/wireless/ti/wlcore/cmd.c wl->links[*hlid].allocated_pkts = 0; wl 364 drivers/net/wireless/ti/wlcore/cmd.c wl->links[*hlid].prev_freed_pkts = 0; wl 365 drivers/net/wireless/ti/wlcore/cmd.c wl->links[*hlid].ba_bitmap = 0; wl 366 drivers/net/wireless/ti/wlcore/cmd.c eth_zero_addr(wl->links[*hlid].addr); wl 372 drivers/net/wireless/ti/wlcore/cmd.c wl1271_tx_reset_link_queues(wl, *hlid); wl 373 drivers/net/wireless/ti/wlcore/cmd.c wl->links[*hlid].wlvif = NULL; wl 382 drivers/net/wireless/ti/wlcore/cmd.c wlvif->total_freed_pkts = wl->links[*hlid].total_freed_pkts; wl 391 drivers/net/wireless/ti/wlcore/cmd.c if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) wl 395 drivers/net/wireless/ti/wlcore/cmd.c wl->links[*hlid].total_freed_pkts = 0; wl 398 drivers/net/wireless/ti/wlcore/cmd.c wl->active_link_count--; wl 399 drivers/net/wireless/ti/wlcore/cmd.c WARN_ON_ONCE(wl->active_link_count < 0); wl 420 drivers/net/wireless/ti/wlcore/cmd.c static int wl12xx_cmd_role_start_dev(struct wl1271 *wl, wl 442 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_allocate_link(wl, wlvif, &wlvif->dev_hlid); wl 447 drivers/net/wireless/ti/wlcore/cmd.c cmd->device.session = wl->session_ids[wlvif->dev_hlid]; wl 452 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0); wl 462 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->dev_hlid); wl 471 drivers/net/wireless/ti/wlcore/cmd.c static int wl12xx_cmd_role_stop_dev(struct wl1271 *wl, wl 492 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0); wl 498 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->dev_hlid); wl 507 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 534 drivers/net/wireless/ti/wlcore/cmd.c wlcore_hw_sta_get_ap_rate_mask(wl, wlvif); wl 543 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_allocate_link(wl, wlvif, &wlvif->sta.hlid); wl 548 drivers/net/wireless/ti/wlcore/cmd.c cmd->sta.session = wl->session_ids[wlvif->sta.hlid]; wl 562 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0); wl 573 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->sta.hlid); wl 583 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 603 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0); wl 609 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->sta.hlid); wl 618 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 644 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_allocate_link(wl, wlvif, &wlvif->ap.global_hlid); wl 648 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_allocate_link(wl, wlvif, &wlvif->ap.bcast_hlid); wl 653 drivers/net/wireless/ti/wlcore/cmd.c wl->links[wlvif->ap.bcast_hlid].total_freed_pkts = wl 657 drivers/net/wireless/ti/wlcore/cmd.c cmd->ap.aging_period = cpu_to_le16(wl->conf.tx.ap_aging_period); wl 661 drivers/net/wireless/ti/wlcore/cmd.c cmd->ap.global_session_id = wl->session_ids[wlvif->ap.global_hlid]; wl 662 drivers/net/wireless/ti/wlcore/cmd.c cmd->ap.bcast_session_id = wl->session_ids[wlvif->ap.bcast_hlid]; wl 685 drivers/net/wireless/ti/wlcore/cmd.c wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif); wl 707 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0); wl 716 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->ap.bcast_hlid); wl 719 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->ap.global_hlid); wl 728 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 743 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_STOP, cmd, sizeof(*cmd), 0); wl 749 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->ap.bcast_hlid); wl 750 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->ap.global_hlid); wl 759 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 788 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_allocate_link(wl, wlvif, &wlvif->sta.hlid); wl 803 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ROLE_START, cmd, sizeof(*cmd), 0); wl 813 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_free_link(wl, wlvif, &wlvif->sta.hlid); wl 831 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer) wl 841 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_TEST, buf, buf_len, res_len); wl 860 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf, wl 873 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_INTERROGATE, acx, cmd_len, res_len); wl 890 drivers/net/wireless/ti/wlcore/cmd.c int wlcore_cmd_configure_failsafe(struct wl1271 *wl, u16 id, void *buf, wl 906 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_cmd_send_failsafe(wl, CMD_CONFIGURE, acx, len, 0, wl 920 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len) wl 922 drivers/net/wireless/ti/wlcore/cmd.c int ret = wlcore_cmd_configure_failsafe(wl, id, buf, len, 0); wl 930 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_data_path(struct wl1271 *wl, bool enable) wl 955 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd), 0); wl 965 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd), 0); wl 981 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 999 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_SET_PS_MODE, ps_params, wl 1011 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_template_set(struct wl1271 *wl, u8 role_id, wl 1035 drivers/net/wireless/ti/wlcore/cmd.c cmd->short_retry_limit = wl->conf.tx.tmpl_short_retry_limit; wl 1036 drivers/net/wireless/ti/wlcore/cmd.c cmd->long_retry_limit = wl->conf.tx.tmpl_long_retry_limit; wl 1042 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_SET_TEMPLATE, cmd, sizeof(*cmd), 0); wl 1055 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_build_null_data(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 1067 drivers/net/wireless/ti/wlcore/cmd.c skb = ieee80211_nullfunc_get(wl->hw, wl 1076 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 1089 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_build_klv_null_data(struct wl1271 *wl, wl 1096 drivers/net/wireless/ti/wlcore/cmd.c skb = ieee80211_nullfunc_get(wl->hw, vif, false); wl 1100 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, CMD_TEMPL_KLV, wl 1114 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_build_ps_poll(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1121 drivers/net/wireless/ti/wlcore/cmd.c skb = ieee80211_pspoll_get(wl->hw, vif); wl 1125 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 1134 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_build_probe_req(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1144 drivers/net/wireless/ti/wlcore/cmd.c u16 template_id_2_4 = wl->scan_templ_id_2_4; wl 1145 drivers/net/wireless/ti/wlcore/cmd.c u16 template_id_5 = wl->scan_templ_id_5; wl 1149 drivers/net/wireless/ti/wlcore/cmd.c skb = ieee80211_probereq_get(wl->hw, vif->addr, ssid, ssid_len, wl 1161 drivers/net/wireless/ti/wlcore/cmd.c (wl->quirks & WLCORE_QUIRK_DUAL_PROBE_TMPL)) { wl 1162 drivers/net/wireless/ti/wlcore/cmd.c template_id_2_4 = wl->sched_scan_templ_id_2_4; wl 1163 drivers/net/wireless/ti/wlcore/cmd.c template_id_5 = wl->sched_scan_templ_id_5; wl 1166 drivers/net/wireless/ti/wlcore/cmd.c rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[band]); wl 1168 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_template_set(wl, role_id, wl 1172 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_template_set(wl, role_id, wl 1182 drivers/net/wireless/ti/wlcore/cmd.c struct sk_buff *wl1271_cmd_build_ap_probe_req(struct wl1271 *wl, wl 1191 drivers/net/wireless/ti/wlcore/cmd.c skb = ieee80211_ap_probereq_get(wl->hw, vif); wl 1197 drivers/net/wireless/ti/wlcore/cmd.c rate = wl1271_tx_min_rate_get(wl, wlvif->bitrate_masks[wlvif->band]); wl 1199 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 1203 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 1214 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 1254 drivers/net/wireless/ti/wlcore/cmd.c if (wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) wl 1297 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, CMD_TEMPL_ARP_RSP, wl 1305 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_build_qos_null_data(struct wl1271 *wl, struct ieee80211_vif *vif) wl 1323 drivers/net/wireless/ti/wlcore/cmd.c return wl1271_cmd_template_set(wl, wlvif->role_id, wl 1329 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_set_default_wep_key(struct wl1271 *wl, u8 id, u8 hlid) wl 1348 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0); wl 1360 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_set_sta_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1413 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0); wl 1429 drivers/net/wireless/ti/wlcore/cmd.c int wl1271_cmd_set_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1480 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_SET_KEYS, cmd, sizeof(*cmd), 0); wl 1491 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_set_peer_state(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1512 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_SET_PEER_STATE, cmd, sizeof(*cmd), 0); wl 1525 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1546 drivers/net/wireless/ti/wlcore/cmd.c cmd->session_id = wl->session_ids[hlid]; wl 1565 drivers/net/wireless/ti/wlcore/cmd.c cpu_to_le32(wl1271_tx_enabled_rates_get(wl, sta_rates, wl 1578 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_ADD_PEER, cmd, sizeof(*cmd), 0); wl 1591 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_remove_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1612 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_REMOVE_PEER, cmd, sizeof(*cmd), 0); wl 1618 drivers/net/wireless/ti/wlcore/cmd.c ret = wl->ops->wait_for_event(wl, wl 1628 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_queue_recovery_work(wl); wl 1678 drivers/net/wireless/ti/wlcore/cmd.c void wlcore_set_pending_regdomain_ch(struct wl1271 *wl, u16 channel, wl 1683 drivers/net/wireless/ti/wlcore/cmd.c if (!(wl->quirks & WLCORE_QUIRK_REGDOMAIN_CONF)) wl 1689 drivers/net/wireless/ti/wlcore/cmd.c __set_bit_le(ch_bit_idx, (long *)wl->reg_ch_conf_pending); wl 1692 drivers/net/wireless/ti/wlcore/cmd.c int wlcore_cmd_regdomain_config_locked(struct wl1271 *wl) wl 1697 drivers/net/wireless/ti/wlcore/cmd.c struct wiphy *wiphy = wl->hw->wiphy; wl 1701 drivers/net/wireless/ti/wlcore/cmd.c if (!(wl->quirks & WLCORE_QUIRK_REGDOMAIN_CONF)) wl 1706 drivers/net/wireless/ti/wlcore/cmd.c memcpy(tmp_ch_bitmap, wl->reg_ch_conf_pending, sizeof(tmp_ch_bitmap)); wl 1731 drivers/net/wireless/ti/wlcore/cmd.c if (!memcmp(tmp_ch_bitmap, wl->reg_ch_conf_last, sizeof(tmp_ch_bitmap))) wl 1742 drivers/net/wireless/ti/wlcore/cmd.c cmd->dfs_region = wl->dfs_region; wl 1748 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_DFS_CHANNEL_CONFIG, cmd, sizeof(*cmd), 0); wl 1754 drivers/net/wireless/ti/wlcore/cmd.c ret = wl->ops->wait_for_event(wl, wl 1764 drivers/net/wireless/ti/wlcore/cmd.c memcpy(wl->reg_ch_conf_last, tmp_ch_bitmap, sizeof(tmp_ch_bitmap)); wl 1765 drivers/net/wireless/ti/wlcore/cmd.c memset(wl->reg_ch_conf_pending, 0, sizeof(wl->reg_ch_conf_pending)); wl 1772 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_config_fwlog(struct wl1271 *wl) wl 1785 drivers/net/wireless/ti/wlcore/cmd.c cmd->logger_mode = wl->conf.fwlog.mode; wl 1786 drivers/net/wireless/ti/wlcore/cmd.c cmd->log_severity = wl->conf.fwlog.severity; wl 1787 drivers/net/wireless/ti/wlcore/cmd.c cmd->timestamp = wl->conf.fwlog.timestamp; wl 1788 drivers/net/wireless/ti/wlcore/cmd.c cmd->output = wl->conf.fwlog.output; wl 1789 drivers/net/wireless/ti/wlcore/cmd.c cmd->threshold = wl->conf.fwlog.threshold; wl 1791 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_CONFIG_FWLOGGER, cmd, sizeof(*cmd), 0); wl 1804 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_start_fwlog(struct wl1271 *wl) wl 1817 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_START_FWLOGGER, cmd, sizeof(*cmd), 0); wl 1830 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_stop_fwlog(struct wl1271 *wl) wl 1843 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_STOP_FWLOGGER, cmd, sizeof(*cmd), 0); wl 1856 drivers/net/wireless/ti/wlcore/cmd.c static int wl12xx_cmd_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1889 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_REMAIN_ON_CHANNEL, cmd, sizeof(*cmd), 0); wl 1902 drivers/net/wireless/ti/wlcore/cmd.c static int wl12xx_cmd_croc(struct wl1271 *wl, u8 role_id) wl 1916 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_CANCEL_REMAIN_ON_CHANNEL, cmd, wl 1930 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 role_id, wl 1935 drivers/net/wireless/ti/wlcore/cmd.c if (WARN_ON(test_bit(role_id, wl->roc_map))) wl 1938 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_cmd_roc(wl, wlvif, role_id, band, channel); wl 1942 drivers/net/wireless/ti/wlcore/cmd.c __set_bit(role_id, wl->roc_map); wl 1947 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_croc(struct wl1271 *wl, u8 role_id) wl 1951 drivers/net/wireless/ti/wlcore/cmd.c if (WARN_ON(!test_bit(role_id, wl->roc_map))) wl 1954 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_cmd_croc(wl, role_id); wl 1958 drivers/net/wireless/ti/wlcore/cmd.c __clear_bit(role_id, wl->roc_map); wl 1965 drivers/net/wireless/ti/wlcore/cmd.c if (find_first_bit(wl->roc_map, WL12XX_MAX_ROLES) >= WL12XX_MAX_ROLES) wl 1966 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_rearm_tx_watchdog_locked(wl); wl 1971 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_cmd_stop_channel_switch(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 1986 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_STOP_CHANNEL_SWICTH, cmd, sizeof(*cmd), 0); wl 2000 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_start_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 2011 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_cmd_role_enable(wl, wl 2019 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_cmd_role_start_dev(wl, wlvif, band, channel); wl 2023 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_roc(wl, wlvif, wlvif->dev_role_id, band, channel); wl 2030 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_cmd_role_stop_dev(wl, wlvif); wl 2033 drivers/net/wireless/ti/wlcore/cmd.c wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id); wl 2039 drivers/net/wireless/ti/wlcore/cmd.c int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 2048 drivers/net/wireless/ti/wlcore/cmd.c ret = wlcore_tx_work_locked(wl); wl 2052 drivers/net/wireless/ti/wlcore/cmd.c if (test_bit(wlvif->dev_role_id, wl->roc_map)) { wl 2053 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_croc(wl, wlvif->dev_role_id); wl 2058 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_cmd_role_stop_dev(wl, wlvif); wl 2063 drivers/net/wireless/ti/wlcore/cmd.c ret = wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id); wl 2072 drivers/net/wireless/ti/wlcore/cmd.c int wlcore_cmd_generic_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 2091 drivers/net/wireless/ti/wlcore/cmd.c ret = wl1271_cmd_send(wl, CMD_GENERIC_CFG, cmd, sizeof(*cmd), 0); wl 18 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_send(struct wl1271 *wl, u16 id, void *buf, size_t len, wl 20 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_role_enable(struct wl1271 *wl, u8 *addr, u8 role_type, wl 22 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_role_disable(struct wl1271 *wl, u8 *role_id); wl 23 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 24 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 25 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 26 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 27 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 28 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_start_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 30 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 31 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer); wl 32 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf, wl 34 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len); wl 35 drivers/net/wireless/ti/wlcore/cmd.h int wlcore_cmd_configure_failsafe(struct wl1271 *wl, u16 id, void *buf, wl 37 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_data_path(struct wl1271 *wl, bool enable); wl 38 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 40 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_read_memory(struct wl1271 *wl, u32 addr, void *answer, wl 42 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_template_set(struct wl1271 *wl, u8 role_id, wl 45 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_build_null_data(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 46 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_build_ps_poll(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 48 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_build_probe_req(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 53 drivers/net/wireless/ti/wlcore/cmd.h struct sk_buff *wl1271_cmd_build_ap_probe_req(struct wl1271 *wl, wl 56 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 57 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_build_qos_null_data(struct wl1271 *wl, struct ieee80211_vif *vif); wl 58 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_build_klv_null_data(struct wl1271 *wl, wl 60 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_set_default_wep_key(struct wl1271 *wl, u8 id, u8 hlid); wl 61 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_set_sta_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 65 drivers/net/wireless/ti/wlcore/cmd.h int wl1271_cmd_set_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 69 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_set_peer_state(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 71 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 role_id, wl 73 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_croc(struct wl1271 *wl, u8 role_id); wl 74 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 76 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_remove_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 78 drivers/net/wireless/ti/wlcore/cmd.h void wlcore_set_pending_regdomain_ch(struct wl1271 *wl, u16 channel, wl 80 drivers/net/wireless/ti/wlcore/cmd.h int wlcore_cmd_regdomain_config_locked(struct wl1271 *wl); wl 81 drivers/net/wireless/ti/wlcore/cmd.h int wlcore_cmd_generic_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 83 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_config_fwlog(struct wl1271 *wl); wl 84 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_start_fwlog(struct wl1271 *wl); wl 85 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_stop_fwlog(struct wl1271 *wl); wl 86 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_channel_switch(struct wl1271 *wl, wl 89 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_cmd_stop_channel_switch(struct wl1271 *wl, wl 91 drivers/net/wireless/ti/wlcore/cmd.h int wl12xx_allocate_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 93 drivers/net/wireless/ti/wlcore/cmd.h void wl12xx_free_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid); wl 94 drivers/net/wireless/ti/wlcore/cmd.h int wlcore_cmd_wait_for_event_or_timeout(struct wl1271 *wl, wl 46 drivers/net/wireless/ti/wlcore/debugfs.c void wl1271_debugfs_update_stats(struct wl1271 *wl) wl 50 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 52 drivers/net/wireless/ti/wlcore/debugfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 55 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 57 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 61 drivers/net/wireless/ti/wlcore/debugfs.c if (!wl->plt && wl 62 drivers/net/wireless/ti/wlcore/debugfs.c time_after(jiffies, wl->stats.fw_stats_update + wl 64 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_acx_statistics(wl, wl->stats.fw_stats); wl 65 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.fw_stats_update = jiffies; wl 68 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 69 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 72 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 76 drivers/net/wireless/ti/wlcore/debugfs.c DEBUGFS_READONLY_FILE(retry_count, "%u", wl->stats.retry_count); wl 78 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.excessive_retries); wl 83 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 88 drivers/net/wireless/ti/wlcore/debugfs.c queue_len = wl1271_tx_total_queue_count(wl); wl 100 drivers/net/wireless/ti/wlcore/debugfs.c static void chip_op_handler(struct wl1271 *wl, unsigned long value, wl 104 drivers/net/wireless/ti/wlcore/debugfs.c int (*chip_op) (struct wl1271 *wl); wl 111 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 113 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 119 drivers/net/wireless/ti/wlcore/debugfs.c chip_op(wl); wl 121 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 122 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 126 drivers/net/wireless/ti/wlcore/debugfs.c static inline void no_write_handler(struct wl1271 *wl, wl 139 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; \ wl 142 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conf_sub_struct.param); \ wl 149 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; \ wl 164 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); \ wl 165 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conf_sub_struct.param = value; \ wl 167 drivers/net/wireless/ti/wlcore/debugfs.c write_handler_locked(wl, value, write_handler_arg); \ wl 169 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); \ wl 190 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 191 drivers/net/wireless/ti/wlcore/debugfs.c bool state = test_bit(WL1271_FLAG_GPIO_POWER, &wl->flags); wl 205 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 215 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 218 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_power_on(wl); wl 220 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_power_off(wl); wl 222 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 237 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 239 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 240 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_queue_recovery_work(wl); wl 241 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 255 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 259 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.dynamic_ps_timeout); wl 266 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 282 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 284 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.dynamic_ps_timeout = value; wl 286 drivers/net/wireless/ti/wlcore/debugfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 289 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 291 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 299 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 301 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_ps_set_mode(wl, wlvif, STATION_AUTO_PS_MODE); wl 304 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 305 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 308 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 322 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 326 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.forced_ps); wl 333 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 349 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 351 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.conn.forced_ps == value) wl 354 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.forced_ps = value; wl 356 drivers/net/wireless/ti/wlcore/debugfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 359 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 361 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 371 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 373 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_ps_set_mode(wl, wlvif, ps_mode); wl 376 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 377 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 380 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 394 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 398 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.scan.split_scan_timeout / 1000); wl 405 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 418 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 420 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.scan.split_scan_timeout = value * 1000; wl 422 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 436 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 448 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 452 drivers/net/wireless/ti/wlcore/debugfs.c #x " = " fmt "\n", wl->x)) wl 464 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 472 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_for_each_wlvif_ap(wl, wlvif) wl 519 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 535 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 546 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 568 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_for_each_wlvif(wl, wlvif) { wl 629 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 645 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 648 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_DTIM || wl 649 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_N_DTIM) wl 650 drivers/net/wireless/ti/wlcore/debugfs.c value = wl->conf.conn.listen_interval; wl 661 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 676 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 678 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.listen_interval = value; wl 681 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_DTIM; wl 683 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_N_DTIM; wl 689 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 706 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 709 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.conn.suspend_wake_up_event == CONF_WAKE_UP_EVENT_DTIM || wl 710 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.suspend_wake_up_event == CONF_WAKE_UP_EVENT_N_DTIM) wl 711 drivers/net/wireless/ti/wlcore/debugfs.c value = wl->conf.conn.suspend_listen_interval; wl 722 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 737 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 739 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.suspend_listen_interval = value; wl 742 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.suspend_wake_up_event = CONF_WAKE_UP_EVENT_DTIM; wl 744 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.suspend_wake_up_event = CONF_WAKE_UP_EVENT_N_DTIM; wl 746 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 761 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 764 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_BEACON || wl 765 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event == CONF_WAKE_UP_EVENT_N_BEACONS) wl 766 drivers/net/wireless/ti/wlcore/debugfs.c value = wl->conf.conn.listen_interval; wl 777 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 792 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 794 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.listen_interval = value; wl 797 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_BEACON; wl 799 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.wake_up_event = CONF_WAKE_UP_EVENT_N_BEACONS; wl 805 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 820 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 837 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 839 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.rx_streaming.interval = value; wl 841 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 843 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 847 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 848 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_recalc_rx_streaming(wl, wlvif); wl 851 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 852 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 854 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 862 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 864 drivers/net/wireless/ti/wlcore/debugfs.c "%d\n", wl->conf.rx_streaming.interval); wl 878 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 895 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 897 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.rx_streaming.always = value; wl 899 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 901 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 905 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 906 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_recalc_rx_streaming(wl, wlvif); wl 909 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 910 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 912 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 920 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 922 drivers/net/wireless/ti/wlcore/debugfs.c "%d\n", wl->conf.rx_streaming.always); wl 936 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 947 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 949 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 951 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 955 drivers/net/wireless/ti/wlcore/debugfs.c wl12xx_for_each_wlvif(wl, wlvif) { wl 956 drivers/net/wireless/ti/wlcore/debugfs.c ret = wl1271_acx_beacon_filter_opt(wl, wlvif, !!value); wl 959 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 960 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 962 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 976 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 978 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_debugfs_update_stats(wl); wl 981 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.fw_stats, wl 982 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.fw_stats_len); wl 994 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 998 drivers/net/wireless/ti/wlcore/debugfs.c wl->sleep_auth); wl 1005 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 1021 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 1023 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.conn.sta_sleep_auth = value; wl 1025 drivers/net/wireless/ti/wlcore/debugfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 1027 drivers/net/wireless/ti/wlcore/debugfs.c wl->sleep_auth = value; wl 1031 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 1033 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 1037 drivers/net/wireless/ti/wlcore/debugfs.c ret = wl1271_acx_sleep_auth(wl, value); wl 1042 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 1043 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 1045 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 1060 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 1087 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 1089 drivers/net/wireless/ti/wlcore/debugfs.c if (unlikely(wl->state == WLCORE_STATE_OFF)) { wl 1098 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_get_sync(wl->dev); wl 1101 drivers/net/wireless/ti/wlcore/debugfs.c memcpy(&old_part, &wl->curr_part, sizeof(old_part)); wl 1102 drivers/net/wireless/ti/wlcore/debugfs.c ret = wlcore_set_partition(wl, &part); wl 1106 drivers/net/wireless/ti/wlcore/debugfs.c ret = wlcore_raw_read(wl, 0, buf, bytes, false); wl 1112 drivers/net/wireless/ti/wlcore/debugfs.c ret = wlcore_set_partition(wl, &old_part); wl 1117 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 1118 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 1121 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 1142 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 1169 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 1171 drivers/net/wireless/ti/wlcore/debugfs.c if (unlikely(wl->state == WLCORE_STATE_OFF)) { wl 1180 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_get_sync(wl->dev); wl 1183 drivers/net/wireless/ti/wlcore/debugfs.c memcpy(&old_part, &wl->curr_part, sizeof(old_part)); wl 1184 drivers/net/wireless/ti/wlcore/debugfs.c ret = wlcore_set_partition(wl, &part); wl 1188 drivers/net/wireless/ti/wlcore/debugfs.c ret = wlcore_raw_write(wl, 0, buf, bytes, false); wl 1194 drivers/net/wireless/ti/wlcore/debugfs.c ret = wlcore_set_partition(wl, &old_part); wl 1199 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 1200 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 1203 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 1232 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 1236 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.fwlog.output); wl 1243 drivers/net/wireless/ti/wlcore/debugfs.c struct wl1271 *wl = file->private_data; wl 1258 drivers/net/wireless/ti/wlcore/debugfs.c if (wl->conf.fwlog.output == 0) { wl 1263 drivers/net/wireless/ti/wlcore/debugfs.c mutex_lock(&wl->mutex); wl 1264 drivers/net/wireless/ti/wlcore/debugfs.c ret = pm_runtime_get_sync(wl->dev); wl 1266 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_noidle(wl->dev); wl 1271 drivers/net/wireless/ti/wlcore/debugfs.c wl->conf.fwlog.output = value; wl 1273 drivers/net/wireless/ti/wlcore/debugfs.c ret = wl12xx_cmd_config_fwlog(wl); wl 1275 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_mark_last_busy(wl->dev); wl 1276 drivers/net/wireless/ti/wlcore/debugfs.c pm_runtime_put_autosuspend(wl->dev); wl 1279 drivers/net/wireless/ti/wlcore/debugfs.c mutex_unlock(&wl->mutex); wl 1290 drivers/net/wireless/ti/wlcore/debugfs.c static void wl1271_debugfs_add_files(struct wl1271 *wl, wl 1325 drivers/net/wireless/ti/wlcore/debugfs.c void wl1271_debugfs_reset(struct wl1271 *wl) wl 1327 drivers/net/wireless/ti/wlcore/debugfs.c if (!wl->stats.fw_stats) wl 1330 drivers/net/wireless/ti/wlcore/debugfs.c memset(wl->stats.fw_stats, 0, wl->stats.fw_stats_len); wl 1331 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.retry_count = 0; wl 1332 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.excessive_retries = 0; wl 1335 drivers/net/wireless/ti/wlcore/debugfs.c int wl1271_debugfs_init(struct wl1271 *wl) wl 1341 drivers/net/wireless/ti/wlcore/debugfs.c wl->hw->wiphy->debugfsdir); wl 1343 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.fw_stats = kzalloc(wl->stats.fw_stats_len, GFP_KERNEL); wl 1344 drivers/net/wireless/ti/wlcore/debugfs.c if (!wl->stats.fw_stats) { wl 1349 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.fw_stats_update = jiffies; wl 1351 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_debugfs_add_files(wl, rootdir); wl 1353 drivers/net/wireless/ti/wlcore/debugfs.c ret = wlcore_debugfs_init(wl, rootdir); wl 1360 drivers/net/wireless/ti/wlcore/debugfs.c wl1271_debugfs_exit(wl); wl 1369 drivers/net/wireless/ti/wlcore/debugfs.c void wl1271_debugfs_exit(struct wl1271 *wl) wl 1371 drivers/net/wireless/ti/wlcore/debugfs.c kfree(wl->stats.fw_stats); wl 1372 drivers/net/wireless/ti/wlcore/debugfs.c wl->stats.fw_stats = NULL; wl 18 drivers/net/wireless/ti/wlcore/debugfs.h int wl1271_debugfs_init(struct wl1271 *wl); wl 19 drivers/net/wireless/ti/wlcore/debugfs.h void wl1271_debugfs_exit(struct wl1271 *wl); wl 20 drivers/net/wireless/ti/wlcore/debugfs.h void wl1271_debugfs_reset(struct wl1271 *wl); wl 21 drivers/net/wireless/ti/wlcore/debugfs.h void wl1271_debugfs_update_stats(struct wl1271 *wl); wl 29 drivers/net/wireless/ti/wlcore/debugfs.h struct wl1271 *wl = file->private_data; \ wl 43 drivers/net/wireless/ti/wlcore/debugfs.h wl, &name## _ops); \ wl 50 drivers/net/wireless/ti/wlcore/debugfs.h wl, &prefix## _## name## _ops); \ wl 58 drivers/net/wireless/ti/wlcore/debugfs.h struct wl1271 *wl = file->private_data; \ wl 59 drivers/net/wireless/ti/wlcore/debugfs.h struct struct_type *stats = wl->stats.fw_stats; \ wl 61 drivers/net/wireless/ti/wlcore/debugfs.h wl1271_debugfs_update_stats(wl); \ wl 78 drivers/net/wireless/ti/wlcore/debugfs.h struct wl1271 *wl = file->private_data; \ wl 79 drivers/net/wireless/ti/wlcore/debugfs.h struct struct_type *stats = wl->stats.fw_stats; \ wl 83 drivers/net/wireless/ti/wlcore/debugfs.h wl1271_debugfs_update_stats(wl); \ wl 25 drivers/net/wireless/ti/wlcore/event.c int wlcore_event_fw_logger(struct wl1271 *wl) wl 47 drivers/net/wireless/ti/wlcore/event.c ret = wlcore_read(wl, addr, buffer, WL18XX_LOGGER_SDIO_BUFF_MAX, wl 71 drivers/net/wireless/ti/wlcore/event.c wl12xx_copy_fwlog(wl, &buffer[start_loc], len); wl 77 drivers/net/wireless/ti/wlcore/event.c wl12xx_copy_fwlog(wl, wl 91 drivers/net/wireless/ti/wlcore/event.c ret = wlcore_write32(wl, addr + WL18XX_LOGGER_READ_POINT_OFFSET, wl 100 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_rssi_trigger(struct wl1271 *wl, s8 *metric_arr) wl 110 drivers/net/wireless/ti/wlcore/event.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 125 drivers/net/wireless/ti/wlcore/event.c static void wl1271_stop_ba_event(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 131 drivers/net/wireless/ti/wlcore/event.c if (!wl->links[hlid].ba_bitmap) wl 133 drivers/net/wireless/ti/wlcore/event.c ieee80211_stop_rx_ba_session(vif, wl->links[hlid].ba_bitmap, wl 139 drivers/net/wireless/ti/wlcore/event.c wl->num_links) { wl 140 drivers/net/wireless/ti/wlcore/event.c lnk = &wl->links[hlid]; wl 151 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_soft_gemini_sense(struct wl1271 *wl, u8 enable) wl 156 drivers/net/wireless/ti/wlcore/event.c set_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags); wl 158 drivers/net/wireless/ti/wlcore/event.c clear_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags); wl 159 drivers/net/wireless/ti/wlcore/event.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 160 drivers/net/wireless/ti/wlcore/event.c wl1271_recalc_rx_streaming(wl, wlvif); wl 166 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_sched_scan_completed(struct wl1271 *wl, wl 172 drivers/net/wireless/ti/wlcore/event.c if (wl->sched_vif) { wl 173 drivers/net/wireless/ti/wlcore/event.c ieee80211_sched_scan_stopped(wl->hw); wl 174 drivers/net/wireless/ti/wlcore/event.c wl->sched_vif = NULL; wl 179 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_ba_rx_constraint(struct wl1271 *wl, wl 188 drivers/net/wireless/ti/wlcore/event.c wl12xx_for_each_wlvif(wl, wlvif) { wl 196 drivers/net/wireless/ti/wlcore/event.c wl1271_stop_ba_event(wl, wlvif); wl 201 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_channel_switch(struct wl1271 *wl, wl 211 drivers/net/wireless/ti/wlcore/event.c wl12xx_for_each_wlvif(wl, wlvif) { wl 233 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_dummy_packet(struct wl1271 *wl) wl 235 drivers/net/wireless/ti/wlcore/event.c if (wl->plt) { wl 241 drivers/net/wireless/ti/wlcore/event.c wl1271_tx_dummy_packet(wl); wl 245 drivers/net/wireless/ti/wlcore/event.c static void wlcore_disconnect_sta(struct wl1271 *wl, unsigned long sta_bitmap) wl 247 drivers/net/wireless/ti/wlcore/event.c u32 num_packets = wl->conf.tx.max_tx_retries; wl 254 drivers/net/wireless/ti/wlcore/event.c for_each_set_bit(h, &sta_bitmap, wl->num_links) { wl 257 drivers/net/wireless/ti/wlcore/event.c wl12xx_for_each_wlvif_ap(wl, wlvif) { wl 267 drivers/net/wireless/ti/wlcore/event.c addr = wl->links[h].addr; wl 279 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_max_tx_failure(struct wl1271 *wl, unsigned long sta_bitmap) wl 282 drivers/net/wireless/ti/wlcore/event.c wlcore_disconnect_sta(wl, sta_bitmap); wl 286 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_inactive_sta(struct wl1271 *wl, unsigned long sta_bitmap) wl 289 drivers/net/wireless/ti/wlcore/event.c wlcore_disconnect_sta(wl, sta_bitmap); wl 293 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_roc_complete(struct wl1271 *wl) wl 296 drivers/net/wireless/ti/wlcore/event.c if (wl->roc_vif) wl 297 drivers/net/wireless/ti/wlcore/event.c ieee80211_ready_on_channel(wl->hw); wl 301 drivers/net/wireless/ti/wlcore/event.c void wlcore_event_beacon_loss(struct wl1271 *wl, unsigned long roles_bitmap) wl 309 drivers/net/wireless/ti/wlcore/event.c int delay = wl->conf.conn.synch_fail_thold * wl 310 drivers/net/wireless/ti/wlcore/event.c wl->conf.conn.bss_lose_timeout; wl 314 drivers/net/wireless/ti/wlcore/event.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 332 drivers/net/wireless/ti/wlcore/event.c ieee80211_queue_delayed_work(wl->hw, wl 341 drivers/net/wireless/ti/wlcore/event.c int wl1271_event_unmask(struct wl1271 *wl) wl 345 drivers/net/wireless/ti/wlcore/event.c wl1271_debug(DEBUG_EVENT, "unmasking event_mask 0x%x", wl->event_mask); wl 346 drivers/net/wireless/ti/wlcore/event.c ret = wl1271_acx_event_mbox_mask(wl, ~(wl->event_mask)); wl 353 drivers/net/wireless/ti/wlcore/event.c int wl1271_event_handle(struct wl1271 *wl, u8 mbox_num) wl 363 drivers/net/wireless/ti/wlcore/event.c ret = wlcore_read(wl, wl->mbox_ptr[mbox_num], wl->mbox, wl 364 drivers/net/wireless/ti/wlcore/event.c wl->mbox_size, false); wl 369 drivers/net/wireless/ti/wlcore/event.c ret = wl->ops->process_mailbox_events(wl); wl 377 drivers/net/wireless/ti/wlcore/event.c ret = wl->ops->ack_event(wl); wl 63 drivers/net/wireless/ti/wlcore/event.h int wl1271_event_unmask(struct wl1271 *wl); wl 64 drivers/net/wireless/ti/wlcore/event.h int wl1271_event_handle(struct wl1271 *wl, u8 mbox); wl 66 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_soft_gemini_sense(struct wl1271 *wl, u8 enable); wl 67 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_sched_scan_completed(struct wl1271 *wl, wl 69 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_ba_rx_constraint(struct wl1271 *wl, wl 72 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_channel_switch(struct wl1271 *wl, wl 75 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_beacon_loss(struct wl1271 *wl, unsigned long roles_bitmap); wl 76 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_dummy_packet(struct wl1271 *wl); wl 77 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_max_tx_failure(struct wl1271 *wl, unsigned long sta_bitmap); wl 78 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_inactive_sta(struct wl1271 *wl, unsigned long sta_bitmap); wl 79 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_roc_complete(struct wl1271 *wl); wl 80 drivers/net/wireless/ti/wlcore/event.h void wlcore_event_rssi_trigger(struct wl1271 *wl, s8 *metric_arr); wl 81 drivers/net/wireless/ti/wlcore/event.h int wlcore_event_fw_logger(struct wl1271 *wl); wl 15 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_calc_tx_blocks(struct wl1271 *wl, u32 len, u32 spare_blks) wl 17 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->calc_tx_blocks) wl 20 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->calc_tx_blocks(wl, len, spare_blks); wl 24 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_set_tx_desc_blocks(struct wl1271 *wl, struct wl1271_tx_hw_descr *desc, wl 27 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->set_tx_desc_blocks) wl 30 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->set_tx_desc_blocks(wl, desc, blks, spare_blks); wl 34 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_set_tx_desc_data_len(struct wl1271 *wl, wl 38 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->set_tx_desc_data_len) wl 41 drivers/net/wireless/ti/wlcore/hw_ops.h wl->ops->set_tx_desc_data_len(wl, desc, skb); wl 45 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_get_rx_buf_align(struct wl1271 *wl, u32 rx_desc) wl 48 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->get_rx_buf_align) wl 51 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->get_rx_buf_align(wl, rx_desc); wl 55 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_prepare_read(struct wl1271 *wl, u32 rx_desc, u32 len) wl 57 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->prepare_read) wl 58 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->prepare_read(wl, rx_desc, len); wl 64 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_get_rx_packet_len(struct wl1271 *wl, void *rx_data, u32 data_len) wl 66 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->get_rx_packet_len) wl 69 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->get_rx_packet_len(wl, rx_data, data_len); wl 72 drivers/net/wireless/ti/wlcore/hw_ops.h static inline int wlcore_hw_tx_delayed_compl(struct wl1271 *wl) wl 74 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->tx_delayed_compl) wl 75 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->tx_delayed_compl(wl); wl 80 drivers/net/wireless/ti/wlcore/hw_ops.h static inline void wlcore_hw_tx_immediate_compl(struct wl1271 *wl) wl 82 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->tx_immediate_compl) wl 83 drivers/net/wireless/ti/wlcore/hw_ops.h wl->ops->tx_immediate_compl(wl); wl 87 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_init_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 89 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->init_vif) wl 90 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->init_vif(wl, wlvif); wl 96 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_convert_fw_status(struct wl1271 *wl, void *raw_fw_status, wl 99 drivers/net/wireless/ti/wlcore/hw_ops.h BUG_ON(!wl->ops->convert_fw_status); wl 101 drivers/net/wireless/ti/wlcore/hw_ops.h wl->ops->convert_fw_status(wl, raw_fw_status, fw_status); wl 105 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_sta_get_ap_rate_mask(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 107 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->sta_get_ap_rate_mask) wl 110 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->sta_get_ap_rate_mask(wl, wlvif); wl 113 drivers/net/wireless/ti/wlcore/hw_ops.h static inline int wlcore_identify_fw(struct wl1271 *wl) wl 115 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->identify_fw) wl 116 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->identify_fw(wl); wl 122 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_set_tx_desc_csum(struct wl1271 *wl, wl 126 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->set_tx_desc_csum) wl 129 drivers/net/wireless/ti/wlcore/hw_ops.h wl->ops->set_tx_desc_csum(wl, desc, skb); wl 133 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_set_rx_csum(struct wl1271 *wl, wl 137 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->set_rx_csum) wl 138 drivers/net/wireless/ti/wlcore/hw_ops.h wl->ops->set_rx_csum(wl, desc, skb); wl 142 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_ap_get_mimo_wide_rate_mask(struct wl1271 *wl, wl 145 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->ap_get_mimo_wide_rate_mask) wl 146 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->ap_get_mimo_wide_rate_mask(wl, wlvif); wl 152 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_debugfs_init(struct wl1271 *wl, struct dentry *rootdir) wl 154 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->debugfs_init) wl 155 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->debugfs_init(wl, rootdir); wl 161 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_handle_static_data(struct wl1271 *wl, void *static_data) wl 163 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->handle_static_data) wl 164 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->handle_static_data(wl, static_data); wl 170 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_get_spare_blocks(struct wl1271 *wl, bool is_gem) wl 172 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->get_spare_blocks) wl 175 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->get_spare_blocks(wl, is_gem); wl 179 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_set_key(struct wl1271 *wl, enum set_key_cmd cmd, wl 184 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->set_key) wl 187 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->set_key(wl, cmd, vif, sta, key_conf); wl 191 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_pre_pkt_send(struct wl1271 *wl, u32 buf_offset, u32 last_len) wl 193 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->pre_pkt_send) wl 194 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->pre_pkt_send(wl, buf_offset, last_len); wl 200 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_sta_rc_update(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 202 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->sta_rc_update) wl 203 drivers/net/wireless/ti/wlcore/hw_ops.h wl->ops->sta_rc_update(wl, wlvif); wl 207 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_interrupt_notify(struct wl1271 *wl, bool action) wl 209 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->interrupt_notify) wl 210 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->interrupt_notify(wl, action); wl 215 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_rx_ba_filter(struct wl1271 *wl, bool action) wl 217 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->rx_ba_filter) wl 218 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->rx_ba_filter(wl, action); wl 223 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_ap_sleep(struct wl1271 *wl) wl 225 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->ap_sleep) wl 226 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->ap_sleep(wl); wl 232 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_set_peer_cap(struct wl1271 *wl, wl 237 drivers/net/wireless/ti/wlcore/hw_ops.h if (wl->ops->set_peer_cap) wl 238 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->set_peer_cap(wl, ht_cap, allow_ht_operation, wl 245 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_convert_hwaddr(struct wl1271 *wl, u32 hwaddr) wl 247 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->convert_hwaddr) wl 250 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->convert_hwaddr(wl, hwaddr); wl 254 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_lnk_high_prio(struct wl1271 *wl, u8 hlid, wl 257 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->lnk_high_prio) wl 260 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->lnk_high_prio(wl, hlid, lnk); wl 264 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_lnk_low_prio(struct wl1271 *wl, u8 hlid, wl 267 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->lnk_low_prio) wl 270 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->lnk_low_prio(wl, hlid, lnk); wl 274 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_smart_config_start(struct wl1271 *wl, u32 group_bitmap) wl 276 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->smart_config_start) wl 279 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->smart_config_start(wl, group_bitmap); wl 283 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_smart_config_stop(struct wl1271 *wl) wl 285 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->smart_config_stop) wl 288 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->smart_config_stop(wl); wl 292 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_smart_config_set_group_key(struct wl1271 *wl, u16 group_id, wl 295 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->smart_config_set_group_key) wl 298 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->smart_config_set_group_key(wl, group_id, key_len, key); wl 302 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start) wl 304 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->set_cac) wl 307 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->set_cac(wl, wlvif, start); wl 311 drivers/net/wireless/ti/wlcore/hw_ops.h wlcore_hw_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 313 drivers/net/wireless/ti/wlcore/hw_ops.h if (!wl->ops->dfs_master_restart) wl 316 drivers/net/wireless/ti/wlcore/hw_ops.h return wl->ops->dfs_master_restart(wl, wlvif); wl 23 drivers/net/wireless/ti/wlcore/init.c int wl1271_init_templates_config(struct wl1271 *wl) wl 29 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 30 drivers/net/wireless/ti/wlcore/init.c wl->scan_templ_id_2_4, NULL, wl 36 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 37 drivers/net/wireless/ti/wlcore/init.c wl->scan_templ_id_5, wl 43 drivers/net/wireless/ti/wlcore/init.c if (wl->quirks & WLCORE_QUIRK_DUAL_PROBE_TMPL) { wl 44 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 45 drivers/net/wireless/ti/wlcore/init.c wl->sched_scan_templ_id_2_4, wl 52 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 53 drivers/net/wireless/ti/wlcore/init.c wl->sched_scan_templ_id_5, wl 61 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 68 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 75 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 83 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 90 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 99 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 110 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 117 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 124 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 133 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, WL12XX_INVALID_ROLE_ID, wl 144 drivers/net/wireless/ti/wlcore/init.c static int wl1271_ap_init_deauth_template(struct wl1271 *wl, wl 160 drivers/net/wireless/ti/wlcore/init.c rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); wl 161 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 170 drivers/net/wireless/ti/wlcore/init.c static int wl1271_ap_init_null_template(struct wl1271 *wl, wl 193 drivers/net/wireless/ti/wlcore/init.c rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); wl 194 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 203 drivers/net/wireless/ti/wlcore/init.c static int wl1271_ap_init_qos_null_template(struct wl1271 *wl, wl 226 drivers/net/wireless/ti/wlcore/init.c rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); wl 227 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 236 drivers/net/wireless/ti/wlcore/init.c static int wl12xx_init_rx_config(struct wl1271 *wl) wl 240 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_rx_msdu_life_time(wl); wl 247 drivers/net/wireless/ti/wlcore/init.c static int wl12xx_init_phy_vif_config(struct wl1271 *wl, wl 252 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_slot(wl, wlvif, DEFAULT_SLOT_TIME); wl 256 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_service_period_timeout(wl, wlvif); wl 260 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_rts_threshold(wl, wlvif, wl->hw->wiphy->rts_threshold); wl 267 drivers/net/wireless/ti/wlcore/init.c static int wl1271_init_sta_beacon_filter(struct wl1271 *wl, wl 272 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_beacon_filter_table(wl, wlvif); wl 277 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false); wl 284 drivers/net/wireless/ti/wlcore/init.c int wl1271_init_pta(struct wl1271 *wl) wl 288 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_acx_sg_cfg(wl); wl 292 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_sg_enable(wl, wl->sg_enabled); wl 299 drivers/net/wireless/ti/wlcore/init.c int wl1271_init_energy_detection(struct wl1271 *wl) wl 303 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_cca_threshold(wl); wl 310 drivers/net/wireless/ti/wlcore/init.c static int wl1271_init_beacon_broadcast(struct wl1271 *wl, wl 315 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_bcn_dtim_options(wl, wlvif); wl 322 drivers/net/wireless/ti/wlcore/init.c static int wl12xx_init_fwlog(struct wl1271 *wl) wl 326 drivers/net/wireless/ti/wlcore/init.c if (wl->quirks & WLCORE_QUIRK_FWLOG_NOT_IMPLEMENTED) wl 329 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_cmd_config_fwlog(wl); wl 337 drivers/net/wireless/ti/wlcore/init.c int wl1271_sta_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 342 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_acx_config_ps(wl, wlvif); wl 347 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_fm_coex(wl); wl 351 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_sta_rate_policies(wl, wlvif); wl 358 drivers/net/wireless/ti/wlcore/init.c static int wl1271_sta_hw_init_post_mem(struct wl1271 *wl, wl 365 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_keep_alive_mode(wl, wlvif, false); wl 373 drivers/net/wireless/ti/wlcore/init.c static int wl1271_ap_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 377 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_init_ap_rates(wl, wlvif); wl 382 drivers/net/wireless/ti/wlcore/init.c ret = wlcore_hw_ap_sleep(wl); wl 389 drivers/net/wireless/ti/wlcore/init.c int wl1271_ap_init_templates(struct wl1271 *wl, struct ieee80211_vif *vif) wl 394 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_ap_init_deauth_template(wl, wlvif); wl 398 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_ap_init_null_template(wl, vif); wl 402 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_ap_init_qos_null_template(wl, vif); wl 410 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false); wl 417 drivers/net/wireless/ti/wlcore/init.c static int wl1271_ap_hw_init_post_mem(struct wl1271 *wl, wl 420 drivers/net/wireless/ti/wlcore/init.c return wl1271_ap_init_templates(wl, vif); wl 423 drivers/net/wireless/ti/wlcore/init.c int wl1271_init_ap_rates(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 439 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_ap_rate_policy(wl, &rc, wlvif->ap.mgmt_rate_idx); wl 444 drivers/net/wireless/ti/wlcore/init.c rc.enabled_rates = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); wl 448 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_ap_rate_policy(wl, &rc, wlvif->ap.bcast_rate_idx); wl 456 drivers/net/wireless/ti/wlcore/init.c if (wl->ofdm_only_ap && (wlvif->basic_rate_set & CONF_TX_OFDM_RATES)) wl 465 drivers/net/wireless/ti/wlcore/init.c supported_rates |= wlcore_hw_ap_get_mimo_wide_rate_mask(wl, wlvif); wl 468 drivers/net/wireless/ti/wlcore/init.c for (i = 0; i < wl->conf.tx.ac_conf_count; i++) { wl 473 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_ap_rate_policy(wl, &rc, wl 482 drivers/net/wireless/ti/wlcore/init.c static int wl1271_set_ba_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 486 drivers/net/wireless/ti/wlcore/init.c wl->ba_rx_session_count = 0; wl 498 drivers/net/wireless/ti/wlcore/init.c return wl12xx_acx_set_ba_initiator_policy(wl, wlvif); wl 502 drivers/net/wireless/ti/wlcore/init.c static int wl12xx_init_sta_role(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 506 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_group_address_tbl(wl, wlvif, true, NULL, 0); wl 511 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_conn_monit_params(wl, wlvif, false); wl 516 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_init_sta_beacon_filter(wl, wlvif); wl 521 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_init_beacon_broadcast(wl, wlvif); wl 526 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_rssi_snr_avg_weights(wl, wlvif); wl 534 drivers/net/wireless/ti/wlcore/init.c static int wl12xx_init_ap_role(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 538 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_ap_max_tx_retry(wl, wlvif); wl 543 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_tx_power(wl, wlvif, wlvif->power_level); wl 547 drivers/net/wireless/ti/wlcore/init.c if (wl->radar_debug_mode) wl 548 drivers/net/wireless/ti/wlcore/init.c wlcore_cmd_generic_cfg(wl, wlvif, wl 550 drivers/net/wireless/ti/wlcore/init.c wl->radar_debug_mode, 0); wl 555 drivers/net/wireless/ti/wlcore/init.c int wl1271_init_vif_specific(struct wl1271 *wl, struct ieee80211_vif *vif) wl 565 drivers/net/wireless/ti/wlcore/init.c if (wl->ap_count == 0 && is_ap) { /* first AP */ wl 566 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_sleep_auth(wl, WL1271_PSM_ELP); wl 571 drivers/net/wireless/ti/wlcore/init.c wl->event_mask |= wl->ap_event_mask; wl 572 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_event_unmask(wl); wl 576 drivers/net/wireless/ti/wlcore/init.c } else if (wl->sta_count == 0 && wl->ap_count == 0 && !is_ap) { wl 577 drivers/net/wireless/ti/wlcore/init.c u8 sta_auth = wl->conf.conn.sta_sleep_auth; wl 580 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_sleep_auth(wl, sta_auth); wl 583 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_sleep_auth(wl, WL1271_PSM_ELP); wl 591 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_ap_hw_init(wl, wlvif); wl 595 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_init_ap_role(wl, wlvif); wl 599 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_sta_hw_init(wl, wlvif); wl 603 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_init_sta_role(wl, wlvif); wl 608 drivers/net/wireless/ti/wlcore/init.c wl12xx_init_phy_vif_config(wl, wlvif); wl 611 drivers/net/wireless/ti/wlcore/init.c BUG_ON(wl->conf.tx.tid_conf_count != wl->conf.tx.ac_conf_count); wl 612 drivers/net/wireless/ti/wlcore/init.c for (i = 0; i < wl->conf.tx.tid_conf_count; i++) { wl 613 drivers/net/wireless/ti/wlcore/init.c conf_ac = &wl->conf.tx.ac_conf[i]; wl 614 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_ac_cfg(wl, wlvif, conf_ac->ac, wl 620 drivers/net/wireless/ti/wlcore/init.c conf_tid = &wl->conf.tx.tid_conf[i]; wl 621 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_tid_cfg(wl, wlvif, wl 634 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_feature_cfg(wl, wlvif); wl 640 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_ap_hw_init_post_mem(wl, vif); wl 642 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_sta_hw_init_post_mem(wl, vif); wl 648 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_set_ba_policies(wl, wlvif); wl 652 drivers/net/wireless/ti/wlcore/init.c ret = wlcore_hw_init_vif(wl, wlvif); wl 659 drivers/net/wireless/ti/wlcore/init.c int wl1271_hw_init(struct wl1271 *wl) wl 664 drivers/net/wireless/ti/wlcore/init.c ret = wl->ops->hw_init(wl); wl 669 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_init_templates_config(wl); wl 673 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_acx_mem_cfg(wl); wl 678 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_init_fwlog(wl); wl 682 drivers/net/wireless/ti/wlcore/init.c ret = wlcore_cmd_regdomain_config_locked(wl); wl 687 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_init_pta(wl); wl 692 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_init_mem_config(wl); wl 697 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_init_rx_config(wl); wl 701 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_dco_itrim_params(wl); wl 706 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_tx_config_options(wl); wl 711 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_init_rx_interrupt(wl); wl 716 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_init_energy_detection(wl); wl 721 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_frag_threshold(wl, wl->hw->wiphy->frag_threshold); wl 726 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_cmd_data_path(wl, 1); wl 731 drivers/net/wireless/ti/wlcore/init.c ret = wl1271_acx_pm_config(wl); wl 735 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_acx_set_rate_mgmt_params(wl); wl 740 drivers/net/wireless/ti/wlcore/init.c ret = wl12xx_acx_config_hangover(wl); wl 747 drivers/net/wireless/ti/wlcore/init.c kfree(wl->target_mem_map); wl 748 drivers/net/wireless/ti/wlcore/init.c wl->target_mem_map = NULL; wl 15 drivers/net/wireless/ti/wlcore/init.h int wl1271_hw_init_power_auth(struct wl1271 *wl); wl 16 drivers/net/wireless/ti/wlcore/init.h int wl1271_init_templates_config(struct wl1271 *wl); wl 17 drivers/net/wireless/ti/wlcore/init.h int wl1271_init_pta(struct wl1271 *wl); wl 18 drivers/net/wireless/ti/wlcore/init.h int wl1271_init_energy_detection(struct wl1271 *wl); wl 19 drivers/net/wireless/ti/wlcore/init.h int wl1271_chip_specific_init(struct wl1271 *wl); wl 20 drivers/net/wireless/ti/wlcore/init.h int wl1271_hw_init(struct wl1271 *wl); wl 21 drivers/net/wireless/ti/wlcore/init.h int wl1271_init_vif_specific(struct wl1271 *wl, struct ieee80211_vif *vif); wl 22 drivers/net/wireless/ti/wlcore/init.h int wl1271_init_ap_rates(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 23 drivers/net/wireless/ti/wlcore/init.h int wl1271_ap_init_templates(struct wl1271 *wl, struct ieee80211_vif *vif); wl 24 drivers/net/wireless/ti/wlcore/init.h int wl1271_sta_hw_init(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 21 drivers/net/wireless/ti/wlcore/io.c bool wl1271_set_block_size(struct wl1271 *wl) wl 23 drivers/net/wireless/ti/wlcore/io.c if (wl->if_ops->set_block_size) { wl 24 drivers/net/wireless/ti/wlcore/io.c wl->if_ops->set_block_size(wl->dev, WL12XX_BUS_BLOCK_SIZE); wl 31 drivers/net/wireless/ti/wlcore/io.c void wlcore_disable_interrupts(struct wl1271 *wl) wl 33 drivers/net/wireless/ti/wlcore/io.c disable_irq(wl->irq); wl 37 drivers/net/wireless/ti/wlcore/io.c void wlcore_disable_interrupts_nosync(struct wl1271 *wl) wl 39 drivers/net/wireless/ti/wlcore/io.c disable_irq_nosync(wl->irq); wl 43 drivers/net/wireless/ti/wlcore/io.c void wlcore_enable_interrupts(struct wl1271 *wl) wl 45 drivers/net/wireless/ti/wlcore/io.c enable_irq(wl->irq); wl 49 drivers/net/wireless/ti/wlcore/io.c void wlcore_synchronize_interrupts(struct wl1271 *wl) wl 51 drivers/net/wireless/ti/wlcore/io.c synchronize_irq(wl->irq); wl 55 drivers/net/wireless/ti/wlcore/io.c int wlcore_translate_addr(struct wl1271 *wl, int addr) wl 57 drivers/net/wireless/ti/wlcore/io.c struct wlcore_partition_set *part = &wl->curr_part; wl 123 drivers/net/wireless/ti/wlcore/io.c int wlcore_set_partition(struct wl1271 *wl, wl 129 drivers/net/wireless/ti/wlcore/io.c memcpy(&wl->curr_part, p, sizeof(*p)); wl 140 drivers/net/wireless/ti/wlcore/io.c ret = wlcore_raw_write32(wl, HW_PART0_START_ADDR, p->mem.start); wl 144 drivers/net/wireless/ti/wlcore/io.c ret = wlcore_raw_write32(wl, HW_PART0_SIZE_ADDR, p->mem.size); wl 148 drivers/net/wireless/ti/wlcore/io.c ret = wlcore_raw_write32(wl, HW_PART1_START_ADDR, p->reg.start); wl 152 drivers/net/wireless/ti/wlcore/io.c ret = wlcore_raw_write32(wl, HW_PART1_SIZE_ADDR, p->reg.size); wl 156 drivers/net/wireless/ti/wlcore/io.c ret = wlcore_raw_write32(wl, HW_PART2_START_ADDR, p->mem2.start); wl 160 drivers/net/wireless/ti/wlcore/io.c ret = wlcore_raw_write32(wl, HW_PART2_SIZE_ADDR, p->mem2.size); wl 175 drivers/net/wireless/ti/wlcore/io.c ret = wlcore_raw_write32(wl, HW_PART3_START_ADDR, p->mem3.start); wl 179 drivers/net/wireless/ti/wlcore/io.c ret = wlcore_raw_write32(wl, HW_PART3_SIZE_ADDR, p->mem3.size); wl 188 drivers/net/wireless/ti/wlcore/io.c void wl1271_io_reset(struct wl1271 *wl) wl 190 drivers/net/wireless/ti/wlcore/io.c if (wl->if_ops->reset) wl 191 drivers/net/wireless/ti/wlcore/io.c wl->if_ops->reset(wl->dev); wl 194 drivers/net/wireless/ti/wlcore/io.c void wl1271_io_init(struct wl1271 *wl) wl 196 drivers/net/wireless/ti/wlcore/io.c if (wl->if_ops->init) wl 197 drivers/net/wireless/ti/wlcore/io.c wl->if_ops->init(wl->dev); wl 34 drivers/net/wireless/ti/wlcore/io.h void wlcore_disable_interrupts(struct wl1271 *wl); wl 35 drivers/net/wireless/ti/wlcore/io.h void wlcore_disable_interrupts_nosync(struct wl1271 *wl); wl 36 drivers/net/wireless/ti/wlcore/io.h void wlcore_enable_interrupts(struct wl1271 *wl); wl 37 drivers/net/wireless/ti/wlcore/io.h void wlcore_synchronize_interrupts(struct wl1271 *wl); wl 39 drivers/net/wireless/ti/wlcore/io.h void wl1271_io_reset(struct wl1271 *wl); wl 40 drivers/net/wireless/ti/wlcore/io.h void wl1271_io_init(struct wl1271 *wl); wl 41 drivers/net/wireless/ti/wlcore/io.h int wlcore_translate_addr(struct wl1271 *wl, int addr); wl 44 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_raw_write(struct wl1271 *wl, int addr, wl 50 drivers/net/wireless/ti/wlcore/io.h if (test_bit(WL1271_FLAG_IO_FAILED, &wl->flags) || wl 51 drivers/net/wireless/ti/wlcore/io.h WARN_ON((test_bit(WL1271_FLAG_IN_ELP, &wl->flags) && wl 55 drivers/net/wireless/ti/wlcore/io.h ret = wl->if_ops->write(wl->dev, addr, buf, len, fixed); wl 56 drivers/net/wireless/ti/wlcore/io.h if (ret && wl->state != WLCORE_STATE_OFF) wl 57 drivers/net/wireless/ti/wlcore/io.h set_bit(WL1271_FLAG_IO_FAILED, &wl->flags); wl 62 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_raw_read(struct wl1271 *wl, int addr, wl 68 drivers/net/wireless/ti/wlcore/io.h if (test_bit(WL1271_FLAG_IO_FAILED, &wl->flags) || wl 69 drivers/net/wireless/ti/wlcore/io.h WARN_ON((test_bit(WL1271_FLAG_IN_ELP, &wl->flags) && wl 73 drivers/net/wireless/ti/wlcore/io.h ret = wl->if_ops->read(wl->dev, addr, buf, len, fixed); wl 74 drivers/net/wireless/ti/wlcore/io.h if (ret && wl->state != WLCORE_STATE_OFF) wl 75 drivers/net/wireless/ti/wlcore/io.h set_bit(WL1271_FLAG_IO_FAILED, &wl->flags); wl 80 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_raw_read_data(struct wl1271 *wl, int reg, wl 84 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_read(wl, wl->rtable[reg], buf, len, fixed); wl 87 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_raw_write_data(struct wl1271 *wl, int reg, wl 91 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_write(wl, wl->rtable[reg], buf, len, fixed); wl 94 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_raw_read32(struct wl1271 *wl, int addr, wl 99 drivers/net/wireless/ti/wlcore/io.h ret = wlcore_raw_read(wl, addr, wl->buffer_32, wl 100 drivers/net/wireless/ti/wlcore/io.h sizeof(*wl->buffer_32), false); wl 105 drivers/net/wireless/ti/wlcore/io.h *val = le32_to_cpu(*wl->buffer_32); wl 110 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_raw_write32(struct wl1271 *wl, int addr, wl 113 drivers/net/wireless/ti/wlcore/io.h *wl->buffer_32 = cpu_to_le32(val); wl 114 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_write(wl, addr, wl->buffer_32, wl 115 drivers/net/wireless/ti/wlcore/io.h sizeof(*wl->buffer_32), false); wl 118 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_read(struct wl1271 *wl, int addr, wl 123 drivers/net/wireless/ti/wlcore/io.h physical = wlcore_translate_addr(wl, addr); wl 125 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_read(wl, physical, buf, len, fixed); wl 128 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_write(struct wl1271 *wl, int addr, wl 133 drivers/net/wireless/ti/wlcore/io.h physical = wlcore_translate_addr(wl, addr); wl 135 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_write(wl, physical, buf, len, fixed); wl 138 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_write_data(struct wl1271 *wl, int reg, wl 142 drivers/net/wireless/ti/wlcore/io.h return wlcore_write(wl, wl->rtable[reg], buf, len, fixed); wl 145 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_read_data(struct wl1271 *wl, int reg, wl 149 drivers/net/wireless/ti/wlcore/io.h return wlcore_read(wl, wl->rtable[reg], buf, len, fixed); wl 152 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_read_hwaddr(struct wl1271 *wl, int hwaddr, wl 160 drivers/net/wireless/ti/wlcore/io.h addr = wl->ops->convert_hwaddr(wl, hwaddr); wl 162 drivers/net/wireless/ti/wlcore/io.h physical = wlcore_translate_addr(wl, addr); wl 164 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_read(wl, physical, buf, len, fixed); wl 167 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_read32(struct wl1271 *wl, int addr, wl 170 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_read32(wl, wlcore_translate_addr(wl, addr), val); wl 173 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_write32(struct wl1271 *wl, int addr, wl 176 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_write32(wl, wlcore_translate_addr(wl, addr), val); wl 179 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_read_reg(struct wl1271 *wl, int reg, wl 182 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_read32(wl, wl 183 drivers/net/wireless/ti/wlcore/io.h wlcore_translate_addr(wl, wl->rtable[reg]), wl 187 drivers/net/wireless/ti/wlcore/io.h static inline int __must_check wlcore_write_reg(struct wl1271 *wl, int reg, wl 190 drivers/net/wireless/ti/wlcore/io.h return wlcore_raw_write32(wl, wl 191 drivers/net/wireless/ti/wlcore/io.h wlcore_translate_addr(wl, wl->rtable[reg]), wl 195 drivers/net/wireless/ti/wlcore/io.h static inline void wl1271_power_off(struct wl1271 *wl) wl 199 drivers/net/wireless/ti/wlcore/io.h if (!test_bit(WL1271_FLAG_GPIO_POWER, &wl->flags)) wl 202 drivers/net/wireless/ti/wlcore/io.h if (wl->if_ops->power) wl 203 drivers/net/wireless/ti/wlcore/io.h ret = wl->if_ops->power(wl->dev, false); wl 205 drivers/net/wireless/ti/wlcore/io.h clear_bit(WL1271_FLAG_GPIO_POWER, &wl->flags); wl 208 drivers/net/wireless/ti/wlcore/io.h static inline int wl1271_power_on(struct wl1271 *wl) wl 212 drivers/net/wireless/ti/wlcore/io.h if (wl->if_ops->power) wl 213 drivers/net/wireless/ti/wlcore/io.h ret = wl->if_ops->power(wl->dev, true); wl 215 drivers/net/wireless/ti/wlcore/io.h set_bit(WL1271_FLAG_GPIO_POWER, &wl->flags); wl 220 drivers/net/wireless/ti/wlcore/io.h int wlcore_set_partition(struct wl1271 *wl, wl 223 drivers/net/wireless/ti/wlcore/io.h bool wl1271_set_block_size(struct wl1271 *wl); wl 227 drivers/net/wireless/ti/wlcore/io.h int wl1271_tx_dummy_packet(struct wl1271 *wl); wl 41 drivers/net/wireless/ti/wlcore/main.c static void __wl1271_op_remove_interface(struct wl1271 *wl, wl 44 drivers/net/wireless/ti/wlcore/main.c static void wlcore_op_stop_locked(struct wl1271 *wl); wl 45 drivers/net/wireless/ti/wlcore/main.c static void wl1271_free_ap_keys(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 47 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_set_authorized(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 60 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_set_peer_state(wl, wlvif, wlvif->sta.hlid); wl 72 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 76 drivers/net/wireless/ti/wlcore/main.c wl->dfs_region = request->dfs_region; wl 78 drivers/net/wireless/ti/wlcore/main.c wlcore_regdomain_config(wl); wl 81 drivers/net/wireless/ti/wlcore/main.c static int wl1271_set_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 87 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_ps_rx_streaming(wl, wlvif, enable); wl 103 drivers/net/wireless/ti/wlcore/main.c int wl1271_recalc_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 106 drivers/net/wireless/ti/wlcore/main.c int period = wl->conf.rx_streaming.interval; wl 115 drivers/net/wireless/ti/wlcore/main.c (wl->conf.rx_streaming.always || wl 116 drivers/net/wireless/ti/wlcore/main.c test_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags))) wl 117 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_set_rx_streaming(wl, wlvif, true); wl 119 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_set_rx_streaming(wl, wlvif, false); wl 132 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = wlvif->wl; wl 134 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 138 drivers/net/wireless/ti/wlcore/main.c (!wl->conf.rx_streaming.always && wl 139 drivers/net/wireless/ti/wlcore/main.c !test_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags))) wl 142 drivers/net/wireless/ti/wlcore/main.c if (!wl->conf.rx_streaming.interval) wl 145 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 147 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 151 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_set_rx_streaming(wl, wlvif, true); wl 157 drivers/net/wireless/ti/wlcore/main.c jiffies + msecs_to_jiffies(wl->conf.rx_streaming.duration)); wl 160 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 161 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 163 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 171 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = wlvif->wl; wl 173 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 178 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 180 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 184 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_set_rx_streaming(wl, wlvif, false); wl 189 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 190 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 192 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 198 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = wlvif->wl; wl 199 drivers/net/wireless/ti/wlcore/main.c ieee80211_queue_work(wl->hw, &wlvif->rx_streaming_disable_work); wl 203 drivers/net/wireless/ti/wlcore/main.c void wl12xx_rearm_tx_watchdog_locked(struct wl1271 *wl) wl 206 drivers/net/wireless/ti/wlcore/main.c if (wl->tx_allocated_blocks == 0) wl 209 drivers/net/wireless/ti/wlcore/main.c cancel_delayed_work(&wl->tx_watchdog_work); wl 210 drivers/net/wireless/ti/wlcore/main.c ieee80211_queue_delayed_work(wl->hw, &wl->tx_watchdog_work, wl 211 drivers/net/wireless/ti/wlcore/main.c msecs_to_jiffies(wl->conf.tx.tx_watchdog_timeout)); wl 219 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = wlvif->wl; wl 222 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 224 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 227 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 229 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 234 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_set_ht_capabilities(wl, &wlvif->rc_ht_cap, wl 239 drivers/net/wireless/ti/wlcore/main.c wlcore_hw_sta_rc_update(wl, wlvif); wl 243 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 244 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 246 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 252 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl; wl 255 drivers/net/wireless/ti/wlcore/main.c wl = container_of(dwork, struct wl1271, tx_watchdog_work); wl 257 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 259 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 263 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->tx_allocated_blocks == 0)) wl 270 drivers/net/wireless/ti/wlcore/main.c if (find_first_bit(wl->roc_map, WL12XX_MAX_ROLES) < WL12XX_MAX_ROLES) { wl 272 drivers/net/wireless/ti/wlcore/main.c wl->conf.tx.tx_watchdog_timeout); wl 273 drivers/net/wireless/ti/wlcore/main.c wl12xx_rearm_tx_watchdog_locked(wl); wl 281 drivers/net/wireless/ti/wlcore/main.c if (wl->scan.state != WL1271_SCAN_STATE_IDLE) { wl 283 drivers/net/wireless/ti/wlcore/main.c wl->conf.tx.tx_watchdog_timeout); wl 284 drivers/net/wireless/ti/wlcore/main.c wl12xx_rearm_tx_watchdog_locked(wl); wl 294 drivers/net/wireless/ti/wlcore/main.c if (wl->active_sta_count) { wl 297 drivers/net/wireless/ti/wlcore/main.c wl->conf.tx.tx_watchdog_timeout, wl 298 drivers/net/wireless/ti/wlcore/main.c wl->active_sta_count); wl 299 drivers/net/wireless/ti/wlcore/main.c wl12xx_rearm_tx_watchdog_locked(wl); wl 304 drivers/net/wireless/ti/wlcore/main.c wl->conf.tx.tx_watchdog_timeout); wl 305 drivers/net/wireless/ti/wlcore/main.c wl12xx_queue_recovery_work(wl); wl 308 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 311 drivers/net/wireless/ti/wlcore/main.c static void wlcore_adjust_conf(struct wl1271 *wl) wl 316 drivers/net/wireless/ti/wlcore/main.c wl->conf.fwlog.mode = WL12XX_FWLOG_CONTINUOUS; wl 317 drivers/net/wireless/ti/wlcore/main.c wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_HOST; wl 319 drivers/net/wireless/ti/wlcore/main.c wl->conf.fwlog.mode = WL12XX_FWLOG_CONTINUOUS; wl 320 drivers/net/wireless/ti/wlcore/main.c wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_DBG_PINS; wl 322 drivers/net/wireless/ti/wlcore/main.c wl->conf.fwlog.mem_blocks = 0; wl 323 drivers/net/wireless/ti/wlcore/main.c wl->conf.fwlog.output = WL12XX_FWLOG_OUTPUT_NONE; wl 330 drivers/net/wireless/ti/wlcore/main.c wl->conf.recovery.bug_on_recovery = (u8) bug_on_recovery; wl 333 drivers/net/wireless/ti/wlcore/main.c wl->conf.recovery.no_recovery = (u8) no_recovery; wl 336 drivers/net/wireless/ti/wlcore/main.c static void wl12xx_irq_ps_regulate_link(struct wl1271 *wl, wl 342 drivers/net/wireless/ti/wlcore/main.c fw_ps = test_bit(hlid, &wl->ap_fw_ps_map); wl 349 drivers/net/wireless/ti/wlcore/main.c wl12xx_ps_link_end(wl, wlvif, hlid); wl 360 drivers/net/wireless/ti/wlcore/main.c else if (wl->active_link_count > (wl->ap_count*2 + 1) && fw_ps && wl 362 drivers/net/wireless/ti/wlcore/main.c wl12xx_ps_link_start(wl, wlvif, hlid, true); wl 365 drivers/net/wireless/ti/wlcore/main.c static void wl12xx_irq_update_links_status(struct wl1271 *wl, wl 373 drivers/net/wireless/ti/wlcore/main.c if (wl->ap_fw_ps_map != cur_fw_ps_map) { wl 376 drivers/net/wireless/ti/wlcore/main.c wl->ap_fw_ps_map, cur_fw_ps_map, wl 377 drivers/net/wireless/ti/wlcore/main.c wl->ap_fw_ps_map ^ cur_fw_ps_map); wl 379 drivers/net/wireless/ti/wlcore/main.c wl->ap_fw_ps_map = cur_fw_ps_map; wl 382 drivers/net/wireless/ti/wlcore/main.c for_each_set_bit(hlid, wlvif->ap.sta_hlid_map, wl->num_links) wl 383 drivers/net/wireless/ti/wlcore/main.c wl12xx_irq_ps_regulate_link(wl, wlvif, hlid, wl 384 drivers/net/wireless/ti/wlcore/main.c wl->links[hlid].allocated_pkts); wl 387 drivers/net/wireless/ti/wlcore/main.c static int wlcore_fw_status(struct wl1271 *wl, struct wl_fw_status *status) wl 390 drivers/net/wireless/ti/wlcore/main.c u32 old_tx_blk_count = wl->tx_blocks_available; wl 396 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_raw_read_data(wl, REG_RAW_FW_STATUS_ADDR, wl 397 drivers/net/wireless/ti/wlcore/main.c wl->raw_fw_status, wl 398 drivers/net/wireless/ti/wlcore/main.c wl->fw_status_len, false); wl 402 drivers/net/wireless/ti/wlcore/main.c wlcore_hw_convert_fw_status(wl, wl->raw_fw_status, wl->fw_status); wl 413 drivers/net/wireless/ti/wlcore/main.c wl->tx_allocated_pkts[i] -= wl 415 drivers/net/wireless/ti/wlcore/main.c wl->tx_pkts_freed[i]) & 0xff; wl 417 drivers/net/wireless/ti/wlcore/main.c wl->tx_pkts_freed[i] = status->counters.tx_released_pkts[i]; wl 421 drivers/net/wireless/ti/wlcore/main.c for_each_set_bit(i, wl->links_map, wl->num_links) { wl 423 drivers/net/wireless/ti/wlcore/main.c lnk = &wl->links[i]; wl 440 drivers/net/wireless/ti/wlcore/main.c if (likely(wl->tx_blocks_freed <= status->total_released_blks)) wl 442 drivers/net/wireless/ti/wlcore/main.c wl->tx_blocks_freed; wl 444 drivers/net/wireless/ti/wlcore/main.c freed_blocks = 0x100000000LL - wl->tx_blocks_freed + wl 447 drivers/net/wireless/ti/wlcore/main.c wl->tx_blocks_freed = status->total_released_blks; wl 449 drivers/net/wireless/ti/wlcore/main.c wl->tx_allocated_blocks -= freed_blocks; wl 457 drivers/net/wireless/ti/wlcore/main.c if (wl->tx_allocated_blocks) wl 458 drivers/net/wireless/ti/wlcore/main.c wl12xx_rearm_tx_watchdog_locked(wl); wl 460 drivers/net/wireless/ti/wlcore/main.c cancel_delayed_work(&wl->tx_watchdog_work); wl 463 drivers/net/wireless/ti/wlcore/main.c avail = status->tx_total - wl->tx_allocated_blocks; wl 473 drivers/net/wireless/ti/wlcore/main.c wl->tx_blocks_available = max((int)wl->tx_blocks_available, wl 477 drivers/net/wireless/ti/wlcore/main.c if (wl->tx_blocks_available > old_tx_blk_count) wl 478 drivers/net/wireless/ti/wlcore/main.c clear_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags); wl 481 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif_ap(wl, wlvif) { wl 482 drivers/net/wireless/ti/wlcore/main.c wl12xx_irq_update_links_status(wl, wlvif, status); wl 486 drivers/net/wireless/ti/wlcore/main.c wl->time_offset = (ktime_get_boottime_ns() >> 10) - wl 489 drivers/net/wireless/ti/wlcore/main.c wl->fw_fast_lnk_map = status->link_fast_bitmap; wl 494 drivers/net/wireless/ti/wlcore/main.c static void wl1271_flush_deferred_work(struct wl1271 *wl) wl 499 drivers/net/wireless/ti/wlcore/main.c while ((skb = skb_dequeue(&wl->deferred_rx_queue))) wl 500 drivers/net/wireless/ti/wlcore/main.c ieee80211_rx_ni(wl->hw, skb); wl 503 drivers/net/wireless/ti/wlcore/main.c while ((skb = skb_dequeue(&wl->deferred_tx_queue))) wl 504 drivers/net/wireless/ti/wlcore/main.c ieee80211_tx_status_ni(wl->hw, skb); wl 509 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = wl 513 drivers/net/wireless/ti/wlcore/main.c wl1271_flush_deferred_work(wl); wl 514 drivers/net/wireless/ti/wlcore/main.c } while (skb_queue_len(&wl->deferred_rx_queue)); wl 519 drivers/net/wireless/ti/wlcore/main.c static int wlcore_irq_locked(struct wl1271 *wl) wl 532 drivers/net/wireless/ti/wlcore/main.c if (wl->irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) wl 537 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 540 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 542 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 551 drivers/net/wireless/ti/wlcore/main.c clear_bit(WL1271_FLAG_IRQ_RUNNING, &wl->flags); wl 554 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_fw_status(wl, wl->fw_status); wl 558 drivers/net/wireless/ti/wlcore/main.c wlcore_hw_tx_immediate_compl(wl); wl 560 drivers/net/wireless/ti/wlcore/main.c intr = wl->fw_status->intr; wl 569 drivers/net/wireless/ti/wlcore/main.c wl->watchdog_recovery = true; wl 579 drivers/net/wireless/ti/wlcore/main.c wl->watchdog_recovery = true; wl 589 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_rx(wl, wl->fw_status); wl 594 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 595 drivers/net/wireless/ti/wlcore/main.c if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) && wl 596 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_total_queue_count(wl) > 0) { wl 597 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 602 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_tx_work_locked(wl); wl 606 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 610 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_hw_tx_delayed_compl(wl); wl 615 drivers/net/wireless/ti/wlcore/main.c defer_count = skb_queue_len(&wl->deferred_tx_queue) + wl 616 drivers/net/wireless/ti/wlcore/main.c skb_queue_len(&wl->deferred_rx_queue); wl 618 drivers/net/wireless/ti/wlcore/main.c wl1271_flush_deferred_work(wl); wl 623 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_event_handle(wl, 0); wl 630 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_event_handle(wl, 1); wl 643 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 644 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 654 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = cookie; wl 657 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 658 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_IRQ_RUNNING, &wl->flags); wl 659 drivers/net/wireless/ti/wlcore/main.c if (wl->elp_compl) { wl 660 drivers/net/wireless/ti/wlcore/main.c complete(wl->elp_compl); wl 661 drivers/net/wireless/ti/wlcore/main.c wl->elp_compl = NULL; wl 664 drivers/net/wireless/ti/wlcore/main.c if (test_bit(WL1271_FLAG_SUSPENDED, &wl->flags)) { wl 666 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_PENDING_WORK, &wl->flags); wl 668 drivers/net/wireless/ti/wlcore/main.c disable_irq_nosync(wl->irq); wl 669 drivers/net/wireless/ti/wlcore/main.c pm_wakeup_event(wl->dev, 0); wl 670 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 673 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 676 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_TX_PENDING, &wl->flags); wl 677 drivers/net/wireless/ti/wlcore/main.c cancel_work_sync(&wl->tx_work); wl 679 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 681 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_irq_locked(wl); wl 683 drivers/net/wireless/ti/wlcore/main.c wl12xx_queue_recovery_work(wl); wl 685 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 687 drivers/net/wireless/ti/wlcore/main.c clear_bit(WL1271_FLAG_TX_PENDING, &wl->flags); wl 688 drivers/net/wireless/ti/wlcore/main.c if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) && wl 689 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_total_queue_count(wl) > 0) wl 690 drivers/net/wireless/ti/wlcore/main.c ieee80211_queue_work(wl->hw, &wl->tx_work); wl 691 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 693 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 727 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_fetch_firmware(struct wl1271 *wl, bool plt) wl 736 drivers/net/wireless/ti/wlcore/main.c fw_name = wl->plt_fw_name; wl 742 drivers/net/wireless/ti/wlcore/main.c if (wl->last_vif_count > 1 && wl->mr_fw_name) { wl 744 drivers/net/wireless/ti/wlcore/main.c fw_name = wl->mr_fw_name; wl 747 drivers/net/wireless/ti/wlcore/main.c fw_name = wl->sr_fw_name; wl 751 drivers/net/wireless/ti/wlcore/main.c if (wl->fw_type == fw_type) wl 756 drivers/net/wireless/ti/wlcore/main.c ret = request_firmware(&fw, fw_name, wl->dev); wl 770 drivers/net/wireless/ti/wlcore/main.c vfree(wl->fw); wl 771 drivers/net/wireless/ti/wlcore/main.c wl->fw_type = WL12XX_FW_TYPE_NONE; wl 772 drivers/net/wireless/ti/wlcore/main.c wl->fw_len = fw->size; wl 773 drivers/net/wireless/ti/wlcore/main.c wl->fw = vmalloc(wl->fw_len); wl 775 drivers/net/wireless/ti/wlcore/main.c if (!wl->fw) { wl 781 drivers/net/wireless/ti/wlcore/main.c memcpy(wl->fw, fw->data, wl->fw_len); wl 783 drivers/net/wireless/ti/wlcore/main.c wl->fw_type = fw_type; wl 790 drivers/net/wireless/ti/wlcore/main.c void wl12xx_queue_recovery_work(struct wl1271 *wl) wl 793 drivers/net/wireless/ti/wlcore/main.c if (wl->state == WLCORE_STATE_ON) { wl 795 drivers/net/wireless/ti/wlcore/main.c &wl->flags)); wl 797 drivers/net/wireless/ti/wlcore/main.c wl->state = WLCORE_STATE_RESTARTING; wl 798 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags); wl 799 drivers/net/wireless/ti/wlcore/main.c ieee80211_queue_work(wl->hw, &wl->recovery_work); wl 803 drivers/net/wireless/ti/wlcore/main.c size_t wl12xx_copy_fwlog(struct wl1271 *wl, u8 *memblock, size_t maxlen) wl 808 drivers/net/wireless/ti/wlcore/main.c len = min_t(size_t, maxlen, PAGE_SIZE - wl->fwlog_size); wl 811 drivers/net/wireless/ti/wlcore/main.c memcpy(wl->fwlog + wl->fwlog_size, memblock, len); wl 812 drivers/net/wireless/ti/wlcore/main.c wl->fwlog_size += len; wl 817 drivers/net/wireless/ti/wlcore/main.c static void wl12xx_read_fwlog_panic(struct wl1271 *wl) wl 822 drivers/net/wireless/ti/wlcore/main.c if (wl->quirks & WLCORE_QUIRK_FWLOG_NOT_IMPLEMENTED) wl 832 drivers/net/wireless/ti/wlcore/main.c error = pm_runtime_get_sync(wl->dev); wl 834 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 837 drivers/net/wireless/ti/wlcore/main.c if (!wl->watchdog_recovery && wl 838 drivers/net/wireless/ti/wlcore/main.c wl->conf.fwlog.output != WL12XX_FWLOG_OUTPUT_DBG_PINS) wl 839 drivers/net/wireless/ti/wlcore/main.c wl12xx_cmd_stop_fwlog(wl); wl 843 drivers/net/wireless/ti/wlcore/main.c end_of_log = wlcore_event_fw_logger(wl); wl 846 drivers/net/wireless/ti/wlcore/main.c end_of_log = wlcore_event_fw_logger(wl); wl 851 drivers/net/wireless/ti/wlcore/main.c static void wlcore_save_freed_pkts(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 858 drivers/net/wireless/ti/wlcore/main.c wl_sta->total_freed_pkts = wl->links[hlid].total_freed_pkts; wl 867 drivers/net/wireless/ti/wlcore/main.c if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) wl 871 drivers/net/wireless/ti/wlcore/main.c static void wlcore_save_freed_pkts_addr(struct wl1271 *wl, wl 885 drivers/net/wireless/ti/wlcore/main.c wlcore_save_freed_pkts(wl, wlvif, hlid, sta); wl 889 drivers/net/wireless/ti/wlcore/main.c static void wlcore_print_recovery(struct wl1271 *wl) wl 896 drivers/net/wireless/ti/wlcore/main.c wl->chip.fw_ver_str); wl 899 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]); wl 903 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_read_reg(wl, REG_PC_ON_RECOVERY, &pc); wl 907 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_read_reg(wl, REG_INTERRUPT_NO_CLEAR, &hint_sts); wl 912 drivers/net/wireless/ti/wlcore/main.c pc, hint_sts, ++wl->recovery_count); wl 914 drivers/net/wireless/ti/wlcore/main.c wlcore_set_partition(wl, &wl->ptable[PART_WORK]); wl 920 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = wl 926 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 928 drivers/net/wireless/ti/wlcore/main.c if (wl->state == WLCORE_STATE_OFF || wl->plt) wl 931 drivers/net/wireless/ti/wlcore/main.c error = pm_runtime_get_sync(wl->dev); wl 934 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 936 drivers/net/wireless/ti/wlcore/main.c wlcore_disable_interrupts_nosync(wl); wl 938 drivers/net/wireless/ti/wlcore/main.c if (!test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags)) { wl 939 drivers/net/wireless/ti/wlcore/main.c if (wl->conf.fwlog.output == WL12XX_FWLOG_OUTPUT_HOST) wl 940 drivers/net/wireless/ti/wlcore/main.c wl12xx_read_fwlog_panic(wl); wl 941 drivers/net/wireless/ti/wlcore/main.c wlcore_print_recovery(wl); wl 944 drivers/net/wireless/ti/wlcore/main.c BUG_ON(wl->conf.recovery.bug_on_recovery && wl 945 drivers/net/wireless/ti/wlcore/main.c !test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags)); wl 947 drivers/net/wireless/ti/wlcore/main.c clear_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags); wl 949 drivers/net/wireless/ti/wlcore/main.c if (wl->conf.recovery.no_recovery) { wl 955 drivers/net/wireless/ti/wlcore/main.c wlcore_stop_queues(wl, WLCORE_QUEUE_STOP_REASON_FW_RESTART); wl 958 drivers/net/wireless/ti/wlcore/main.c while (!list_empty(&wl->wlvif_list)) { wl 959 drivers/net/wireless/ti/wlcore/main.c wlvif = list_first_entry(&wl->wlvif_list, wl 965 drivers/net/wireless/ti/wlcore/main.c wlcore_save_freed_pkts_addr(wl, wlvif, wlvif->sta.hlid, wl 969 drivers/net/wireless/ti/wlcore/main.c __wl1271_op_remove_interface(wl, vif, false); wl 972 drivers/net/wireless/ti/wlcore/main.c wlcore_op_stop_locked(wl); wl 973 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 974 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 976 drivers/net/wireless/ti/wlcore/main.c ieee80211_restart_hw(wl->hw); wl 982 drivers/net/wireless/ti/wlcore/main.c wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_FW_RESTART); wl 985 drivers/net/wireless/ti/wlcore/main.c wl->watchdog_recovery = false; wl 986 drivers/net/wireless/ti/wlcore/main.c clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags); wl 987 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 990 drivers/net/wireless/ti/wlcore/main.c static int wlcore_fw_wakeup(struct wl1271 *wl) wl 992 drivers/net/wireless/ti/wlcore/main.c return wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_WAKE_UP); wl 995 drivers/net/wireless/ti/wlcore/main.c static int wl1271_setup(struct wl1271 *wl) wl 997 drivers/net/wireless/ti/wlcore/main.c wl->raw_fw_status = kzalloc(wl->fw_status_len, GFP_KERNEL); wl 998 drivers/net/wireless/ti/wlcore/main.c if (!wl->raw_fw_status) wl 1001 drivers/net/wireless/ti/wlcore/main.c wl->fw_status = kzalloc(sizeof(*wl->fw_status), GFP_KERNEL); wl 1002 drivers/net/wireless/ti/wlcore/main.c if (!wl->fw_status) wl 1005 drivers/net/wireless/ti/wlcore/main.c wl->tx_res_if = kzalloc(sizeof(*wl->tx_res_if), GFP_KERNEL); wl 1006 drivers/net/wireless/ti/wlcore/main.c if (!wl->tx_res_if) wl 1011 drivers/net/wireless/ti/wlcore/main.c kfree(wl->fw_status); wl 1012 drivers/net/wireless/ti/wlcore/main.c kfree(wl->raw_fw_status); wl 1016 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_set_power_on(struct wl1271 *wl) wl 1021 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_power_on(wl); wl 1025 drivers/net/wireless/ti/wlcore/main.c wl1271_io_reset(wl); wl 1026 drivers/net/wireless/ti/wlcore/main.c wl1271_io_init(wl); wl 1028 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_set_partition(wl, &wl->ptable[PART_BOOT]); wl 1033 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_fw_wakeup(wl); wl 1041 drivers/net/wireless/ti/wlcore/main.c wl1271_power_off(wl); wl 1045 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_chip_wakeup(struct wl1271 *wl, bool plt) wl 1049 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_set_power_on(wl); wl 1064 drivers/net/wireless/ti/wlcore/main.c if (!wl1271_set_block_size(wl)) wl 1065 drivers/net/wireless/ti/wlcore/main.c wl->quirks &= ~WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN; wl 1069 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_setup(wl); wl 1073 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_fetch_firmware(wl, plt); wl 1075 drivers/net/wireless/ti/wlcore/main.c kfree(wl->fw_status); wl 1076 drivers/net/wireless/ti/wlcore/main.c kfree(wl->raw_fw_status); wl 1077 drivers/net/wireless/ti/wlcore/main.c kfree(wl->tx_res_if); wl 1084 drivers/net/wireless/ti/wlcore/main.c int wl1271_plt_start(struct wl1271 *wl, const enum plt_mode plt_mode) wl 1087 drivers/net/wireless/ti/wlcore/main.c struct wiphy *wiphy = wl->hw->wiphy; wl 1098 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 1102 drivers/net/wireless/ti/wlcore/main.c if (wl->state != WLCORE_STATE_OFF) { wl 1104 drivers/net/wireless/ti/wlcore/main.c "in off state: %d", wl->state); wl 1110 drivers/net/wireless/ti/wlcore/main.c wl->plt = true; wl 1111 drivers/net/wireless/ti/wlcore/main.c wl->plt_mode = plt_mode; wl 1115 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_chip_wakeup(wl, true); wl 1120 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->plt_init(wl); wl 1125 drivers/net/wireless/ti/wlcore/main.c wl->state = WLCORE_STATE_ON; wl 1128 drivers/net/wireless/ti/wlcore/main.c wl->chip.fw_ver_str); wl 1131 drivers/net/wireless/ti/wlcore/main.c wiphy->hw_version = wl->chip.id; wl 1132 drivers/net/wireless/ti/wlcore/main.c strncpy(wiphy->fw_version, wl->chip.fw_ver_str, wl 1138 drivers/net/wireless/ti/wlcore/main.c wl1271_power_off(wl); wl 1141 drivers/net/wireless/ti/wlcore/main.c wl->plt = false; wl 1142 drivers/net/wireless/ti/wlcore/main.c wl->plt_mode = PLT_OFF; wl 1147 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1152 drivers/net/wireless/ti/wlcore/main.c int wl1271_plt_stop(struct wl1271 *wl) wl 1163 drivers/net/wireless/ti/wlcore/main.c wlcore_disable_interrupts(wl); wl 1164 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 1165 drivers/net/wireless/ti/wlcore/main.c if (!wl->plt) { wl 1166 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1173 drivers/net/wireless/ti/wlcore/main.c wlcore_enable_interrupts(wl); wl 1176 drivers/net/wireless/ti/wlcore/main.c "state: %d", wl->state); wl 1181 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1183 drivers/net/wireless/ti/wlcore/main.c wl1271_flush_deferred_work(wl); wl 1184 drivers/net/wireless/ti/wlcore/main.c cancel_work_sync(&wl->netstack_work); wl 1185 drivers/net/wireless/ti/wlcore/main.c cancel_work_sync(&wl->recovery_work); wl 1186 drivers/net/wireless/ti/wlcore/main.c cancel_delayed_work_sync(&wl->tx_watchdog_work); wl 1188 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 1189 drivers/net/wireless/ti/wlcore/main.c wl1271_power_off(wl); wl 1190 drivers/net/wireless/ti/wlcore/main.c wl->flags = 0; wl 1191 drivers/net/wireless/ti/wlcore/main.c wl->sleep_auth = WL1271_PSM_ILLEGAL; wl 1192 drivers/net/wireless/ti/wlcore/main.c wl->state = WLCORE_STATE_OFF; wl 1193 drivers/net/wireless/ti/wlcore/main.c wl->plt = false; wl 1194 drivers/net/wireless/ti/wlcore/main.c wl->plt_mode = PLT_OFF; wl 1195 drivers/net/wireless/ti/wlcore/main.c wl->rx_counter = 0; wl 1196 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1206 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 1224 drivers/net/wireless/ti/wlcore/main.c hlid = wl12xx_tx_get_hlid(wl, wlvif, skb, control->sta); wl 1226 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1235 drivers/net/wireless/ti/wlcore/main.c (wlcore_is_queue_stopped_locked(wl, wlvif, q) && wl 1236 drivers/net/wireless/ti/wlcore/main.c !wlcore_is_queue_stopped_by_reason_locked(wl, wlvif, q, wl 1245 drivers/net/wireless/ti/wlcore/main.c skb_queue_tail(&wl->links[hlid].tx_queue[q], skb); wl 1247 drivers/net/wireless/ti/wlcore/main.c wl->tx_queue_count[q]++; wl 1255 drivers/net/wireless/ti/wlcore/main.c !wlcore_is_queue_stopped_by_reason_locked(wl, wlvif, q, wl 1258 drivers/net/wireless/ti/wlcore/main.c wlcore_stop_queue_locked(wl, wlvif, q, wl 1267 drivers/net/wireless/ti/wlcore/main.c if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) && wl 1268 drivers/net/wireless/ti/wlcore/main.c !test_bit(WL1271_FLAG_TX_PENDING, &wl->flags)) wl 1269 drivers/net/wireless/ti/wlcore/main.c ieee80211_queue_work(wl->hw, &wl->tx_work); wl 1272 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1275 drivers/net/wireless/ti/wlcore/main.c int wl1271_tx_dummy_packet(struct wl1271 *wl) wl 1281 drivers/net/wireless/ti/wlcore/main.c if (test_bit(WL1271_FLAG_DUMMY_PACKET_PENDING, &wl->flags)) wl 1284 drivers/net/wireless/ti/wlcore/main.c q = wl1271_tx_get_queue(skb_get_queue_mapping(wl->dummy_packet)); wl 1286 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1287 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_DUMMY_PACKET_PENDING, &wl->flags); wl 1288 drivers/net/wireless/ti/wlcore/main.c wl->tx_queue_count[q]++; wl 1289 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1292 drivers/net/wireless/ti/wlcore/main.c if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags)) wl 1293 drivers/net/wireless/ti/wlcore/main.c return wlcore_tx_work_locked(wl); wl 1309 drivers/net/wireless/ti/wlcore/main.c static struct sk_buff *wl12xx_alloc_dummy_packet(struct wl1271 *wl) wl 1552 drivers/net/wireless/ti/wlcore/main.c static int wl1271_configure_wowlan(struct wl1271 *wl, wl 1558 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_default_rx_filter_enable(wl, 0, wl 1563 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_rx_filter_clear_all(wl); wl 1582 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_default_rx_filter_enable(wl, 0, FILTER_SIGNAL); wl 1586 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_rx_filter_clear_all(wl); wl 1604 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_rx_filter_enable(wl, i, 1, filter); wl 1611 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_default_rx_filter_enable(wl, 1, FILTER_DROP); wl 1617 drivers/net/wireless/ti/wlcore/main.c static int wl1271_configure_suspend_sta(struct wl1271 *wl, wl 1626 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_configure_wowlan(wl, wow); wl 1630 drivers/net/wireless/ti/wlcore/main.c if ((wl->conf.conn.suspend_wake_up_event == wl 1631 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.wake_up_event) && wl 1632 drivers/net/wireless/ti/wlcore/main.c (wl->conf.conn.suspend_listen_interval == wl 1633 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.listen_interval)) wl 1636 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_wake_up_conditions(wl, wlvif, wl 1637 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.suspend_wake_up_event, wl 1638 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.suspend_listen_interval); wl 1647 drivers/net/wireless/ti/wlcore/main.c static int wl1271_configure_suspend_ap(struct wl1271 *wl, wl 1656 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_beacon_filter_opt(wl, wlvif, true); wl 1660 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_configure_wowlan(wl, wow); wl 1669 drivers/net/wireless/ti/wlcore/main.c static int wl1271_configure_suspend(struct wl1271 *wl, wl 1674 drivers/net/wireless/ti/wlcore/main.c return wl1271_configure_suspend_sta(wl, wlvif, wow); wl 1676 drivers/net/wireless/ti/wlcore/main.c return wl1271_configure_suspend_ap(wl, wlvif, wow); wl 1680 drivers/net/wireless/ti/wlcore/main.c static void wl1271_configure_resume(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 1693 drivers/net/wireless/ti/wlcore/main.c wl1271_configure_wowlan(wl, NULL); wl 1696 drivers/net/wireless/ti/wlcore/main.c if ((wl->conf.conn.suspend_wake_up_event == wl 1697 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.wake_up_event) && wl 1698 drivers/net/wireless/ti/wlcore/main.c (wl->conf.conn.suspend_listen_interval == wl 1699 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.listen_interval)) wl 1702 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_wake_up_conditions(wl, wlvif, wl 1703 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.wake_up_event, wl 1704 drivers/net/wireless/ti/wlcore/main.c wl->conf.conn.listen_interval); wl 1711 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false); wl 1718 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 1727 drivers/net/wireless/ti/wlcore/main.c if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) { wl 1732 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_flush(wl); wl 1734 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 1736 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 1738 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 1739 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1743 drivers/net/wireless/ti/wlcore/main.c wl->wow_enabled = true; wl 1744 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif(wl, wlvif) { wl 1748 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_configure_suspend(wl, wlvif, wow); wl 1750 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1757 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_hw_interrupt_notify(wl, false); wl 1762 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_hw_rx_ba_filter(wl, wl 1763 drivers/net/wireless/ti/wlcore/main.c !!wl->conf.conn.suspend_rx_ba_activity); wl 1768 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 1769 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1779 drivers/net/wireless/ti/wlcore/main.c flush_work(&wl->tx_work); wl 1785 drivers/net/wireless/ti/wlcore/main.c cancel_delayed_work(&wl->tx_watchdog_work); wl 1791 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1792 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_SUSPENDED, &wl->flags); wl 1793 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1795 drivers/net/wireless/ti/wlcore/main.c return pm_runtime_force_suspend(wl->dev); wl 1800 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 1807 drivers/net/wireless/ti/wlcore/main.c wl->wow_enabled); wl 1808 drivers/net/wireless/ti/wlcore/main.c WARN_ON(!wl->wow_enabled); wl 1810 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_force_resume(wl->dev); wl 1820 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1821 drivers/net/wireless/ti/wlcore/main.c clear_bit(WL1271_FLAG_SUSPENDED, &wl->flags); wl 1822 drivers/net/wireless/ti/wlcore/main.c if (test_and_clear_bit(WL1271_FLAG_PENDING_WORK, &wl->flags)) wl 1824 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1826 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 1830 drivers/net/wireless/ti/wlcore/main.c &wl->flags); wl 1838 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_irq_locked(wl); wl 1840 drivers/net/wireless/ti/wlcore/main.c wl12xx_queue_recovery_work(wl); wl 1843 drivers/net/wireless/ti/wlcore/main.c wlcore_enable_interrupts(wl); wl 1848 drivers/net/wireless/ti/wlcore/main.c ieee80211_queue_work(wl->hw, &wl->recovery_work); wl 1852 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 1854 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 1858 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif(wl, wlvif) { wl 1862 drivers/net/wireless/ti/wlcore/main.c wl1271_configure_resume(wl, wlvif); wl 1865 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_hw_interrupt_notify(wl, true); wl 1870 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_hw_rx_ba_filter(wl, false); wl 1875 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 1876 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 1879 drivers/net/wireless/ti/wlcore/main.c wl->wow_enabled = false; wl 1886 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_REINIT_TX_WDOG, &wl->flags); wl 1887 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1910 drivers/net/wireless/ti/wlcore/main.c static void wlcore_op_stop_locked(struct wl1271 *wl) wl 1914 drivers/net/wireless/ti/wlcore/main.c if (wl->state == WLCORE_STATE_OFF) { wl 1916 drivers/net/wireless/ti/wlcore/main.c &wl->flags)) wl 1917 drivers/net/wireless/ti/wlcore/main.c wlcore_enable_interrupts(wl); wl 1926 drivers/net/wireless/ti/wlcore/main.c wl->state = WLCORE_STATE_OFF; wl 1932 drivers/net/wireless/ti/wlcore/main.c wlcore_disable_interrupts_nosync(wl); wl 1934 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 1936 drivers/net/wireless/ti/wlcore/main.c wlcore_synchronize_interrupts(wl); wl 1937 drivers/net/wireless/ti/wlcore/main.c if (!test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) wl 1938 drivers/net/wireless/ti/wlcore/main.c cancel_work_sync(&wl->recovery_work); wl 1939 drivers/net/wireless/ti/wlcore/main.c wl1271_flush_deferred_work(wl); wl 1940 drivers/net/wireless/ti/wlcore/main.c cancel_delayed_work_sync(&wl->scan_complete_work); wl 1941 drivers/net/wireless/ti/wlcore/main.c cancel_work_sync(&wl->netstack_work); wl 1942 drivers/net/wireless/ti/wlcore/main.c cancel_work_sync(&wl->tx_work); wl 1943 drivers/net/wireless/ti/wlcore/main.c cancel_delayed_work_sync(&wl->tx_watchdog_work); wl 1946 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 1947 drivers/net/wireless/ti/wlcore/main.c wl12xx_tx_reset(wl); wl 1949 drivers/net/wireless/ti/wlcore/main.c wl1271_power_off(wl); wl 1955 drivers/net/wireless/ti/wlcore/main.c if (test_and_clear_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) wl 1956 drivers/net/wireless/ti/wlcore/main.c wlcore_enable_interrupts(wl); wl 1958 drivers/net/wireless/ti/wlcore/main.c wl->band = NL80211_BAND_2GHZ; wl 1960 drivers/net/wireless/ti/wlcore/main.c wl->rx_counter = 0; wl 1961 drivers/net/wireless/ti/wlcore/main.c wl->power_level = WL1271_DEFAULT_POWER_LEVEL; wl 1962 drivers/net/wireless/ti/wlcore/main.c wl->channel_type = NL80211_CHAN_NO_HT; wl 1963 drivers/net/wireless/ti/wlcore/main.c wl->tx_blocks_available = 0; wl 1964 drivers/net/wireless/ti/wlcore/main.c wl->tx_allocated_blocks = 0; wl 1965 drivers/net/wireless/ti/wlcore/main.c wl->tx_results_count = 0; wl 1966 drivers/net/wireless/ti/wlcore/main.c wl->tx_packets_count = 0; wl 1967 drivers/net/wireless/ti/wlcore/main.c wl->time_offset = 0; wl 1968 drivers/net/wireless/ti/wlcore/main.c wl->ap_fw_ps_map = 0; wl 1969 drivers/net/wireless/ti/wlcore/main.c wl->ap_ps_map = 0; wl 1970 drivers/net/wireless/ti/wlcore/main.c wl->sleep_auth = WL1271_PSM_ILLEGAL; wl 1971 drivers/net/wireless/ti/wlcore/main.c memset(wl->roles_map, 0, sizeof(wl->roles_map)); wl 1972 drivers/net/wireless/ti/wlcore/main.c memset(wl->links_map, 0, sizeof(wl->links_map)); wl 1973 drivers/net/wireless/ti/wlcore/main.c memset(wl->roc_map, 0, sizeof(wl->roc_map)); wl 1974 drivers/net/wireless/ti/wlcore/main.c memset(wl->session_ids, 0, sizeof(wl->session_ids)); wl 1975 drivers/net/wireless/ti/wlcore/main.c memset(wl->rx_filter_enabled, 0, sizeof(wl->rx_filter_enabled)); wl 1976 drivers/net/wireless/ti/wlcore/main.c wl->active_sta_count = 0; wl 1977 drivers/net/wireless/ti/wlcore/main.c wl->active_link_count = 0; wl 1980 drivers/net/wireless/ti/wlcore/main.c wl->links[WL12XX_SYSTEM_HLID].allocated_pkts = 0; wl 1981 drivers/net/wireless/ti/wlcore/main.c wl->links[WL12XX_SYSTEM_HLID].prev_freed_pkts = 0; wl 1982 drivers/net/wireless/ti/wlcore/main.c __set_bit(WL12XX_SYSTEM_HLID, wl->links_map); wl 1989 drivers/net/wireless/ti/wlcore/main.c wl->flags = 0; wl 1991 drivers/net/wireless/ti/wlcore/main.c wl->tx_blocks_freed = 0; wl 1994 drivers/net/wireless/ti/wlcore/main.c wl->tx_pkts_freed[i] = 0; wl 1995 drivers/net/wireless/ti/wlcore/main.c wl->tx_allocated_pkts[i] = 0; wl 1998 drivers/net/wireless/ti/wlcore/main.c wl1271_debugfs_reset(wl); wl 2000 drivers/net/wireless/ti/wlcore/main.c kfree(wl->raw_fw_status); wl 2001 drivers/net/wireless/ti/wlcore/main.c wl->raw_fw_status = NULL; wl 2002 drivers/net/wireless/ti/wlcore/main.c kfree(wl->fw_status); wl 2003 drivers/net/wireless/ti/wlcore/main.c wl->fw_status = NULL; wl 2004 drivers/net/wireless/ti/wlcore/main.c kfree(wl->tx_res_if); wl 2005 drivers/net/wireless/ti/wlcore/main.c wl->tx_res_if = NULL; wl 2006 drivers/net/wireless/ti/wlcore/main.c kfree(wl->target_mem_map); wl 2007 drivers/net/wireless/ti/wlcore/main.c wl->target_mem_map = NULL; wl 2013 drivers/net/wireless/ti/wlcore/main.c memcpy(wl->reg_ch_conf_pending, wl->reg_ch_conf_last, wl 2014 drivers/net/wireless/ti/wlcore/main.c sizeof(wl->reg_ch_conf_pending)); wl 2015 drivers/net/wireless/ti/wlcore/main.c memset(wl->reg_ch_conf_last, 0, sizeof(wl->reg_ch_conf_last)); wl 2020 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 2024 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 2026 drivers/net/wireless/ti/wlcore/main.c wlcore_op_stop_locked(wl); wl 2028 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2034 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl; wl 2041 drivers/net/wireless/ti/wlcore/main.c wl = wlvif->wl; wl 2045 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 2047 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 2057 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 2059 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 2063 drivers/net/wireless/ti/wlcore/main.c wl12xx_cmd_stop_channel_switch(wl, wlvif); wl 2065 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 2066 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 2068 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2074 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl; wl 2080 drivers/net/wireless/ti/wlcore/main.c wl = wlvif->wl; wl 2084 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 2086 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 2096 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2102 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl; wl 2110 drivers/net/wireless/ti/wlcore/main.c wl = wlvif->wl; wl 2112 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 2114 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 2128 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 2130 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 2135 drivers/net/wireless/ti/wlcore/main.c wlcore_update_inconn_sta(wl, wlvif, NULL, false); wl 2137 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 2138 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 2140 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2143 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_allocate_rate_policy(struct wl1271 *wl, u8 *idx) wl 2145 drivers/net/wireless/ti/wlcore/main.c u8 policy = find_first_zero_bit(wl->rate_policies_map, wl 2150 drivers/net/wireless/ti/wlcore/main.c __set_bit(policy, wl->rate_policies_map); wl 2155 drivers/net/wireless/ti/wlcore/main.c static void wl12xx_free_rate_policy(struct wl1271 *wl, u8 *idx) wl 2160 drivers/net/wireless/ti/wlcore/main.c __clear_bit(*idx, wl->rate_policies_map); wl 2164 drivers/net/wireless/ti/wlcore/main.c static int wlcore_allocate_klv_template(struct wl1271 *wl, u8 *idx) wl 2166 drivers/net/wireless/ti/wlcore/main.c u8 policy = find_first_zero_bit(wl->klv_templates_map, wl 2171 drivers/net/wireless/ti/wlcore/main.c __set_bit(policy, wl->klv_templates_map); wl 2176 drivers/net/wireless/ti/wlcore/main.c static void wlcore_free_klv_template(struct wl1271 *wl, u8 *idx) wl 2181 drivers/net/wireless/ti/wlcore/main.c __clear_bit(*idx, wl->klv_templates_map); wl 2185 drivers/net/wireless/ti/wlcore/main.c static u8 wl12xx_get_role_type(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 2213 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_init_vif_data(struct wl1271 *wl, struct ieee80211_vif *vif) wl 2252 drivers/net/wireless/ti/wlcore/main.c wl12xx_allocate_rate_policy(wl, &wlvif->sta.basic_rate_idx); wl 2253 drivers/net/wireless/ti/wlcore/main.c wl12xx_allocate_rate_policy(wl, &wlvif->sta.ap_rate_idx); wl 2254 drivers/net/wireless/ti/wlcore/main.c wl12xx_allocate_rate_policy(wl, &wlvif->sta.p2p_rate_idx); wl 2255 drivers/net/wireless/ti/wlcore/main.c wlcore_allocate_klv_template(wl, &wlvif->sta.klv_template_id); wl 2263 drivers/net/wireless/ti/wlcore/main.c wl12xx_allocate_rate_policy(wl, &wlvif->ap.mgmt_rate_idx); wl 2264 drivers/net/wireless/ti/wlcore/main.c wl12xx_allocate_rate_policy(wl, &wlvif->ap.bcast_rate_idx); wl 2266 drivers/net/wireless/ti/wlcore/main.c wl12xx_allocate_rate_policy(wl, wl 2279 drivers/net/wireless/ti/wlcore/main.c wlvif->bitrate_masks[NL80211_BAND_2GHZ] = wl->conf.tx.basic_rate; wl 2280 drivers/net/wireless/ti/wlcore/main.c wlvif->bitrate_masks[NL80211_BAND_5GHZ] = wl->conf.tx.basic_rate_5; wl 2287 drivers/net/wireless/ti/wlcore/main.c wlvif->band = wl->band; wl 2288 drivers/net/wireless/ti/wlcore/main.c wlvif->channel = wl->channel; wl 2289 drivers/net/wireless/ti/wlcore/main.c wlvif->power_level = wl->power_level; wl 2290 drivers/net/wireless/ti/wlcore/main.c wlvif->channel_type = wl->channel_type; wl 2309 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_init_fw(struct wl1271 *wl) wl 2313 drivers/net/wireless/ti/wlcore/main.c struct wiphy *wiphy = wl->hw->wiphy; wl 2318 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_chip_wakeup(wl, false); wl 2322 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->boot(wl); wl 2326 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_hw_init(wl); wl 2334 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2342 drivers/net/wireless/ti/wlcore/main.c wlcore_disable_interrupts(wl); wl 2343 drivers/net/wireless/ti/wlcore/main.c wl1271_flush_deferred_work(wl); wl 2344 drivers/net/wireless/ti/wlcore/main.c cancel_work_sync(&wl->netstack_work); wl 2345 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 2347 drivers/net/wireless/ti/wlcore/main.c wl1271_power_off(wl); wl 2356 drivers/net/wireless/ti/wlcore/main.c wl1271_info("firmware booted (%s)", wl->chip.fw_ver_str); wl 2359 drivers/net/wireless/ti/wlcore/main.c wiphy->hw_version = wl->chip.id; wl 2360 drivers/net/wireless/ti/wlcore/main.c strncpy(wiphy->fw_version, wl->chip.fw_ver_str, wl 2367 drivers/net/wireless/ti/wlcore/main.c if (!wl->enable_11a) wl 2371 drivers/net/wireless/ti/wlcore/main.c wl->enable_11a ? "" : "not "); wl 2373 drivers/net/wireless/ti/wlcore/main.c wl->state = WLCORE_STATE_ON; wl 2390 drivers/net/wireless/ti/wlcore/main.c static bool wl12xx_need_fw_change(struct wl1271 *wl, wl 2394 drivers/net/wireless/ti/wlcore/main.c enum wl12xx_fw_type current_fw = wl->fw_type; wl 2397 drivers/net/wireless/ti/wlcore/main.c if (test_bit(WL1271_FLAG_VIF_CHANGE_IN_PROGRESS, &wl->flags)) wl 2404 drivers/net/wireless/ti/wlcore/main.c wl->last_vif_count = vif_count; wl 2407 drivers/net/wireless/ti/wlcore/main.c if (wl->state == WLCORE_STATE_OFF) wl 2411 drivers/net/wireless/ti/wlcore/main.c if (!wl->mr_fw_name) wl 2426 drivers/net/wireless/ti/wlcore/main.c static void wl12xx_force_active_psm(struct wl1271 *wl) wl 2430 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 2431 drivers/net/wireless/ti/wlcore/main.c wl1271_ps_set_mode(wl, wlvif, STATION_POWER_SAVE_MODE); wl 2460 drivers/net/wireless/ti/wlcore/main.c static int wlcore_allocate_hw_queue_base(struct wl1271 *wl, wl 2475 drivers/net/wireless/ti/wlcore/main.c ieee80211_iterate_active_interfaces_atomic(wl->hw, wl 2500 drivers/net/wireless/ti/wlcore/main.c wl->queue_stop_reasons[wlvif->hw_queue_base + i] = 0; wl 2519 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 2525 drivers/net/wireless/ti/wlcore/main.c if (wl->plt) { wl 2539 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 2546 drivers/net/wireless/ti/wlcore/main.c if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags) || wl 2553 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_init_vif_data(wl, vif); wl 2557 drivers/net/wireless/ti/wlcore/main.c wlvif->wl = wl; wl 2558 drivers/net/wireless/ti/wlcore/main.c role_type = wl12xx_get_role_type(wl, wlvif); wl 2564 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_allocate_hw_queue_base(wl, wlvif); wl 2572 drivers/net/wireless/ti/wlcore/main.c if (wl->state == WLCORE_STATE_OFF) { wl 2577 drivers/net/wireless/ti/wlcore/main.c memcpy(wl->addresses[0].addr, vif->addr, ETH_ALEN); wl 2579 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_init_fw(wl); wl 2588 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 2590 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 2594 drivers/net/wireless/ti/wlcore/main.c if (wl12xx_need_fw_change(wl, vif_count, true)) { wl 2595 drivers/net/wireless/ti/wlcore/main.c wl12xx_force_active_psm(wl); wl 2596 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags); wl 2597 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2598 drivers/net/wireless/ti/wlcore/main.c wl1271_recovery_work(&wl->recovery_work); wl 2603 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_enable(wl, vif->addr, wl 2608 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_init_vif_specific(wl, vif); wl 2613 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_enable(wl, vif->addr, WL1271_ROLE_DEVICE, wl 2619 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_sta_hw_init(wl, wlvif); wl 2624 drivers/net/wireless/ti/wlcore/main.c list_add(&wlvif->list, &wl->wlvif_list); wl 2628 drivers/net/wireless/ti/wlcore/main.c wl->ap_count++; wl 2630 drivers/net/wireless/ti/wlcore/main.c wl->sta_count++; wl 2632 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 2633 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 2635 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2640 drivers/net/wireless/ti/wlcore/main.c static void __wl1271_op_remove_interface(struct wl1271 *wl, wl 2654 drivers/net/wireless/ti/wlcore/main.c if (wl->state == WLCORE_STATE_OFF) wl 2659 drivers/net/wireless/ti/wlcore/main.c if (wl->scan.state != WL1271_SCAN_STATE_IDLE && wl 2660 drivers/net/wireless/ti/wlcore/main.c wl->scan_wlvif == wlvif) { wl 2669 drivers/net/wireless/ti/wlcore/main.c wl12xx_rearm_tx_watchdog_locked(wl); wl 2671 drivers/net/wireless/ti/wlcore/main.c wl->scan.state = WL1271_SCAN_STATE_IDLE; wl 2672 drivers/net/wireless/ti/wlcore/main.c memset(wl->scan.scanned_ch, 0, sizeof(wl->scan.scanned_ch)); wl 2673 drivers/net/wireless/ti/wlcore/main.c wl->scan_wlvif = NULL; wl 2674 drivers/net/wireless/ti/wlcore/main.c wl->scan.req = NULL; wl 2675 drivers/net/wireless/ti/wlcore/main.c ieee80211_scan_completed(wl->hw, &info); wl 2678 drivers/net/wireless/ti/wlcore/main.c if (wl->sched_vif == wlvif) wl 2679 drivers/net/wireless/ti/wlcore/main.c wl->sched_vif = NULL; wl 2681 drivers/net/wireless/ti/wlcore/main.c if (wl->roc_vif == vif) { wl 2682 drivers/net/wireless/ti/wlcore/main.c wl->roc_vif = NULL; wl 2683 drivers/net/wireless/ti/wlcore/main.c ieee80211_remain_on_channel_expired(wl->hw); wl 2686 drivers/net/wireless/ti/wlcore/main.c if (!test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags)) { wl 2688 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 2690 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 2697 drivers/net/wireless/ti/wlcore/main.c wl12xx_stop_dev(wl, wlvif); wl 2701 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_disable(wl, &wlvif->role_id); wl 2705 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_disable(wl, &wlvif->dev_role_id); wl 2710 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 2711 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 2714 drivers/net/wireless/ti/wlcore/main.c wl12xx_tx_reset_wlvif(wl, wlvif); wl 2722 drivers/net/wireless/ti/wlcore/main.c wl12xx_free_rate_policy(wl, &wlvif->sta.basic_rate_idx); wl 2723 drivers/net/wireless/ti/wlcore/main.c wl12xx_free_rate_policy(wl, &wlvif->sta.ap_rate_idx); wl 2724 drivers/net/wireless/ti/wlcore/main.c wl12xx_free_rate_policy(wl, &wlvif->sta.p2p_rate_idx); wl 2725 drivers/net/wireless/ti/wlcore/main.c wlcore_free_klv_template(wl, &wlvif->sta.klv_template_id); wl 2729 drivers/net/wireless/ti/wlcore/main.c wl12xx_free_rate_policy(wl, &wlvif->ap.mgmt_rate_idx); wl 2730 drivers/net/wireless/ti/wlcore/main.c wl12xx_free_rate_policy(wl, &wlvif->ap.bcast_rate_idx); wl 2732 drivers/net/wireless/ti/wlcore/main.c wl12xx_free_rate_policy(wl, wl 2734 drivers/net/wireless/ti/wlcore/main.c wl1271_free_ap_keys(wl, wlvif); wl 2739 drivers/net/wireless/ti/wlcore/main.c if (wl->last_wlvif == wlvif) wl 2740 drivers/net/wireless/ti/wlcore/main.c wl->last_wlvif = NULL; wl 2747 drivers/net/wireless/ti/wlcore/main.c wl->ap_count--; wl 2749 drivers/net/wireless/ti/wlcore/main.c wl->sta_count--; wl 2755 drivers/net/wireless/ti/wlcore/main.c if (test_bit(WL1271_FLAG_RECOVERY_IN_PROGRESS, &wl->flags) && wl 2756 drivers/net/wireless/ti/wlcore/main.c !test_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags)) wl 2759 drivers/net/wireless/ti/wlcore/main.c if (wl->ap_count == 0 && is_ap) { wl 2761 drivers/net/wireless/ti/wlcore/main.c wl->event_mask &= ~wl->ap_event_mask; wl 2762 drivers/net/wireless/ti/wlcore/main.c wl1271_event_unmask(wl); wl 2765 drivers/net/wireless/ti/wlcore/main.c if (wl->ap_count == 0 && is_ap && wl->sta_count) { wl 2766 drivers/net/wireless/ti/wlcore/main.c u8 sta_auth = wl->conf.conn.sta_sleep_auth; wl 2769 drivers/net/wireless/ti/wlcore/main.c wl1271_acx_sleep_auth(wl, sta_auth); wl 2772 drivers/net/wireless/ti/wlcore/main.c wl1271_acx_sleep_auth(wl, WL1271_PSM_ELP); wl 2776 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2786 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 2792 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 2798 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 2800 drivers/net/wireless/ti/wlcore/main.c if (wl->state == WLCORE_STATE_OFF || wl 2808 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif(wl, iter) { wl 2812 drivers/net/wireless/ti/wlcore/main.c __wl1271_op_remove_interface(wl, vif, true); wl 2816 drivers/net/wireless/ti/wlcore/main.c if (wl12xx_need_fw_change(wl, vif_count, false)) { wl 2817 drivers/net/wireless/ti/wlcore/main.c wl12xx_force_active_psm(wl); wl 2818 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags); wl 2819 drivers/net/wireless/ti/wlcore/main.c wl12xx_queue_recovery_work(wl); wl 2822 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 2829 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 2832 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_VIF_CHANGE_IN_PROGRESS, &wl->flags); wl 2839 drivers/net/wireless/ti/wlcore/main.c clear_bit(WL1271_FLAG_VIF_CHANGE_IN_PROGRESS, &wl->flags); wl 2843 drivers/net/wireless/ti/wlcore/main.c static int wlcore_join(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 2864 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_start_ibss(wl, wlvif); wl 2866 drivers/net/wireless/ti/wlcore/main.c if (wl->quirks & WLCORE_QUIRK_START_STA_FAILS) { wl 2874 drivers/net/wireless/ti/wlcore/main.c wl12xx_cmd_role_start_sta(wl, wlvif); wl 2875 drivers/net/wireless/ti/wlcore/main.c wl12xx_cmd_role_stop_sta(wl, wlvif); wl 2878 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_start_sta(wl, wlvif); wl 2907 drivers/net/wireless/ti/wlcore/main.c static int wlcore_set_ssid(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 2917 drivers/net/wireless/ti/wlcore/main.c skb = ieee80211_ap_probereq_get(wl->hw, vif); wl 2929 drivers/net/wireless/ti/wlcore/main.c static int wlcore_set_assoc(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 2949 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_build_ps_poll(wl, wlvif, wlvif->aid); wl 2957 drivers/net/wireless/ti/wlcore/main.c wlvif->probereq = wl1271_cmd_build_ap_probe_req(wl, wl 2965 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_conn_monit_params(wl, wlvif, true); wl 2975 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_keep_alive_mode(wl, wlvif, true); wl 2979 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_aid(wl, wlvif, wlvif->aid); wl 2983 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_build_klv_null_data(wl, wlvif); wl 2987 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_keep_alive_config(wl, wlvif, wl 2997 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_ps_set_mode(wl, wlvif, STATION_ACTIVE_MODE); wl 3003 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_enabled_rates_get(wl, wl 3006 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_sta_rate_policies(wl, wlvif); wl 3014 drivers/net/wireless/ti/wlcore/main.c static int wlcore_unset_assoc(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 3038 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_conn_monit_params(wl, wlvif, false); wl 3043 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_keep_alive_mode(wl, wlvif, false); wl 3048 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_beacon_filter_opt(wl, wlvif, false); wl 3056 drivers/net/wireless/ti/wlcore/main.c wl12xx_cmd_stop_channel_switch(wl, wlvif); wl 3062 drivers/net/wireless/ti/wlcore/main.c wl1271_acx_keep_alive_config(wl, wlvif, wl 3069 drivers/net/wireless/ti/wlcore/main.c static void wl1271_set_band_rate(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 3075 drivers/net/wireless/ti/wlcore/main.c static void wl1271_sta_handle_idle(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 3087 drivers/net/wireless/ti/wlcore/main.c if (wl->sched_vif == wlvif) wl 3088 drivers/net/wireless/ti/wlcore/main.c wl->ops->sched_scan_stop(wl, wlvif); wl 3094 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_config_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 3103 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_tx_power(wl, wlvif, conf->power_level); wl 3115 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3127 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3130 drivers/net/wireless/ti/wlcore/main.c wl->power_level = conf->power_level; wl 3132 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 3135 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3137 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3142 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif(wl, wlvif) { wl 3143 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_config_vif(wl, wlvif, conf, changed); wl 3149 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3150 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3153 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3203 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3211 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3216 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 3219 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3221 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3225 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif(wl, wlvif) { wl 3231 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_group_address_tbl(wl, wlvif, wl 3235 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_group_address_tbl(wl, wlvif, wl 3250 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_group_address_tbl(wl, wlvif, wl 3266 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3267 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3270 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3274 drivers/net/wireless/ti/wlcore/main.c static int wl1271_record_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 3320 drivers/net/wireless/ti/wlcore/main.c static void wl1271_free_ap_keys(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 3330 drivers/net/wireless/ti/wlcore/main.c static int wl1271_ap_init_hwenc(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 3346 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_set_ap_key(wl, wlvif, KEY_ADD_OR_REPLACE, wl 3359 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_set_default_wep_key(wl, wlvif->default_key, wl 3366 drivers/net/wireless/ti/wlcore/main.c wl1271_free_ap_keys(wl, wlvif); wl 3370 drivers/net/wireless/ti/wlcore/main.c static int wl1271_set_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 3397 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_record_ap_key(wl, wlvif, id, wl 3402 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_set_ap_key(wl, wlvif, action, wl 3435 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_set_sta_key(wl, wlvif, action, wl 3452 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3463 drivers/net/wireless/ti/wlcore/main.c wlcore_stop_queues(wl, WLCORE_QUEUE_STOP_REASON_SPARE_BLK); wl 3464 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_flush(wl); wl 3467 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3469 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 3474 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3476 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3480 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_hw_set_key(wl, cmd, vif, sta, key_conf); wl 3482 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3483 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3487 drivers/net/wireless/ti/wlcore/main.c wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_SPARE_BLK); wl 3489 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3494 drivers/net/wireless/ti/wlcore/main.c int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd, wl 3525 drivers/net/wireless/ti/wlcore/main.c u64 tx_seq = wl->links[hlid].total_freed_pkts; wl 3556 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_set_key(wl, wlvif, KEY_ADD_OR_REPLACE, wl 3573 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_build_arp_rsp(wl, wlvif); wl 3582 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_set_key(wl, wlvif, KEY_REMOVE, wl 3605 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3616 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3618 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 3623 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3625 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3633 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_set_default_wep_key(wl, wl 3641 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3642 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3645 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3648 drivers/net/wireless/ti/wlcore/main.c void wlcore_regdomain_config(struct wl1271 *wl) wl 3652 drivers/net/wireless/ti/wlcore/main.c if (!(wl->quirks & WLCORE_QUIRK_REGDOMAIN_CONF)) wl 3655 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3657 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 3660 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3664 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_cmd_regdomain_config_locked(wl); wl 3666 drivers/net/wireless/ti/wlcore/main.c wl12xx_queue_recovery_work(wl); wl 3670 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3671 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3673 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3681 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3693 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3695 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 3705 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3707 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3712 drivers/net/wireless/ti/wlcore/main.c if (find_first_bit(wl->roc_map, WL12XX_MAX_ROLES) < WL12XX_MAX_ROLES) { wl 3720 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3721 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3723 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3731 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3740 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3742 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 3745 drivers/net/wireless/ti/wlcore/main.c if (wl->scan.state == WL1271_SCAN_STATE_IDLE) wl 3748 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3750 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3754 drivers/net/wireless/ti/wlcore/main.c if (wl->scan.state != WL1271_SCAN_STATE_DONE) { wl 3755 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->scan_stop(wl, wlvif); wl 3764 drivers/net/wireless/ti/wlcore/main.c wl12xx_rearm_tx_watchdog_locked(wl); wl 3766 drivers/net/wireless/ti/wlcore/main.c wl->scan.state = WL1271_SCAN_STATE_IDLE; wl 3767 drivers/net/wireless/ti/wlcore/main.c memset(wl->scan.scanned_ch, 0, sizeof(wl->scan.scanned_ch)); wl 3768 drivers/net/wireless/ti/wlcore/main.c wl->scan_wlvif = NULL; wl 3769 drivers/net/wireless/ti/wlcore/main.c wl->scan.req = NULL; wl 3770 drivers/net/wireless/ti/wlcore/main.c ieee80211_scan_completed(wl->hw, &info); wl 3773 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3774 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3776 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3778 drivers/net/wireless/ti/wlcore/main.c cancel_delayed_work_sync(&wl->scan_complete_work); wl 3786 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3792 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3794 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 3799 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3801 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3805 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->sched_scan_start(wl, wlvif, req, ies); wl 3809 drivers/net/wireless/ti/wlcore/main.c wl->sched_vif = wlvif; wl 3812 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3813 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3815 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3822 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3828 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3830 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 3833 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3835 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3839 drivers/net/wireless/ti/wlcore/main.c wl->ops->sched_scan_stop(wl, wlvif); wl 3841 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3842 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3844 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3851 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3854 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3856 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 3861 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3863 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3867 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_frag_threshold(wl, value); wl 3871 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3872 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3875 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3882 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 3886 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 3888 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 3893 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 3895 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 3899 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif(wl, wlvif) { wl 3900 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_rts_threshold(wl, wlvif, value); wl 3904 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 3905 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 3908 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 3944 drivers/net/wireless/ti/wlcore/main.c static int wl1271_ap_set_probe_resp_tmpl(struct wl1271 *wl, u32 rates, wl 3951 drivers/net/wireless/ti/wlcore/main.c skb = ieee80211_proberesp_get(wl->hw, vif); wl 3955 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 3972 drivers/net/wireless/ti/wlcore/main.c static int wl1271_ap_set_probe_resp_tmpl_legacy(struct wl1271 *wl, wl 3986 drivers/net/wireless/ti/wlcore/main.c return wl1271_cmd_template_set(wl, wlvif->role_id, wl 4023 drivers/net/wireless/ti/wlcore/main.c return wl1271_cmd_template_set(wl, wlvif->role_id, wl 4030 drivers/net/wireless/ti/wlcore/main.c static int wl1271_bss_erp_info_changed(struct wl1271 *wl, wl 4040 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_slot(wl, wlvif, SLOT_TIME_SHORT); wl 4042 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_slot(wl, wlvif, SLOT_TIME_LONG); wl 4051 drivers/net/wireless/ti/wlcore/main.c wl1271_acx_set_preamble(wl, wlvif, ACX_PREAMBLE_SHORT); wl 4053 drivers/net/wireless/ti/wlcore/main.c wl1271_acx_set_preamble(wl, wlvif, ACX_PREAMBLE_LONG); wl 4058 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_cts_protect(wl, wlvif, wl 4061 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_cts_protect(wl, wlvif, wl 4073 drivers/net/wireless/ti/wlcore/main.c static int wlcore_set_beacon_template(struct wl1271 *wl, wl 4082 drivers/net/wireless/ti/wlcore/main.c struct sk_buff *beacon = ieee80211_beacon_get(wl->hw, vif); wl 4097 drivers/net/wireless/ti/wlcore/main.c min_rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); wl 4100 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, tmpl_id, wl 4140 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_ap_set_probe_resp_tmpl_legacy(wl, vif, wl 4145 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_template_set(wl, wlvif->role_id, wl 4159 drivers/net/wireless/ti/wlcore/main.c static int wl1271_bss_beacon_info_changed(struct wl1271 *wl, wl 4176 drivers/net/wireless/ti/wlcore/main.c u32 rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); wl 4178 drivers/net/wireless/ti/wlcore/main.c wl1271_ap_set_probe_resp_tmpl(wl, rate, vif); wl 4182 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_set_beacon_template(wl, vif, is_ap); wl 4188 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_hw_dfs_master_restart(wl, wlvif); wl 4200 drivers/net/wireless/ti/wlcore/main.c static void wl1271_bss_info_changed_ap(struct wl1271 *wl, wl 4211 drivers/net/wireless/ti/wlcore/main.c wlvif->basic_rate_set = wl1271_tx_enabled_rates_get(wl, rates, wl 4213 drivers/net/wireless/ti/wlcore/main.c wlvif->basic_rate = wl1271_tx_min_rate_get(wl, wl 4216 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_init_ap_rates(wl, wlvif); wl 4222 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_ap_init_templates(wl, vif); wl 4228 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_ap_set_probe_resp_tmpl(wl, wl 4235 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_set_beacon_template(wl, vif, true); wl 4240 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, changed); wl 4247 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_start_ap(wl, wlvif); wl 4251 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_ap_init_hwenc(wl, wlvif); wl 4264 drivers/net/wireless/ti/wlcore/main.c if (test_bit(wlvif->role_id, wl->roc_map)) wl 4265 drivers/net/wireless/ti/wlcore/main.c wl12xx_croc(wl, wlvif->role_id); wl 4267 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_stop_ap(wl, wlvif); wl 4279 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed); wl 4286 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_set_ht_information(wl, wlvif, wl 4298 drivers/net/wireless/ti/wlcore/main.c static int wlcore_set_bssid(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 4314 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_enabled_rates_get(wl, rates, wl 4317 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_min_rate_get(wl, wl 4322 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_enabled_rates_get(wl, wl 4327 drivers/net/wireless/ti/wlcore/main.c if (wl->sched_vif == wlvif) wl 4328 drivers/net/wireless/ti/wlcore/main.c wl->ops->sched_scan_stop(wl, wlvif); wl 4330 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_sta_rate_policies(wl, wlvif); wl 4334 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_build_null_data(wl, wlvif); wl 4338 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_build_qos_null_data(wl, wl12xx_wlvif_to_vif(wlvif)); wl 4342 drivers/net/wireless/ti/wlcore/main.c wlcore_set_ssid(wl, wlvif); wl 4349 drivers/net/wireless/ti/wlcore/main.c static int wlcore_clear_bssid(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 4354 drivers/net/wireless/ti/wlcore/main.c wl1271_set_band_rate(wl, wlvif); wl 4355 drivers/net/wireless/ti/wlcore/main.c wlvif->basic_rate = wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); wl 4357 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_sta_rate_policies(wl, wlvif); wl 4363 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_role_stop_sta(wl, wlvif); wl 4372 drivers/net/wireless/ti/wlcore/main.c static void wl1271_bss_info_changed_sta(struct wl1271 *wl, wl 4388 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_bss_beacon_info_changed(wl, vif, bss_conf, wl 4399 drivers/net/wireless/ti/wlcore/main.c wlcore_unset_assoc(wl, wlvif); wl 4400 drivers/net/wireless/ti/wlcore/main.c wl12xx_cmd_role_stop_sta(wl, wlvif); wl 4419 drivers/net/wireless/ti/wlcore/main.c wl1271_sta_handle_idle(wl, wlvif, bss_conf->idle); wl 4425 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_rssi_snr_trigger(wl, wlvif, enable, wl 4455 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_set_bssid(wl, wlvif, bss_conf, wl 4463 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_clear_bssid(wl, wlvif); wl 4476 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_enabled_rates_get(wl, rates, wl 4479 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_min_rate_get(wl, wl 4484 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_sta_rate_policies(wl, wlvif); wl 4492 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_beacon_filter_opt(wl, wlvif, true); wl 4497 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_bss_erp_info_changed(wl, vif, bss_conf, changed); wl 4502 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_join(wl, wlvif); wl 4511 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_set_assoc(wl, wlvif, bss_conf, wl 4517 drivers/net/wireless/ti/wlcore/main.c wl12xx_set_authorized(wl, wlvif); wl 4519 drivers/net/wireless/ti/wlcore/main.c wlcore_unset_assoc(wl, wlvif); wl 4530 drivers/net/wireless/ti/wlcore/main.c if (wl->conf.conn.forced_ps) { wl 4540 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_ps_set_mode(wl, wlvif, ps_mode); wl 4548 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_ps_set_mode(wl, wlvif, wl 4560 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_hw_set_peer_cap(wl, wl 4572 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_set_ht_information(wl, wlvif, wl 4597 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_cmd_build_arp_rsp(wl, wlvif); wl 4603 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_arp_ip_filter(wl, wlvif, wl 4609 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_arp_ip_filter(wl, wlvif, 0, addr); wl 4625 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 4642 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_flush(wl); wl 4644 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 4646 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 4652 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 4654 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 4661 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_tx_power(wl, wlvif, bss_conf->txpower); wl 4669 drivers/net/wireless/ti/wlcore/main.c wl1271_bss_info_changed_ap(wl, vif, bss_conf, changed); wl 4671 drivers/net/wireless/ti/wlcore/main.c wl1271_bss_info_changed_sta(wl, vif, bss_conf, changed); wl 4673 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 4674 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 4677 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 4701 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 4711 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 4713 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 4715 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 4719 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif(wl, wlvif) { wl 4735 drivers/net/wireless/ti/wlcore/main.c wlcore_hw_set_cac(wl, wlvif, true); wl 4740 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 4741 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 4743 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 4750 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 4762 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 4764 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 4770 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 4772 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 4781 drivers/net/wireless/ti/wlcore/main.c wl1271_set_band_rate(wl, wlvif); wl 4786 drivers/net/wireless/ti/wlcore/main.c wlcore_hw_set_cac(wl, wlvif, true); wl 4790 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 4791 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 4793 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 4802 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 4812 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_flush(wl); wl 4814 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 4816 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 4822 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 4824 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 4830 drivers/net/wireless/ti/wlcore/main.c wlcore_hw_set_cac(wl, wlvif, false); wl 4834 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 4835 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 4837 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 4840 drivers/net/wireless/ti/wlcore/main.c static int __wlcore_switch_vif_chan(struct wl1271 *wl, wl 4859 drivers/net/wireless/ti/wlcore/main.c wlcore_hw_set_cac(wl, wlvif, false); wl 4870 drivers/net/wireless/ti/wlcore/main.c wlcore_hw_set_cac(wl, wlvif, true); wl 4883 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 4890 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 4892 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 4894 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 4901 drivers/net/wireless/ti/wlcore/main.c ret = __wlcore_switch_vif_chan(wl, wlvif, vifs[i].new_ctx); wl 4906 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 4907 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 4909 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 4918 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 4926 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 4938 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 4940 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 4948 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_ac_cfg(wl, wlvif, wl1271_tx_get_queue(queue), wl 4954 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_tid_cfg(wl, wlvif, wl1271_tx_get_queue(queue), wl 4961 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 4962 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 4965 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 4974 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 4981 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 4983 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 4986 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 4988 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 4992 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_acx_tsf_info(wl, wlvif, &mactime); wl 4997 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 4998 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5001 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5018 drivers/net/wireless/ti/wlcore/main.c static int wl1271_allocate_sta(struct wl1271 *wl, wl 5026 drivers/net/wireless/ti/wlcore/main.c if (wl->active_sta_count >= wl->max_ap_stations) { wl 5032 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_allocate_link(wl, wlvif, &wl_sta->hlid); wl 5039 drivers/net/wireless/ti/wlcore/main.c wl->links[wl_sta->hlid].total_freed_pkts = wl_sta->total_freed_pkts; wl 5042 drivers/net/wireless/ti/wlcore/main.c memcpy(wl->links[wl_sta->hlid].addr, sta->addr, ETH_ALEN); wl 5043 drivers/net/wireless/ti/wlcore/main.c wl->active_sta_count++; wl 5047 drivers/net/wireless/ti/wlcore/main.c void wl1271_free_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid) wl 5053 drivers/net/wireless/ti/wlcore/main.c __clear_bit(hlid, &wl->ap_ps_map); wl 5054 drivers/net/wireless/ti/wlcore/main.c __clear_bit(hlid, &wl->ap_fw_ps_map); wl 5060 drivers/net/wireless/ti/wlcore/main.c wlcore_save_freed_pkts_addr(wl, wlvif, hlid, wl->links[hlid].addr); wl 5062 drivers/net/wireless/ti/wlcore/main.c wl12xx_free_link(wl, wlvif, &hlid); wl 5063 drivers/net/wireless/ti/wlcore/main.c wl->active_sta_count--; wl 5069 drivers/net/wireless/ti/wlcore/main.c if (wl->active_sta_count == 0) wl 5070 drivers/net/wireless/ti/wlcore/main.c wl12xx_rearm_tx_watchdog_locked(wl); wl 5073 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_sta_add(struct wl1271 *wl, wl 5083 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_allocate_sta(wl, wlvif, sta); wl 5090 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_add_peer(wl, wlvif, sta, hlid); wl 5092 drivers/net/wireless/ti/wlcore/main.c wl1271_free_sta(wl, wlvif, hlid); wl 5097 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_sta_remove(struct wl1271 *wl, wl 5111 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_remove_peer(wl, wlvif, wl_sta->hlid); wl 5115 drivers/net/wireless/ti/wlcore/main.c wl1271_free_sta(wl, wlvif, wl_sta->hlid); wl 5119 drivers/net/wireless/ti/wlcore/main.c static void wlcore_roc_if_possible(struct wl1271 *wl, wl 5122 drivers/net/wireless/ti/wlcore/main.c if (find_first_bit(wl->roc_map, wl 5129 drivers/net/wireless/ti/wlcore/main.c wl12xx_roc(wl, wlvif, wlvif->role_id, wlvif->band, wlvif->channel); wl 5138 drivers/net/wireless/ti/wlcore/main.c void wlcore_update_inconn_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 5147 drivers/net/wireless/ti/wlcore/main.c wlcore_roc_if_possible(wl, wlvif); wl 5173 drivers/net/wireless/ti/wlcore/main.c test_bit(wlvif->role_id, wl->roc_map)) wl 5174 drivers/net/wireless/ti/wlcore/main.c wl12xx_croc(wl, wlvif->role_id); wl 5178 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_update_sta_state(struct wl1271 *wl, wl 5195 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_sta_add(wl, wlvif, sta); wl 5199 drivers/net/wireless/ti/wlcore/main.c wlcore_update_inconn_sta(wl, wlvif, wl_sta, true); wl 5207 drivers/net/wireless/ti/wlcore/main.c wl12xx_sta_remove(wl, wlvif, sta); wl 5209 drivers/net/wireless/ti/wlcore/main.c wlcore_update_inconn_sta(wl, wlvif, wl_sta, false); wl 5215 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_set_peer_state(wl, wlvif, wl_sta->hlid); wl 5220 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_cmd_add_peer(wl, wlvif, sta, wl_sta->hlid); wl 5224 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_set_ht_capabilities(wl, &sta->ht_cap, true, wl 5229 drivers/net/wireless/ti/wlcore/main.c wlcore_update_inconn_sta(wl, wlvif, wl_sta, false); wl 5236 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_set_authorized(wl, wlvif); wl 5252 drivers/net/wireless/ti/wlcore/main.c wlcore_save_freed_pkts(wl, wlvif, wlvif->sta.hlid, sta); wl 5267 drivers/net/wireless/ti/wlcore/main.c if (test_bit(wlvif->role_id, wl->roc_map)) wl 5268 drivers/net/wireless/ti/wlcore/main.c wl12xx_croc(wl, wlvif->role_id); wl 5274 drivers/net/wireless/ti/wlcore/main.c if (find_first_bit(wl->roc_map, wl 5277 drivers/net/wireless/ti/wlcore/main.c wl12xx_roc(wl, wlvif, wlvif->role_id, wl 5290 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5297 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5299 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 5304 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 5306 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 5310 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_update_sta_state(wl, wlvif, sta, old_state, new_state); wl 5312 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 5313 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5315 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5325 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5341 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5343 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 5360 drivers/net/wireless/ti/wlcore/main.c ba_bitmap = &wl->links[hlid].ba_bitmap; wl 5362 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 5364 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 5378 drivers/net/wireless/ti/wlcore/main.c if (wl->ba_rx_session_count >= wl->ba_rx_session_count_max) { wl 5391 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_acx_set_ba_receiver_session(wl, tid, *ssn, true, wl 5397 drivers/net/wireless/ti/wlcore/main.c wl->ba_rx_session_count++; wl 5414 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_acx_set_ba_receiver_session(wl, tid, 0, false, wl 5418 drivers/net/wireless/ti/wlcore/main.c wl->ba_rx_session_count--; wl 5439 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 5440 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5443 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5453 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5460 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5464 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_enabled_rates_get(wl, wl 5468 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 5474 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 5476 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 5480 drivers/net/wireless/ti/wlcore/main.c wl1271_set_band_rate(wl, wlvif); wl 5482 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_min_rate_get(wl, wlvif->basic_rate_set); wl 5483 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_acx_sta_rate_policies(wl, wlvif); wl 5485 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 5486 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5489 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5498 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5504 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_flush(wl); wl 5506 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5508 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state == WLCORE_STATE_OFF)) { wl 5512 drivers/net/wireless/ti/wlcore/main.c } else if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 5516 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 5518 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 5527 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->channel_switch(wl, wlvif, ch_switch); wl 5542 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 5543 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5546 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5549 drivers/net/wireless/ti/wlcore/main.c static const void *wlcore_get_beacon_ie(struct wl1271 *wl, wl 5555 drivers/net/wireless/ti/wlcore/main.c ieee80211_beacon_get(wl->hw, wl12xx_wlvif_to_vif(wlvif)); wl 5565 drivers/net/wireless/ti/wlcore/main.c static int wlcore_get_csa_count(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 5571 drivers/net/wireless/ti/wlcore/main.c ie = wlcore_get_beacon_ie(wl, wlvif, WLAN_EID_CHANNEL_SWITCH); wl 5585 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5597 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_get_csa_count(wl, wlvif, &ch_switch.count); wl 5603 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5605 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 5610 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 5612 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 5616 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->channel_switch(wl, wlvif, &ch_switch); wl 5623 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 5624 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5626 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5632 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5634 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_flush(wl); wl 5644 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5652 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5654 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 5658 drivers/net/wireless/ti/wlcore/main.c active_roc = find_first_bit(wl->roc_map, WL12XX_MAX_ROLES); wl 5659 drivers/net/wireless/ti/wlcore/main.c if (wl->roc_vif || active_roc < WL12XX_MAX_ROLES) { wl 5665 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 5667 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 5671 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_start_dev(wl, wlvif, chan->band, channel); wl 5675 drivers/net/wireless/ti/wlcore/main.c wl->roc_vif = vif; wl 5676 drivers/net/wireless/ti/wlcore/main.c ieee80211_queue_delayed_work(hw, &wl->roc_complete_work, wl 5679 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 5680 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5682 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5686 drivers/net/wireless/ti/wlcore/main.c static int __wlcore_roc_completed(struct wl1271 *wl) wl 5692 drivers/net/wireless/ti/wlcore/main.c if (unlikely(!wl->roc_vif)) wl 5695 drivers/net/wireless/ti/wlcore/main.c wlvif = wl12xx_vif_to_data(wl->roc_vif); wl 5700 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_stop_dev(wl, wlvif); wl 5704 drivers/net/wireless/ti/wlcore/main.c wl->roc_vif = NULL; wl 5709 drivers/net/wireless/ti/wlcore/main.c static int wlcore_roc_completed(struct wl1271 *wl) wl 5715 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5717 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 5722 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 5724 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 5728 drivers/net/wireless/ti/wlcore/main.c ret = __wlcore_roc_completed(wl); wl 5730 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 5731 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5733 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5741 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl; wl 5745 drivers/net/wireless/ti/wlcore/main.c wl = container_of(dwork, struct wl1271, roc_complete_work); wl 5747 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_roc_completed(wl); wl 5749 drivers/net/wireless/ti/wlcore/main.c ieee80211_remain_on_channel_expired(wl->hw); wl 5755 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5760 drivers/net/wireless/ti/wlcore/main.c wl1271_tx_flush(wl); wl 5766 drivers/net/wireless/ti/wlcore/main.c cancel_delayed_work_sync(&wl->roc_complete_work); wl 5767 drivers/net/wireless/ti/wlcore/main.c wlcore_roc_completed(wl); wl 5795 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5802 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5804 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 5807 drivers/net/wireless/ti/wlcore/main.c ret = pm_runtime_get_sync(wl->dev); wl 5809 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_noidle(wl->dev); wl 5813 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_acx_average_rssi(wl, wlvif, &rssi_dbm); wl 5821 drivers/net/wireless/ti/wlcore/main.c pm_runtime_mark_last_busy(wl->dev); wl 5822 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_autosuspend(wl->dev); wl 5825 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 5832 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5836 drivers/net/wireless/ti/wlcore/main.c return (wl->links[hlid].fw_rate_mbps * 1000); wl 5841 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = hw->priv; wl 5844 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 5846 drivers/net/wireless/ti/wlcore/main.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 5850 drivers/net/wireless/ti/wlcore/main.c ret = (wl1271_tx_total_queue_count(wl) > 0) || (wl->tx_frames_cnt > 0); wl 5852 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 6044 drivers/net/wireless/ti/wlcore/main.c u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum nl80211_band band) wl 6050 drivers/net/wireless/ti/wlcore/main.c if (unlikely(rate >= wl->hw_tx_rate_tbl_size)) { wl 6055 drivers/net/wireless/ti/wlcore/main.c idx = wl->band_rate_to_idx[band][rate]; wl 6064 drivers/net/wireless/ti/wlcore/main.c static void wl12xx_derive_mac_addresses(struct wl1271 *wl, u32 oui, u32 nic) wl 6071 drivers/net/wireless/ti/wlcore/main.c if (nic + WLCORE_NUM_MAC_ADDRESSES - wl->num_mac_addr > 0xffffff) wl 6074 drivers/net/wireless/ti/wlcore/main.c for (i = 0; i < wl->num_mac_addr; i++) { wl 6075 drivers/net/wireless/ti/wlcore/main.c wl->addresses[i].addr[0] = (u8)(oui >> 16); wl 6076 drivers/net/wireless/ti/wlcore/main.c wl->addresses[i].addr[1] = (u8)(oui >> 8); wl 6077 drivers/net/wireless/ti/wlcore/main.c wl->addresses[i].addr[2] = (u8) oui; wl 6078 drivers/net/wireless/ti/wlcore/main.c wl->addresses[i].addr[3] = (u8)(nic >> 16); wl 6079 drivers/net/wireless/ti/wlcore/main.c wl->addresses[i].addr[4] = (u8)(nic >> 8); wl 6080 drivers/net/wireless/ti/wlcore/main.c wl->addresses[i].addr[5] = (u8) nic; wl 6085 drivers/net/wireless/ti/wlcore/main.c WARN_ON(wl->num_mac_addr + 1 < WLCORE_NUM_MAC_ADDRESSES); wl 6091 drivers/net/wireless/ti/wlcore/main.c if (wl->num_mac_addr < WLCORE_NUM_MAC_ADDRESSES) { wl 6093 drivers/net/wireless/ti/wlcore/main.c memcpy(&wl->addresses[idx], &wl->addresses[0], wl 6094 drivers/net/wireless/ti/wlcore/main.c sizeof(wl->addresses[0])); wl 6096 drivers/net/wireless/ti/wlcore/main.c wl->addresses[idx].addr[0] |= BIT(1); wl 6099 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->n_addresses = WLCORE_NUM_MAC_ADDRESSES; wl 6100 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->addresses = wl->addresses; wl 6103 drivers/net/wireless/ti/wlcore/main.c static int wl12xx_get_hw_info(struct wl1271 *wl) wl 6107 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_read_reg(wl, REG_CHIP_ID_B, &wl->chip.id); wl 6111 drivers/net/wireless/ti/wlcore/main.c wl->fuse_oui_addr = 0; wl 6112 drivers/net/wireless/ti/wlcore/main.c wl->fuse_nic_addr = 0; wl 6114 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->get_pg_ver(wl, &wl->hw_pg_ver); wl 6118 drivers/net/wireless/ti/wlcore/main.c if (wl->ops->get_mac) wl 6119 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->get_mac(wl); wl 6125 drivers/net/wireless/ti/wlcore/main.c static int wl1271_register_hw(struct wl1271 *wl) wl 6129 drivers/net/wireless/ti/wlcore/main.c struct platform_device *pdev = wl->pdev; wl 6132 drivers/net/wireless/ti/wlcore/main.c if (wl->mac80211_registered) wl 6135 drivers/net/wireless/ti/wlcore/main.c if (wl->nvs_len >= 12) { wl 6140 drivers/net/wireless/ti/wlcore/main.c u8 *nvs_ptr = (u8 *)wl->nvs; wl 6150 drivers/net/wireless/ti/wlcore/main.c oui_addr = wl->fuse_oui_addr; wl 6152 drivers/net/wireless/ti/wlcore/main.c nic_addr = wl->fuse_nic_addr + 1; wl 6164 drivers/net/wireless/ti/wlcore/main.c if (wl->fuse_oui_addr == 0 && wl->fuse_nic_addr == 0) { wl 6170 drivers/net/wireless/ti/wlcore/main.c oui_addr = wl->fuse_oui_addr; wl 6172 drivers/net/wireless/ti/wlcore/main.c nic_addr = wl->fuse_nic_addr + 1; wl 6176 drivers/net/wireless/ti/wlcore/main.c wl12xx_derive_mac_addresses(wl, oui_addr, nic_addr); wl 6178 drivers/net/wireless/ti/wlcore/main.c ret = ieee80211_register_hw(wl->hw); wl 6184 drivers/net/wireless/ti/wlcore/main.c wl->mac80211_registered = true; wl 6186 drivers/net/wireless/ti/wlcore/main.c wl1271_debugfs_init(wl); wl 6194 drivers/net/wireless/ti/wlcore/main.c static void wl1271_unregister_hw(struct wl1271 *wl) wl 6196 drivers/net/wireless/ti/wlcore/main.c if (wl->plt) wl 6197 drivers/net/wireless/ti/wlcore/main.c wl1271_plt_stop(wl); wl 6199 drivers/net/wireless/ti/wlcore/main.c ieee80211_unregister_hw(wl->hw); wl 6200 drivers/net/wireless/ti/wlcore/main.c wl->mac80211_registered = false; wl 6204 drivers/net/wireless/ti/wlcore/main.c static int wl1271_init_ieee80211(struct wl1271 *wl) wl 6216 drivers/net/wireless/ti/wlcore/main.c wl->hw->extra_tx_headroom = sizeof(struct wl1271_tx_hw_descr); wl 6218 drivers/net/wireless/ti/wlcore/main.c if (wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) wl 6219 drivers/net/wireless/ti/wlcore/main.c wl->hw->extra_tx_headroom += WL1271_EXTRA_SPACE_TKIP; wl 6223 drivers/net/wireless/ti/wlcore/main.c wl->hw->max_listen_interval = wl->conf.conn.max_listen_interval; wl 6225 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, SUPPORT_FAST_XMIT); wl 6226 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, CHANCTX_STA_CSA); wl 6227 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, QUEUE_CONTROL); wl 6228 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, TX_AMPDU_SETUP_IN_HW); wl 6229 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, AMPDU_AGGREGATION); wl 6230 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, AP_LINK_PS); wl 6231 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, SPECTRUM_MGMT); wl 6232 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, REPORTS_TX_ACK_STATUS); wl 6233 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, CONNECTION_MONITOR); wl 6234 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, HAS_RATE_CONTROL); wl 6235 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, SUPPORTS_DYNAMIC_PS); wl 6236 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, SIGNAL_DBM); wl 6237 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, SUPPORTS_PS); wl 6238 drivers/net/wireless/ti/wlcore/main.c ieee80211_hw_set(wl->hw, SUPPORTS_TX_FRAG); wl 6240 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->cipher_suites = cipher_suites; wl 6241 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); wl 6243 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | wl 6252 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->max_scan_ssids = 1; wl 6253 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->max_sched_scan_ssids = 16; wl 6254 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->max_match_sets = 16; wl 6260 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->max_scan_ie_len = WL1271_CMD_TEMPL_MAX_SIZE - wl 6263 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->max_sched_scan_reqs = 1; wl 6264 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->max_sched_scan_ie_len = WL1271_CMD_TEMPL_MAX_SIZE - wl 6267 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->max_remain_on_channel_duration = 30000; wl 6269 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD | wl 6273 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->features |= NL80211_FEATURE_AP_SCAN; wl 6299 drivers/net/wireless/ti/wlcore/main.c memcpy(&wl->bands[NL80211_BAND_2GHZ], &wl1271_band_2ghz, wl 6301 drivers/net/wireless/ti/wlcore/main.c memcpy(&wl->bands[NL80211_BAND_2GHZ].ht_cap, wl 6302 drivers/net/wireless/ti/wlcore/main.c &wl->ht_cap[NL80211_BAND_2GHZ], wl 6303 drivers/net/wireless/ti/wlcore/main.c sizeof(*wl->ht_cap)); wl 6304 drivers/net/wireless/ti/wlcore/main.c memcpy(&wl->bands[NL80211_BAND_5GHZ], &wl1271_band_5ghz, wl 6306 drivers/net/wireless/ti/wlcore/main.c memcpy(&wl->bands[NL80211_BAND_5GHZ].ht_cap, wl 6307 drivers/net/wireless/ti/wlcore/main.c &wl->ht_cap[NL80211_BAND_5GHZ], wl 6308 drivers/net/wireless/ti/wlcore/main.c sizeof(*wl->ht_cap)); wl 6310 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->bands[NL80211_BAND_2GHZ] = wl 6311 drivers/net/wireless/ti/wlcore/main.c &wl->bands[NL80211_BAND_2GHZ]; wl 6312 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->bands[NL80211_BAND_5GHZ] = wl 6313 drivers/net/wireless/ti/wlcore/main.c &wl->bands[NL80211_BAND_5GHZ]; wl 6319 drivers/net/wireless/ti/wlcore/main.c wl->hw->queues = (NUM_TX_QUEUES + 1) * WLCORE_NUM_MAC_ADDRESSES + 1; wl 6322 drivers/net/wireless/ti/wlcore/main.c wl->hw->offchannel_tx_hw_queue = wl->hw->queues - 1; wl 6323 drivers/net/wireless/ti/wlcore/main.c wl->hw->max_rates = 1; wl 6325 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->reg_notifier = wl1271_reg_notify; wl 6328 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->flags |= WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD; wl 6329 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->probe_resp_offload = wl 6335 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->iface_combinations = wl->iface_combinations; wl 6336 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->n_iface_combinations = wl->n_iface_combinations; wl 6339 drivers/net/wireless/ti/wlcore/main.c wlcore_set_vendor_commands(wl->hw->wiphy); wl 6341 drivers/net/wireless/ti/wlcore/main.c SET_IEEE80211_DEV(wl->hw, wl->dev); wl 6343 drivers/net/wireless/ti/wlcore/main.c wl->hw->sta_data_size = sizeof(struct wl1271_station); wl 6344 drivers/net/wireless/ti/wlcore/main.c wl->hw->vif_data_size = sizeof(struct wl12xx_vif); wl 6346 drivers/net/wireless/ti/wlcore/main.c wl->hw->max_rx_aggregation_subframes = wl->conf.ht.rx_ba_win_size; wl 6355 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl; wl 6359 drivers/net/wireless/ti/wlcore/main.c hw = ieee80211_alloc_hw(sizeof(*wl), &wl1271_ops); wl 6366 drivers/net/wireless/ti/wlcore/main.c wl = hw->priv; wl 6367 drivers/net/wireless/ti/wlcore/main.c memset(wl, 0, sizeof(*wl)); wl 6369 drivers/net/wireless/ti/wlcore/main.c wl->priv = kzalloc(priv_size, GFP_KERNEL); wl 6370 drivers/net/wireless/ti/wlcore/main.c if (!wl->priv) { wl 6376 drivers/net/wireless/ti/wlcore/main.c INIT_LIST_HEAD(&wl->wlvif_list); wl 6378 drivers/net/wireless/ti/wlcore/main.c wl->hw = hw; wl 6386 drivers/net/wireless/ti/wlcore/main.c skb_queue_head_init(&wl->links[j].tx_queue[i]); wl 6388 drivers/net/wireless/ti/wlcore/main.c skb_queue_head_init(&wl->deferred_rx_queue); wl 6389 drivers/net/wireless/ti/wlcore/main.c skb_queue_head_init(&wl->deferred_tx_queue); wl 6391 drivers/net/wireless/ti/wlcore/main.c INIT_WORK(&wl->netstack_work, wl1271_netstack_work); wl 6392 drivers/net/wireless/ti/wlcore/main.c INIT_WORK(&wl->tx_work, wl1271_tx_work); wl 6393 drivers/net/wireless/ti/wlcore/main.c INIT_WORK(&wl->recovery_work, wl1271_recovery_work); wl 6394 drivers/net/wireless/ti/wlcore/main.c INIT_DELAYED_WORK(&wl->scan_complete_work, wl1271_scan_complete_work); wl 6395 drivers/net/wireless/ti/wlcore/main.c INIT_DELAYED_WORK(&wl->roc_complete_work, wlcore_roc_complete_work); wl 6396 drivers/net/wireless/ti/wlcore/main.c INIT_DELAYED_WORK(&wl->tx_watchdog_work, wl12xx_tx_watchdog_work); wl 6398 drivers/net/wireless/ti/wlcore/main.c wl->freezable_wq = create_freezable_workqueue("wl12xx_wq"); wl 6399 drivers/net/wireless/ti/wlcore/main.c if (!wl->freezable_wq) { wl 6404 drivers/net/wireless/ti/wlcore/main.c wl->channel = 0; wl 6405 drivers/net/wireless/ti/wlcore/main.c wl->rx_counter = 0; wl 6406 drivers/net/wireless/ti/wlcore/main.c wl->power_level = WL1271_DEFAULT_POWER_LEVEL; wl 6407 drivers/net/wireless/ti/wlcore/main.c wl->band = NL80211_BAND_2GHZ; wl 6408 drivers/net/wireless/ti/wlcore/main.c wl->channel_type = NL80211_CHAN_NO_HT; wl 6409 drivers/net/wireless/ti/wlcore/main.c wl->flags = 0; wl 6410 drivers/net/wireless/ti/wlcore/main.c wl->sg_enabled = true; wl 6411 drivers/net/wireless/ti/wlcore/main.c wl->sleep_auth = WL1271_PSM_ILLEGAL; wl 6412 drivers/net/wireless/ti/wlcore/main.c wl->recovery_count = 0; wl 6413 drivers/net/wireless/ti/wlcore/main.c wl->hw_pg_ver = -1; wl 6414 drivers/net/wireless/ti/wlcore/main.c wl->ap_ps_map = 0; wl 6415 drivers/net/wireless/ti/wlcore/main.c wl->ap_fw_ps_map = 0; wl 6416 drivers/net/wireless/ti/wlcore/main.c wl->quirks = 0; wl 6417 drivers/net/wireless/ti/wlcore/main.c wl->system_hlid = WL12XX_SYSTEM_HLID; wl 6418 drivers/net/wireless/ti/wlcore/main.c wl->active_sta_count = 0; wl 6419 drivers/net/wireless/ti/wlcore/main.c wl->active_link_count = 0; wl 6420 drivers/net/wireless/ti/wlcore/main.c wl->fwlog_size = 0; wl 6423 drivers/net/wireless/ti/wlcore/main.c __set_bit(WL12XX_SYSTEM_HLID, wl->links_map); wl 6425 drivers/net/wireless/ti/wlcore/main.c memset(wl->tx_frames_map, 0, sizeof(wl->tx_frames_map)); wl 6426 drivers/net/wireless/ti/wlcore/main.c for (i = 0; i < wl->num_tx_desc; i++) wl 6427 drivers/net/wireless/ti/wlcore/main.c wl->tx_frames[i] = NULL; wl 6429 drivers/net/wireless/ti/wlcore/main.c spin_lock_init(&wl->wl_lock); wl 6431 drivers/net/wireless/ti/wlcore/main.c wl->state = WLCORE_STATE_OFF; wl 6432 drivers/net/wireless/ti/wlcore/main.c wl->fw_type = WL12XX_FW_TYPE_NONE; wl 6433 drivers/net/wireless/ti/wlcore/main.c mutex_init(&wl->mutex); wl 6434 drivers/net/wireless/ti/wlcore/main.c mutex_init(&wl->flush_mutex); wl 6435 drivers/net/wireless/ti/wlcore/main.c init_completion(&wl->nvs_loading_complete); wl 6438 drivers/net/wireless/ti/wlcore/main.c wl->aggr_buf = (u8 *)__get_free_pages(GFP_KERNEL, order); wl 6439 drivers/net/wireless/ti/wlcore/main.c if (!wl->aggr_buf) { wl 6443 drivers/net/wireless/ti/wlcore/main.c wl->aggr_buf_size = aggr_buf_size; wl 6445 drivers/net/wireless/ti/wlcore/main.c wl->dummy_packet = wl12xx_alloc_dummy_packet(wl); wl 6446 drivers/net/wireless/ti/wlcore/main.c if (!wl->dummy_packet) { wl 6452 drivers/net/wireless/ti/wlcore/main.c wl->fwlog = (u8 *)get_zeroed_page(GFP_KERNEL); wl 6453 drivers/net/wireless/ti/wlcore/main.c if (!wl->fwlog) { wl 6458 drivers/net/wireless/ti/wlcore/main.c wl->mbox_size = mbox_size; wl 6459 drivers/net/wireless/ti/wlcore/main.c wl->mbox = kmalloc(wl->mbox_size, GFP_KERNEL | GFP_DMA); wl 6460 drivers/net/wireless/ti/wlcore/main.c if (!wl->mbox) { wl 6465 drivers/net/wireless/ti/wlcore/main.c wl->buffer_32 = kmalloc(sizeof(*wl->buffer_32), GFP_KERNEL); wl 6466 drivers/net/wireless/ti/wlcore/main.c if (!wl->buffer_32) { wl 6474 drivers/net/wireless/ti/wlcore/main.c kfree(wl->mbox); wl 6477 drivers/net/wireless/ti/wlcore/main.c free_page((unsigned long)wl->fwlog); wl 6480 drivers/net/wireless/ti/wlcore/main.c dev_kfree_skb(wl->dummy_packet); wl 6483 drivers/net/wireless/ti/wlcore/main.c free_pages((unsigned long)wl->aggr_buf, order); wl 6486 drivers/net/wireless/ti/wlcore/main.c destroy_workqueue(wl->freezable_wq); wl 6489 drivers/net/wireless/ti/wlcore/main.c wl1271_debugfs_exit(wl); wl 6490 drivers/net/wireless/ti/wlcore/main.c kfree(wl->priv); wl 6501 drivers/net/wireless/ti/wlcore/main.c int wlcore_free_hw(struct wl1271 *wl) wl 6504 drivers/net/wireless/ti/wlcore/main.c mutex_lock(&wl->mutex); wl 6505 drivers/net/wireless/ti/wlcore/main.c wl->fwlog_size = -1; wl 6506 drivers/net/wireless/ti/wlcore/main.c mutex_unlock(&wl->mutex); wl 6508 drivers/net/wireless/ti/wlcore/main.c wlcore_sysfs_free(wl); wl 6510 drivers/net/wireless/ti/wlcore/main.c kfree(wl->buffer_32); wl 6511 drivers/net/wireless/ti/wlcore/main.c kfree(wl->mbox); wl 6512 drivers/net/wireless/ti/wlcore/main.c free_page((unsigned long)wl->fwlog); wl 6513 drivers/net/wireless/ti/wlcore/main.c dev_kfree_skb(wl->dummy_packet); wl 6514 drivers/net/wireless/ti/wlcore/main.c free_pages((unsigned long)wl->aggr_buf, get_order(wl->aggr_buf_size)); wl 6516 drivers/net/wireless/ti/wlcore/main.c wl1271_debugfs_exit(wl); wl 6518 drivers/net/wireless/ti/wlcore/main.c vfree(wl->fw); wl 6519 drivers/net/wireless/ti/wlcore/main.c wl->fw = NULL; wl 6520 drivers/net/wireless/ti/wlcore/main.c wl->fw_type = WL12XX_FW_TYPE_NONE; wl 6521 drivers/net/wireless/ti/wlcore/main.c kfree(wl->nvs); wl 6522 drivers/net/wireless/ti/wlcore/main.c wl->nvs = NULL; wl 6524 drivers/net/wireless/ti/wlcore/main.c kfree(wl->raw_fw_status); wl 6525 drivers/net/wireless/ti/wlcore/main.c kfree(wl->fw_status); wl 6526 drivers/net/wireless/ti/wlcore/main.c kfree(wl->tx_res_if); wl 6527 drivers/net/wireless/ti/wlcore/main.c destroy_workqueue(wl->freezable_wq); wl 6529 drivers/net/wireless/ti/wlcore/main.c kfree(wl->priv); wl 6530 drivers/net/wireless/ti/wlcore/main.c ieee80211_free_hw(wl->hw); wl 6552 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = context; wl 6553 drivers/net/wireless/ti/wlcore/main.c struct platform_device *pdev = wl->pdev; wl 6561 drivers/net/wireless/ti/wlcore/main.c wl->nvs = kmemdup(fw->data, fw->size, GFP_KERNEL); wl 6562 drivers/net/wireless/ti/wlcore/main.c if (!wl->nvs) { wl 6566 drivers/net/wireless/ti/wlcore/main.c wl->nvs_len = fw->size; wl 6570 drivers/net/wireless/ti/wlcore/main.c wl->nvs = NULL; wl 6571 drivers/net/wireless/ti/wlcore/main.c wl->nvs_len = 0; wl 6573 drivers/net/wireless/ti/wlcore/main.c wl->nvs = NULL; wl 6574 drivers/net/wireless/ti/wlcore/main.c wl->nvs_len = 0; wl 6577 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->setup(wl); wl 6581 drivers/net/wireless/ti/wlcore/main.c BUG_ON(wl->num_tx_desc > WLCORE_MAX_TX_DESCRIPTORS); wl 6584 drivers/net/wireless/ti/wlcore/main.c wlcore_adjust_conf(wl); wl 6592 drivers/net/wireless/ti/wlcore/main.c wl->irq = res->start; wl 6593 drivers/net/wireless/ti/wlcore/main.c wl->irq_flags = res->flags & IRQF_TRIGGER_MASK; wl 6594 drivers/net/wireless/ti/wlcore/main.c wl->if_ops = pdev_data->if_ops; wl 6596 drivers/net/wireless/ti/wlcore/main.c if (wl->irq_flags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING)) wl 6599 drivers/net/wireless/ti/wlcore/main.c wl->irq_flags |= IRQF_ONESHOT; wl 6601 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_set_power_on(wl); wl 6605 drivers/net/wireless/ti/wlcore/main.c ret = wl12xx_get_hw_info(wl); wl 6608 drivers/net/wireless/ti/wlcore/main.c wl1271_power_off(wl); wl 6612 drivers/net/wireless/ti/wlcore/main.c ret = request_threaded_irq(wl->irq, hardirq_fn, wlcore_irq, wl 6613 drivers/net/wireless/ti/wlcore/main.c wl->irq_flags, pdev->name, wl); wl 6616 drivers/net/wireless/ti/wlcore/main.c wl1271_power_off(wl); wl 6621 drivers/net/wireless/ti/wlcore/main.c device_init_wakeup(wl->dev, true); wl 6623 drivers/net/wireless/ti/wlcore/main.c ret = enable_irq_wake(wl->irq); wl 6625 drivers/net/wireless/ti/wlcore/main.c wl->irq_wake_enabled = true; wl 6627 drivers/net/wireless/ti/wlcore/main.c wl->hw->wiphy->wowlan = &wlcore_wowlan_support; wl 6632 drivers/net/wireless/ti/wlcore/main.c wl->wakeirq = res->start; wl 6633 drivers/net/wireless/ti/wlcore/main.c wl->wakeirq_flags = res->flags & IRQF_TRIGGER_MASK; wl 6634 drivers/net/wireless/ti/wlcore/main.c ret = dev_pm_set_dedicated_wake_irq(wl->dev, wl->wakeirq); wl 6636 drivers/net/wireless/ti/wlcore/main.c wl->wakeirq = -ENODEV; wl 6638 drivers/net/wireless/ti/wlcore/main.c wl->wakeirq = -ENODEV; wl 6641 drivers/net/wireless/ti/wlcore/main.c disable_irq(wl->irq); wl 6642 drivers/net/wireless/ti/wlcore/main.c wl1271_power_off(wl); wl 6644 drivers/net/wireless/ti/wlcore/main.c ret = wl->ops->identify_chip(wl); wl 6648 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_init_ieee80211(wl); wl 6652 drivers/net/wireless/ti/wlcore/main.c ret = wl1271_register_hw(wl); wl 6656 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_sysfs_init(wl); wl 6660 drivers/net/wireless/ti/wlcore/main.c wl->initialized = true; wl 6664 drivers/net/wireless/ti/wlcore/main.c wl1271_unregister_hw(wl); wl 6667 drivers/net/wireless/ti/wlcore/main.c if (wl->wakeirq >= 0) wl 6668 drivers/net/wireless/ti/wlcore/main.c dev_pm_clear_wake_irq(wl->dev); wl 6669 drivers/net/wireless/ti/wlcore/main.c device_init_wakeup(wl->dev, false); wl 6670 drivers/net/wireless/ti/wlcore/main.c free_irq(wl->irq, wl); wl 6673 drivers/net/wireless/ti/wlcore/main.c kfree(wl->nvs); wl 6677 drivers/net/wireless/ti/wlcore/main.c complete_all(&wl->nvs_loading_complete); wl 6682 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = dev_get_drvdata(dev); wl 6687 drivers/net/wireless/ti/wlcore/main.c if (wl->plt) wl 6691 drivers/net/wireless/ti/wlcore/main.c if (wl->sleep_auth != WL1271_PSM_ELP) wl 6694 drivers/net/wireless/ti/wlcore/main.c wl12xx_for_each_wlvif(wl, wlvif) { wl 6701 drivers/net/wireless/ti/wlcore/main.c error = wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_SLEEP); wl 6703 drivers/net/wireless/ti/wlcore/main.c wl12xx_queue_recovery_work(wl); wl 6708 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_IN_ELP, &wl->flags); wl 6715 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = dev_get_drvdata(dev); wl 6724 drivers/net/wireless/ti/wlcore/main.c if (!test_bit(WL1271_FLAG_IN_ELP, &wl->flags)) wl 6729 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 6730 drivers/net/wireless/ti/wlcore/main.c if (test_bit(WL1271_FLAG_IRQ_RUNNING, &wl->flags)) wl 6733 drivers/net/wireless/ti/wlcore/main.c wl->elp_compl = &compl; wl 6734 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 6736 drivers/net/wireless/ti/wlcore/main.c ret = wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_WAKE_UP); wl 6755 drivers/net/wireless/ti/wlcore/main.c clear_bit(WL1271_FLAG_IN_ELP, &wl->flags); wl 6763 drivers/net/wireless/ti/wlcore/main.c spin_lock_irqsave(&wl->wl_lock, flags); wl 6764 drivers/net/wireless/ti/wlcore/main.c wl->elp_compl = NULL; wl 6765 drivers/net/wireless/ti/wlcore/main.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 6768 drivers/net/wireless/ti/wlcore/main.c set_bit(WL1271_FLAG_INTENDED_FW_RECOVERY, &wl->flags); wl 6769 drivers/net/wireless/ti/wlcore/main.c wl12xx_queue_recovery_work(wl); wl 6781 drivers/net/wireless/ti/wlcore/main.c int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev) wl 6787 drivers/net/wireless/ti/wlcore/main.c if (!wl->ops || !wl->ptable || !pdev_data) wl 6790 drivers/net/wireless/ti/wlcore/main.c wl->dev = &pdev->dev; wl 6791 drivers/net/wireless/ti/wlcore/main.c wl->pdev = pdev; wl 6792 drivers/net/wireless/ti/wlcore/main.c platform_set_drvdata(pdev, wl); wl 6798 drivers/net/wireless/ti/wlcore/main.c wl, wlcore_nvs_cb); wl 6802 drivers/net/wireless/ti/wlcore/main.c complete_all(&wl->nvs_loading_complete); wl 6805 drivers/net/wireless/ti/wlcore/main.c wlcore_nvs_cb(NULL, wl); wl 6808 drivers/net/wireless/ti/wlcore/main.c wl->dev->driver->pm = &wlcore_pm_ops; wl 6809 drivers/net/wireless/ti/wlcore/main.c pm_runtime_set_autosuspend_delay(wl->dev, 50); wl 6810 drivers/net/wireless/ti/wlcore/main.c pm_runtime_use_autosuspend(wl->dev); wl 6811 drivers/net/wireless/ti/wlcore/main.c pm_runtime_enable(wl->dev); wl 6820 drivers/net/wireless/ti/wlcore/main.c struct wl1271 *wl = platform_get_drvdata(pdev); wl 6823 drivers/net/wireless/ti/wlcore/main.c error = pm_runtime_get_sync(wl->dev); wl 6825 drivers/net/wireless/ti/wlcore/main.c dev_warn(wl->dev, "PM runtime failed: %i\n", error); wl 6827 drivers/net/wireless/ti/wlcore/main.c wl->dev->driver->pm = NULL; wl 6830 drivers/net/wireless/ti/wlcore/main.c wait_for_completion(&wl->nvs_loading_complete); wl 6831 drivers/net/wireless/ti/wlcore/main.c if (!wl->initialized) wl 6834 drivers/net/wireless/ti/wlcore/main.c if (wl->wakeirq >= 0) { wl 6835 drivers/net/wireless/ti/wlcore/main.c dev_pm_clear_wake_irq(wl->dev); wl 6836 drivers/net/wireless/ti/wlcore/main.c wl->wakeirq = -ENODEV; wl 6839 drivers/net/wireless/ti/wlcore/main.c device_init_wakeup(wl->dev, false); wl 6841 drivers/net/wireless/ti/wlcore/main.c if (wl->irq_wake_enabled) wl 6842 drivers/net/wireless/ti/wlcore/main.c disable_irq_wake(wl->irq); wl 6844 drivers/net/wireless/ti/wlcore/main.c wl1271_unregister_hw(wl); wl 6846 drivers/net/wireless/ti/wlcore/main.c pm_runtime_put_sync(wl->dev); wl 6847 drivers/net/wireless/ti/wlcore/main.c pm_runtime_dont_use_autosuspend(wl->dev); wl 6848 drivers/net/wireless/ti/wlcore/main.c pm_runtime_disable(wl->dev); wl 6850 drivers/net/wireless/ti/wlcore/main.c free_irq(wl->irq, wl); wl 6851 drivers/net/wireless/ti/wlcore/main.c wlcore_free_hw(wl); wl 15 drivers/net/wireless/ti/wlcore/ps.c int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 19 drivers/net/wireless/ti/wlcore/ps.c u16 timeout = wl->conf.conn.dynamic_ps_timeout; wl 27 drivers/net/wireless/ti/wlcore/ps.c ret = wl1271_acx_wake_up_conditions(wl, wlvif, wl 28 drivers/net/wireless/ti/wlcore/ps.c wl->conf.conn.wake_up_event, wl 29 drivers/net/wireless/ti/wlcore/ps.c wl->conf.conn.listen_interval); wl 35 drivers/net/wireless/ti/wlcore/ps.c ret = wl1271_cmd_ps_mode(wl, wlvif, mode, timeout); wl 47 drivers/net/wireless/ti/wlcore/ps.c ret = wl1271_acx_bet_enable(wl, wlvif, true); wl 58 drivers/net/wireless/ti/wlcore/ps.c ret = wl1271_acx_bet_enable(wl, wlvif, false); wl 63 drivers/net/wireless/ti/wlcore/ps.c ret = wl1271_cmd_ps_mode(wl, wlvif, mode, 0); wl 77 drivers/net/wireless/ti/wlcore/ps.c static void wl1271_ps_filter_frames(struct wl1271 *wl, u8 hlid) wl 84 drivers/net/wireless/ti/wlcore/ps.c struct wl1271_link *lnk = &wl->links[hlid]; wl 92 drivers/net/wireless/ti/wlcore/ps.c if (WARN_ON(wl12xx_is_dummy_packet(wl, skb))) wl 98 drivers/net/wireless/ti/wlcore/ps.c ieee80211_tx_status_ni(wl->hw, skb); wl 102 drivers/net/wireless/ti/wlcore/ps.c spin_lock_irqsave(&wl->wl_lock, flags); wl 104 drivers/net/wireless/ti/wlcore/ps.c wl->tx_queue_count[i] -= filtered[i]; wl 108 drivers/net/wireless/ti/wlcore/ps.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 110 drivers/net/wireless/ti/wlcore/ps.c wl1271_handle_tx_low_watermark(wl); wl 113 drivers/net/wireless/ti/wlcore/ps.c void wl12xx_ps_link_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 123 drivers/net/wireless/ti/wlcore/ps.c test_bit(hlid, &wl->ap_ps_map)) wl 127 drivers/net/wireless/ti/wlcore/ps.c "clean_queues %d", hlid, wl->links[hlid].allocated_pkts, wl 131 drivers/net/wireless/ti/wlcore/ps.c sta = ieee80211_find_sta(vif, wl->links[hlid].addr); wl 134 drivers/net/wireless/ti/wlcore/ps.c wl->links[hlid].addr); wl 144 drivers/net/wireless/ti/wlcore/ps.c wl1271_ps_filter_frames(wl, hlid); wl 146 drivers/net/wireless/ti/wlcore/ps.c __set_bit(hlid, &wl->ap_ps_map); wl 149 drivers/net/wireless/ti/wlcore/ps.c void wl12xx_ps_link_end(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid) wl 154 drivers/net/wireless/ti/wlcore/ps.c if (!test_bit(hlid, &wl->ap_ps_map)) wl 159 drivers/net/wireless/ti/wlcore/ps.c __clear_bit(hlid, &wl->ap_ps_map); wl 162 drivers/net/wireless/ti/wlcore/ps.c sta = ieee80211_find_sta(vif, wl->links[hlid].addr); wl 165 drivers/net/wireless/ti/wlcore/ps.c wl->links[hlid].addr); wl 16 drivers/net/wireless/ti/wlcore/ps.h int wl1271_ps_set_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 18 drivers/net/wireless/ti/wlcore/ps.h void wl12xx_ps_link_start(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 20 drivers/net/wireless/ti/wlcore/ps.h void wl12xx_ps_link_end(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid); wl 27 drivers/net/wireless/ti/wlcore/rx.c static u32 wlcore_rx_get_buf_size(struct wl1271 *wl, wl 30 drivers/net/wireless/ti/wlcore/rx.c if (wl->quirks & WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN) wl 37 drivers/net/wireless/ti/wlcore/rx.c static u32 wlcore_rx_get_align_buf_size(struct wl1271 *wl, u32 pkt_len) wl 39 drivers/net/wireless/ti/wlcore/rx.c if (wl->quirks & WLCORE_QUIRK_RX_BLOCKSIZE_ALIGN) wl 45 drivers/net/wireless/ti/wlcore/rx.c static void wl1271_rx_status(struct wl1271 *wl, wl 57 drivers/net/wireless/ti/wlcore/rx.c status->rate_idx = wlcore_rate_to_idx(wl, desc->rate, status->band); wl 60 drivers/net/wireless/ti/wlcore/rx.c if (desc->rate <= wl->hw_min_ht_rate) wl 77 drivers/net/wireless/ti/wlcore/rx.c wl->noise = desc->rssi - (desc->snr >> 1); wl 99 drivers/net/wireless/ti/wlcore/rx.c wlcore_set_pending_regdomain_ch(wl, (u16)desc->channel, wl 103 drivers/net/wireless/ti/wlcore/rx.c static int wl1271_rx_handle_data(struct wl1271 *wl, u8 *data, u32 length, wl 119 drivers/net/wireless/ti/wlcore/rx.c if (unlikely(wl->plt)) wl 122 drivers/net/wireless/ti/wlcore/rx.c pkt_data_len = wlcore_hw_get_rx_packet_len(wl, data, length); wl 139 drivers/net/wireless/ti/wlcore/rx.c wl12xx_copy_fwlog(wl, data + sizeof(*desc), len); wl 183 drivers/net/wireless/ti/wlcore/rx.c wl1271_rx_status(wl, desc, IEEE80211_SKB_RXCB(skb), beacon, wl 185 drivers/net/wireless/ti/wlcore/rx.c wlcore_hw_set_rx_csum(wl, desc, skb); wl 193 drivers/net/wireless/ti/wlcore/rx.c skb_queue_tail(&wl->deferred_rx_queue, skb); wl 194 drivers/net/wireless/ti/wlcore/rx.c queue_work(wl->freezable_wq, &wl->netstack_work); wl 199 drivers/net/wireless/ti/wlcore/rx.c int wlcore_rx(struct wl1271 *wl, struct wl_fw_status *status) wl 203 drivers/net/wireless/ti/wlcore/rx.c u32 fw_rx_counter = status->fw_rx_counter % wl->num_rx_desc; wl 204 drivers/net/wireless/ti/wlcore/rx.c u32 drv_rx_counter = wl->rx_counter % wl->num_rx_desc; wl 216 drivers/net/wireless/ti/wlcore/rx.c wl->links[hlid].fw_rate_mbps = wl 224 drivers/net/wireless/ti/wlcore/rx.c pkt_len = wlcore_rx_get_buf_size(wl, des); wl 225 drivers/net/wireless/ti/wlcore/rx.c align_pkt_len = wlcore_rx_get_align_buf_size(wl, wl 227 drivers/net/wireless/ti/wlcore/rx.c if (buf_size + align_pkt_len > wl->aggr_buf_size) wl 231 drivers/net/wireless/ti/wlcore/rx.c rx_counter %= wl->num_rx_desc; wl 241 drivers/net/wireless/ti/wlcore/rx.c ret = wlcore_hw_prepare_read(wl, des, buf_size); wl 245 drivers/net/wireless/ti/wlcore/rx.c ret = wlcore_read_data(wl, REG_SLV_MEM_DATA, wl->aggr_buf, wl 254 drivers/net/wireless/ti/wlcore/rx.c pkt_len = wlcore_rx_get_buf_size(wl, des); wl 255 drivers/net/wireless/ti/wlcore/rx.c rx_align = wlcore_hw_get_rx_buf_align(wl, des); wl 262 drivers/net/wireless/ti/wlcore/rx.c if (wl1271_rx_handle_data(wl, wl 263 drivers/net/wireless/ti/wlcore/rx.c wl->aggr_buf + pkt_offset, wl 266 drivers/net/wireless/ti/wlcore/rx.c if (hlid < wl->num_links) wl 274 drivers/net/wireless/ti/wlcore/rx.c wl->rx_counter++; wl 276 drivers/net/wireless/ti/wlcore/rx.c drv_rx_counter %= wl->num_rx_desc; wl 277 drivers/net/wireless/ti/wlcore/rx.c pkt_offset += wlcore_rx_get_align_buf_size(wl, pkt_len); wl 285 drivers/net/wireless/ti/wlcore/rx.c if (wl->quirks & WLCORE_QUIRK_END_OF_TRANSACTION) { wl 286 drivers/net/wireless/ti/wlcore/rx.c ret = wlcore_write32(wl, WL12XX_REG_RX_DRIVER_COUNTER, wl 287 drivers/net/wireless/ti/wlcore/rx.c wl->rx_counter); wl 292 drivers/net/wireless/ti/wlcore/rx.c wl12xx_rearm_rx_streaming(wl, active_hlids); wl 299 drivers/net/wireless/ti/wlcore/rx.c int wl1271_rx_filter_enable(struct wl1271 *wl, wl 305 drivers/net/wireless/ti/wlcore/rx.c if (!!test_bit(index, wl->rx_filter_enabled) == enable) { wl 311 drivers/net/wireless/ti/wlcore/rx.c ret = wl1271_acx_set_rx_filter(wl, index, enable, filter); wl 320 drivers/net/wireless/ti/wlcore/rx.c __set_bit(index, wl->rx_filter_enabled); wl 322 drivers/net/wireless/ti/wlcore/rx.c __clear_bit(index, wl->rx_filter_enabled); wl 327 drivers/net/wireless/ti/wlcore/rx.c int wl1271_rx_filter_clear_all(struct wl1271 *wl) wl 332 drivers/net/wireless/ti/wlcore/rx.c if (!test_bit(i, wl->rx_filter_enabled)) wl 334 drivers/net/wireless/ti/wlcore/rx.c ret = wl1271_rx_filter_enable(wl, i, 0, NULL); wl 134 drivers/net/wireless/ti/wlcore/rx.h int wlcore_rx(struct wl1271 *wl, struct wl_fw_status *status); wl 136 drivers/net/wireless/ti/wlcore/rx.h int wl1271_rx_filter_enable(struct wl1271 *wl, wl 139 drivers/net/wireless/ti/wlcore/rx.h int wl1271_rx_filter_clear_all(struct wl1271 *wl); wl 23 drivers/net/wireless/ti/wlcore/scan.c struct wl1271 *wl; wl 31 drivers/net/wireless/ti/wlcore/scan.c wl = container_of(dwork, struct wl1271, scan_complete_work); wl 35 drivers/net/wireless/ti/wlcore/scan.c mutex_lock(&wl->mutex); wl 37 drivers/net/wireless/ti/wlcore/scan.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 40 drivers/net/wireless/ti/wlcore/scan.c if (wl->scan.state == WL1271_SCAN_STATE_IDLE) wl 43 drivers/net/wireless/ti/wlcore/scan.c wlvif = wl->scan_wlvif; wl 49 drivers/net/wireless/ti/wlcore/scan.c wl12xx_rearm_tx_watchdog_locked(wl); wl 51 drivers/net/wireless/ti/wlcore/scan.c wl->scan.state = WL1271_SCAN_STATE_IDLE; wl 52 drivers/net/wireless/ti/wlcore/scan.c memset(wl->scan.scanned_ch, 0, sizeof(wl->scan.scanned_ch)); wl 53 drivers/net/wireless/ti/wlcore/scan.c wl->scan.req = NULL; wl 54 drivers/net/wireless/ti/wlcore/scan.c wl->scan_wlvif = NULL; wl 56 drivers/net/wireless/ti/wlcore/scan.c ret = pm_runtime_get_sync(wl->dev); wl 58 drivers/net/wireless/ti/wlcore/scan.c pm_runtime_put_noidle(wl->dev); wl 64 drivers/net/wireless/ti/wlcore/scan.c wl1271_cmd_build_ap_probe_req(wl, wlvif, wlvif->probereq); wl 67 drivers/net/wireless/ti/wlcore/scan.c if (wl->scan.failed) { wl 69 drivers/net/wireless/ti/wlcore/scan.c wl12xx_queue_recovery_work(wl); wl 72 drivers/net/wireless/ti/wlcore/scan.c wlcore_cmd_regdomain_config_locked(wl); wl 74 drivers/net/wireless/ti/wlcore/scan.c pm_runtime_mark_last_busy(wl->dev); wl 75 drivers/net/wireless/ti/wlcore/scan.c pm_runtime_put_autosuspend(wl->dev); wl 77 drivers/net/wireless/ti/wlcore/scan.c ieee80211_scan_completed(wl->hw, &info); wl 80 drivers/net/wireless/ti/wlcore/scan.c mutex_unlock(&wl->mutex); wl 103 drivers/net/wireless/ti/wlcore/scan.c if (wlvif->wl->active_sta_count > 0) wl 115 drivers/net/wireless/ti/wlcore/scan.c static int wlcore_count_started_vifs(struct wl1271 *wl) wl 119 drivers/net/wireless/ti/wlcore/scan.c ieee80211_iterate_active_interfaces_atomic(wl->hw, wl 126 drivers/net/wireless/ti/wlcore/scan.c wlcore_scan_get_channels(struct wl1271 *wl, wl 144 drivers/net/wireless/ti/wlcore/scan.c struct conf_scan_settings *c = &wl->conf.scan; wl 145 drivers/net/wireless/ti/wlcore/scan.c bool active_vif_exists = !!wlcore_count_started_vifs(wl); wl 156 drivers/net/wireless/ti/wlcore/scan.c struct conf_sched_scan_settings *c = &wl->conf.sched_scan; wl 246 drivers/net/wireless/ti/wlcore/scan.c wlcore_set_scan_chan_params(struct wl1271 *wl, wl 256 drivers/net/wireless/ti/wlcore/scan.c wlcore_scan_get_channels(wl, wl 267 drivers/net/wireless/ti/wlcore/scan.c wlcore_scan_get_channels(wl, wl 279 drivers/net/wireless/ti/wlcore/scan.c wlcore_scan_get_channels(wl, wl 286 drivers/net/wireless/ti/wlcore/scan.c wl->max_channels_5, wl 290 drivers/net/wireless/ti/wlcore/scan.c wlcore_scan_get_channels(wl, wl 298 drivers/net/wireless/ti/wlcore/scan.c wl->max_channels_5, wl 302 drivers/net/wireless/ti/wlcore/scan.c wlcore_scan_get_channels(wl, wl 310 drivers/net/wireless/ti/wlcore/scan.c wl->max_channels_5, wl 332 drivers/net/wireless/ti/wlcore/scan.c int wlcore_scan(struct wl1271 *wl, struct ieee80211_vif *vif, wl 344 drivers/net/wireless/ti/wlcore/scan.c if (wl->scan.state != WL1271_SCAN_STATE_IDLE) wl 347 drivers/net/wireless/ti/wlcore/scan.c wl->scan.state = WL1271_SCAN_STATE_2GHZ_ACTIVE; wl 350 drivers/net/wireless/ti/wlcore/scan.c wl->scan.ssid_len = ssid_len; wl 351 drivers/net/wireless/ti/wlcore/scan.c memcpy(wl->scan.ssid, ssid, ssid_len); wl 353 drivers/net/wireless/ti/wlcore/scan.c wl->scan.ssid_len = 0; wl 356 drivers/net/wireless/ti/wlcore/scan.c wl->scan_wlvif = wlvif; wl 357 drivers/net/wireless/ti/wlcore/scan.c wl->scan.req = req; wl 358 drivers/net/wireless/ti/wlcore/scan.c memset(wl->scan.scanned_ch, 0, sizeof(wl->scan.scanned_ch)); wl 361 drivers/net/wireless/ti/wlcore/scan.c wl->scan.failed = true; wl 362 drivers/net/wireless/ti/wlcore/scan.c ieee80211_queue_delayed_work(wl->hw, &wl->scan_complete_work, wl 365 drivers/net/wireless/ti/wlcore/scan.c wl->ops->scan_start(wl, wlvif, req); wl 371 drivers/net/wireless/ti/wlcore/scan.c wlcore_scan_sched_scan_ssid_list(struct wl1271 *wl, wl 458 drivers/net/wireless/ti/wlcore/scan.c ret = wl1271_cmd_send(wl, CMD_CONNECTION_SCAN_SSID_CFG, cmd, wl 474 drivers/net/wireless/ti/wlcore/scan.c void wlcore_scan_sched_scan_results(struct wl1271 *wl) wl 478 drivers/net/wireless/ti/wlcore/scan.c ieee80211_sched_scan_results(wl->hw); wl 15 drivers/net/wireless/ti/wlcore/scan.h int wlcore_scan(struct wl1271 *wl, struct ieee80211_vif *vif, wl 18 drivers/net/wireless/ti/wlcore/scan.h int wl1271_scan_build_probe_req(struct wl1271 *wl, wl 21 drivers/net/wireless/ti/wlcore/scan.h void wl1271_scan_stm(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 23 drivers/net/wireless/ti/wlcore/scan.h int wl1271_scan_sched_scan_config(struct wl1271 *wl, wl 27 drivers/net/wireless/ti/wlcore/scan.h int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 28 drivers/net/wireless/ti/wlcore/scan.h void wlcore_scan_sched_scan_results(struct wl1271 *wl); wl 152 drivers/net/wireless/ti/wlcore/scan.h wlcore_set_scan_chan_params(struct wl1271 *wl, wl 160 drivers/net/wireless/ti/wlcore/scan.h wlcore_scan_sched_scan_ssid_list(struct wl1271 *wl, wl 395 drivers/net/wireless/ti/wlcore/sdio.c struct wl1271 *wl = platform_get_drvdata(glue->core); wl 399 drivers/net/wireless/ti/wlcore/sdio.c if (!wl) { wl 405 drivers/net/wireless/ti/wlcore/sdio.c wl->wow_enabled); wl 408 drivers/net/wireless/ti/wlcore/sdio.c if (wl->wow_enabled) { wl 199 drivers/net/wireless/ti/wlcore/spi.c struct wl1271 *wl = dev_get_drvdata(child); wl 211 drivers/net/wireless/ti/wlcore/spi.c busy_buf = wl->buffer_busyword; wl 235 drivers/net/wireless/ti/wlcore/spi.c struct wl1271 *wl = dev_get_drvdata(child); wl 245 drivers/net/wireless/ti/wlcore/spi.c cmd = &wl->buffer_cmd; wl 246 drivers/net/wireless/ti/wlcore/spi.c busy_buf = wl->buffer_busyword; wl 19 drivers/net/wireless/ti/wlcore/sysfs.c struct wl1271 *wl = dev_get_drvdata(dev); wl 24 drivers/net/wireless/ti/wlcore/sysfs.c mutex_lock(&wl->mutex); wl 26 drivers/net/wireless/ti/wlcore/sysfs.c wl->sg_enabled); wl 27 drivers/net/wireless/ti/wlcore/sysfs.c mutex_unlock(&wl->mutex); wl 37 drivers/net/wireless/ti/wlcore/sysfs.c struct wl1271 *wl = dev_get_drvdata(dev); wl 47 drivers/net/wireless/ti/wlcore/sysfs.c mutex_lock(&wl->mutex); wl 51 drivers/net/wireless/ti/wlcore/sysfs.c if (res == wl->sg_enabled) wl 54 drivers/net/wireless/ti/wlcore/sysfs.c wl->sg_enabled = res; wl 56 drivers/net/wireless/ti/wlcore/sysfs.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 59 drivers/net/wireless/ti/wlcore/sysfs.c ret = pm_runtime_get_sync(wl->dev); wl 61 drivers/net/wireless/ti/wlcore/sysfs.c pm_runtime_put_noidle(wl->dev); wl 65 drivers/net/wireless/ti/wlcore/sysfs.c wl1271_acx_sg_enable(wl, wl->sg_enabled); wl 66 drivers/net/wireless/ti/wlcore/sysfs.c pm_runtime_mark_last_busy(wl->dev); wl 67 drivers/net/wireless/ti/wlcore/sysfs.c pm_runtime_put_autosuspend(wl->dev); wl 70 drivers/net/wireless/ti/wlcore/sysfs.c mutex_unlock(&wl->mutex); wl 82 drivers/net/wireless/ti/wlcore/sysfs.c struct wl1271 *wl = dev_get_drvdata(dev); wl 87 drivers/net/wireless/ti/wlcore/sysfs.c mutex_lock(&wl->mutex); wl 88 drivers/net/wireless/ti/wlcore/sysfs.c if (wl->hw_pg_ver >= 0) wl 89 drivers/net/wireless/ti/wlcore/sysfs.c len = snprintf(buf, len, "%d\n", wl->hw_pg_ver); wl 92 drivers/net/wireless/ti/wlcore/sysfs.c mutex_unlock(&wl->mutex); wl 104 drivers/net/wireless/ti/wlcore/sysfs.c struct wl1271 *wl = dev_get_drvdata(dev); wl 108 drivers/net/wireless/ti/wlcore/sysfs.c ret = mutex_lock_interruptible(&wl->mutex); wl 113 drivers/net/wireless/ti/wlcore/sysfs.c if (wl->fwlog_size < 0) { wl 114 drivers/net/wireless/ti/wlcore/sysfs.c mutex_unlock(&wl->mutex); wl 119 drivers/net/wireless/ti/wlcore/sysfs.c len = min_t(size_t, count, wl->fwlog_size); wl 120 drivers/net/wireless/ti/wlcore/sysfs.c wl->fwlog_size -= len; wl 121 drivers/net/wireless/ti/wlcore/sysfs.c memcpy(buffer, wl->fwlog, len); wl 124 drivers/net/wireless/ti/wlcore/sysfs.c memmove(wl->fwlog, wl->fwlog + len, wl->fwlog_size); wl 126 drivers/net/wireless/ti/wlcore/sysfs.c mutex_unlock(&wl->mutex); wl 136 drivers/net/wireless/ti/wlcore/sysfs.c int wlcore_sysfs_init(struct wl1271 *wl) wl 141 drivers/net/wireless/ti/wlcore/sysfs.c ret = device_create_file(wl->dev, &dev_attr_bt_coex_state); wl 148 drivers/net/wireless/ti/wlcore/sysfs.c ret = device_create_file(wl->dev, &dev_attr_hw_pg_ver); wl 155 drivers/net/wireless/ti/wlcore/sysfs.c ret = device_create_bin_file(wl->dev, &fwlog_attr); wl 164 drivers/net/wireless/ti/wlcore/sysfs.c device_remove_file(wl->dev, &dev_attr_hw_pg_ver); wl 167 drivers/net/wireless/ti/wlcore/sysfs.c device_remove_file(wl->dev, &dev_attr_bt_coex_state); wl 173 drivers/net/wireless/ti/wlcore/sysfs.c void wlcore_sysfs_free(struct wl1271 *wl) wl 175 drivers/net/wireless/ti/wlcore/sysfs.c device_remove_bin_file(wl->dev, &fwlog_attr); wl 177 drivers/net/wireless/ti/wlcore/sysfs.c device_remove_file(wl->dev, &dev_attr_hw_pg_ver); wl 179 drivers/net/wireless/ti/wlcore/sysfs.c device_remove_file(wl->dev, &dev_attr_bt_coex_state); wl 11 drivers/net/wireless/ti/wlcore/sysfs.h int wlcore_sysfs_init(struct wl1271 *wl); wl 12 drivers/net/wireless/ti/wlcore/sysfs.h void wlcore_sysfs_free(struct wl1271 *wl); wl 58 drivers/net/wireless/ti/wlcore/testmode.c static int wl1271_tm_cmd_test(struct wl1271 *wl, struct nlattr *tb[]) wl 79 drivers/net/wireless/ti/wlcore/testmode.c mutex_lock(&wl->mutex); wl 81 drivers/net/wireless/ti/wlcore/testmode.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 86 drivers/net/wireless/ti/wlcore/testmode.c ret = pm_runtime_get_sync(wl->dev); wl 88 drivers/net/wireless/ti/wlcore/testmode.c pm_runtime_put_noidle(wl->dev); wl 92 drivers/net/wireless/ti/wlcore/testmode.c ret = wl1271_cmd_test(wl, buf, buf_len, answer); wl 114 drivers/net/wireless/ti/wlcore/testmode.c skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len); wl 132 drivers/net/wireless/ti/wlcore/testmode.c pm_runtime_mark_last_busy(wl->dev); wl 133 drivers/net/wireless/ti/wlcore/testmode.c pm_runtime_put_autosuspend(wl->dev); wl 135 drivers/net/wireless/ti/wlcore/testmode.c mutex_unlock(&wl->mutex); wl 140 drivers/net/wireless/ti/wlcore/testmode.c static int wl1271_tm_cmd_interrogate(struct wl1271 *wl, struct nlattr *tb[]) wl 154 drivers/net/wireless/ti/wlcore/testmode.c mutex_lock(&wl->mutex); wl 156 drivers/net/wireless/ti/wlcore/testmode.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 161 drivers/net/wireless/ti/wlcore/testmode.c ret = pm_runtime_get_sync(wl->dev); wl 163 drivers/net/wireless/ti/wlcore/testmode.c pm_runtime_put_noidle(wl->dev); wl 173 drivers/net/wireless/ti/wlcore/testmode.c ret = wl1271_cmd_interrogate(wl, ie_id, cmd, wl 180 drivers/net/wireless/ti/wlcore/testmode.c skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, sizeof(*cmd)); wl 199 drivers/net/wireless/ti/wlcore/testmode.c pm_runtime_mark_last_busy(wl->dev); wl 200 drivers/net/wireless/ti/wlcore/testmode.c pm_runtime_put_autosuspend(wl->dev); wl 202 drivers/net/wireless/ti/wlcore/testmode.c mutex_unlock(&wl->mutex); wl 207 drivers/net/wireless/ti/wlcore/testmode.c static int wl1271_tm_cmd_configure(struct wl1271 *wl, struct nlattr *tb[]) wl 227 drivers/net/wireless/ti/wlcore/testmode.c mutex_lock(&wl->mutex); wl 228 drivers/net/wireless/ti/wlcore/testmode.c ret = wl1271_cmd_configure(wl, ie_id, buf, buf_len); wl 229 drivers/net/wireless/ti/wlcore/testmode.c mutex_unlock(&wl->mutex); wl 239 drivers/net/wireless/ti/wlcore/testmode.c static int wl1271_tm_detect_fem(struct wl1271 *wl, struct nlattr *tb[]) wl 245 drivers/net/wireless/ti/wlcore/testmode.c ret = wl1271_plt_start(wl, PLT_FEM_DETECT); wl 249 drivers/net/wireless/ti/wlcore/testmode.c mutex_lock(&wl->mutex); wl 251 drivers/net/wireless/ti/wlcore/testmode.c len = nla_total_size(sizeof(wl->fem_manuf)); wl 252 drivers/net/wireless/ti/wlcore/testmode.c skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, len); wl 258 drivers/net/wireless/ti/wlcore/testmode.c if (nla_put(skb, WL1271_TM_ATTR_DATA, sizeof(wl->fem_manuf), wl 259 drivers/net/wireless/ti/wlcore/testmode.c &wl->fem_manuf)) { wl 268 drivers/net/wireless/ti/wlcore/testmode.c mutex_unlock(&wl->mutex); wl 271 drivers/net/wireless/ti/wlcore/testmode.c wl1271_plt_stop(wl); wl 276 drivers/net/wireless/ti/wlcore/testmode.c static int wl1271_tm_cmd_set_plt_mode(struct wl1271 *wl, struct nlattr *tb[]) wl 290 drivers/net/wireless/ti/wlcore/testmode.c ret = wl1271_plt_stop(wl); wl 294 drivers/net/wireless/ti/wlcore/testmode.c ret = wl1271_plt_start(wl, val); wl 297 drivers/net/wireless/ti/wlcore/testmode.c ret = wl1271_tm_detect_fem(wl, tb); wl 307 drivers/net/wireless/ti/wlcore/testmode.c static int wl12xx_tm_cmd_get_mac(struct wl1271 *wl, struct nlattr *tb[]) wl 313 drivers/net/wireless/ti/wlcore/testmode.c mutex_lock(&wl->mutex); wl 315 drivers/net/wireless/ti/wlcore/testmode.c if (!wl->plt) { wl 320 drivers/net/wireless/ti/wlcore/testmode.c if (wl->fuse_oui_addr == 0 && wl->fuse_nic_addr == 0) { wl 325 drivers/net/wireless/ti/wlcore/testmode.c mac_addr[0] = (u8)(wl->fuse_oui_addr >> 16); wl 326 drivers/net/wireless/ti/wlcore/testmode.c mac_addr[1] = (u8)(wl->fuse_oui_addr >> 8); wl 327 drivers/net/wireless/ti/wlcore/testmode.c mac_addr[2] = (u8) wl->fuse_oui_addr; wl 328 drivers/net/wireless/ti/wlcore/testmode.c mac_addr[3] = (u8)(wl->fuse_nic_addr >> 16); wl 329 drivers/net/wireless/ti/wlcore/testmode.c mac_addr[4] = (u8)(wl->fuse_nic_addr >> 8); wl 330 drivers/net/wireless/ti/wlcore/testmode.c mac_addr[5] = (u8) wl->fuse_nic_addr; wl 332 drivers/net/wireless/ti/wlcore/testmode.c skb = cfg80211_testmode_alloc_reply_skb(wl->hw->wiphy, ETH_ALEN); wl 349 drivers/net/wireless/ti/wlcore/testmode.c mutex_unlock(&wl->mutex); wl 356 drivers/net/wireless/ti/wlcore/testmode.c struct wl1271 *wl = hw->priv; wl 372 drivers/net/wireless/ti/wlcore/testmode.c if (wl->plt_mode == PLT_CHIP_AWAKE && wl 378 drivers/net/wireless/ti/wlcore/testmode.c return wl1271_tm_cmd_test(wl, tb); wl 380 drivers/net/wireless/ti/wlcore/testmode.c return wl1271_tm_cmd_interrogate(wl, tb); wl 382 drivers/net/wireless/ti/wlcore/testmode.c return wl1271_tm_cmd_configure(wl, tb); wl 384 drivers/net/wireless/ti/wlcore/testmode.c return wl1271_tm_cmd_set_plt_mode(wl, tb); wl 386 drivers/net/wireless/ti/wlcore/testmode.c return wl12xx_tm_cmd_get_mac(wl, tb); wl 30 drivers/net/wireless/ti/wlcore/tx.c static int wl1271_set_default_wep_key(struct wl1271 *wl, wl 37 drivers/net/wireless/ti/wlcore/tx.c ret = wl12xx_cmd_set_default_wep_key(wl, id, wl 40 drivers/net/wireless/ti/wlcore/tx.c ret = wl12xx_cmd_set_default_wep_key(wl, id, wlvif->sta.hlid); wl 49 drivers/net/wireless/ti/wlcore/tx.c static int wl1271_alloc_tx_id(struct wl1271 *wl, struct sk_buff *skb) wl 53 drivers/net/wireless/ti/wlcore/tx.c id = find_first_zero_bit(wl->tx_frames_map, wl->num_tx_desc); wl 54 drivers/net/wireless/ti/wlcore/tx.c if (id >= wl->num_tx_desc) wl 57 drivers/net/wireless/ti/wlcore/tx.c __set_bit(id, wl->tx_frames_map); wl 58 drivers/net/wireless/ti/wlcore/tx.c wl->tx_frames[id] = skb; wl 59 drivers/net/wireless/ti/wlcore/tx.c wl->tx_frames_cnt++; wl 63 drivers/net/wireless/ti/wlcore/tx.c void wl1271_free_tx_id(struct wl1271 *wl, int id) wl 65 drivers/net/wireless/ti/wlcore/tx.c if (__test_and_clear_bit(id, wl->tx_frames_map)) { wl 66 drivers/net/wireless/ti/wlcore/tx.c if (unlikely(wl->tx_frames_cnt == wl->num_tx_desc)) wl 67 drivers/net/wireless/ti/wlcore/tx.c clear_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags); wl 69 drivers/net/wireless/ti/wlcore/tx.c wl->tx_frames[id] = NULL; wl 70 drivers/net/wireless/ti/wlcore/tx.c wl->tx_frames_cnt--; wl 75 drivers/net/wireless/ti/wlcore/tx.c static void wl1271_tx_ap_update_inconnection_sta(struct wl1271 *wl, wl 91 drivers/net/wireless/ti/wlcore/tx.c wl1271_acx_set_inconnection_sta(wl, wlvif, hdr->addr1); wl 98 drivers/net/wireless/ti/wlcore/tx.c wlcore_update_inconn_sta(wl, wlvif, NULL, true); wl 101 drivers/net/wireless/ti/wlcore/tx.c ieee80211_queue_delayed_work(wl->hw, wl 106 drivers/net/wireless/ti/wlcore/tx.c static void wl1271_tx_regulate_link(struct wl1271 *wl, wl 116 drivers/net/wireless/ti/wlcore/tx.c fw_ps = test_bit(hlid, &wl->ap_fw_ps_map); wl 117 drivers/net/wireless/ti/wlcore/tx.c tx_pkts = wl->links[hlid].allocated_pkts; wl 129 drivers/net/wireless/ti/wlcore/tx.c if (wl->active_link_count > (wl->ap_count*2 + 1) && fw_ps && wl 131 drivers/net/wireless/ti/wlcore/tx.c wl12xx_ps_link_start(wl, wlvif, hlid, true); wl 134 drivers/net/wireless/ti/wlcore/tx.c bool wl12xx_is_dummy_packet(struct wl1271 *wl, struct sk_buff *skb) wl 136 drivers/net/wireless/ti/wlcore/tx.c return wl->dummy_packet == skb; wl 140 drivers/net/wireless/ti/wlcore/tx.c static u8 wl12xx_tx_get_hlid_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 152 drivers/net/wireless/ti/wlcore/tx.c return wl->system_hlid; wl 162 drivers/net/wireless/ti/wlcore/tx.c u8 wl12xx_tx_get_hlid(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 168 drivers/net/wireless/ti/wlcore/tx.c return wl12xx_tx_get_hlid_ap(wl, wlvif, skb, sta); wl 179 drivers/net/wireless/ti/wlcore/tx.c unsigned int wlcore_calc_packet_alignment(struct wl1271 *wl, wl 182 drivers/net/wireless/ti/wlcore/tx.c if ((wl->quirks & WLCORE_QUIRK_TX_PAD_LAST_FRAME) || wl 183 drivers/net/wireless/ti/wlcore/tx.c !(wl->quirks & WLCORE_QUIRK_TX_BLOCKSIZE_ALIGN)) wl 190 drivers/net/wireless/ti/wlcore/tx.c static int wl1271_tx_allocate(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 200 drivers/net/wireless/ti/wlcore/tx.c if (buf_offset + total_len > wl->aggr_buf_size) wl 203 drivers/net/wireless/ti/wlcore/tx.c spare_blocks = wlcore_hw_get_spare_blocks(wl, is_gem); wl 206 drivers/net/wireless/ti/wlcore/tx.c id = wl1271_alloc_tx_id(wl, skb); wl 210 drivers/net/wireless/ti/wlcore/tx.c total_blocks = wlcore_hw_calc_tx_blocks(wl, total_len, spare_blocks); wl 212 drivers/net/wireless/ti/wlcore/tx.c if (total_blocks <= wl->tx_blocks_available) { wl 215 drivers/net/wireless/ti/wlcore/tx.c wlcore_hw_set_tx_desc_blocks(wl, desc, total_blocks, wl 220 drivers/net/wireless/ti/wlcore/tx.c wl->tx_blocks_available -= total_blocks; wl 221 drivers/net/wireless/ti/wlcore/tx.c wl->tx_allocated_blocks += total_blocks; wl 228 drivers/net/wireless/ti/wlcore/tx.c if (wl->tx_allocated_blocks == total_blocks || wl 229 drivers/net/wireless/ti/wlcore/tx.c test_and_clear_bit(WL1271_FLAG_REINIT_TX_WDOG, &wl->flags)) wl 230 drivers/net/wireless/ti/wlcore/tx.c wl12xx_rearm_tx_watchdog_locked(wl); wl 233 drivers/net/wireless/ti/wlcore/tx.c wl->tx_allocated_pkts[ac]++; wl 235 drivers/net/wireless/ti/wlcore/tx.c if (test_bit(hlid, wl->links_map)) wl 236 drivers/net/wireless/ti/wlcore/tx.c wl->links[hlid].allocated_pkts++; wl 244 drivers/net/wireless/ti/wlcore/tx.c wl1271_free_tx_id(wl, id); wl 250 drivers/net/wireless/ti/wlcore/tx.c static void wl1271_tx_fill_hdr(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 277 drivers/net/wireless/ti/wlcore/tx.c desc->start_time = cpu_to_le32(hosttime - wl->time_offset); wl 279 drivers/net/wireless/ti/wlcore/tx.c is_dummy = wl12xx_is_dummy_packet(wl, skb); wl 300 drivers/net/wireless/ti/wlcore/tx.c u8 session_id = wl->session_ids[hlid]; wl 302 drivers/net/wireless/ti/wlcore/tx.c if ((wl->quirks & WLCORE_QUIRK_AP_ZERO_SESSION_ID) && wl 355 drivers/net/wireless/ti/wlcore/tx.c wlcore_hw_set_tx_desc_csum(wl, desc, skb); wl 356 drivers/net/wireless/ti/wlcore/tx.c wlcore_hw_set_tx_desc_data_len(wl, desc, skb); wl 360 drivers/net/wireless/ti/wlcore/tx.c static int wl1271_prepare_tx_frame(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 382 drivers/net/wireless/ti/wlcore/tx.c is_dummy = wl12xx_is_dummy_packet(wl, skb); wl 384 drivers/net/wireless/ti/wlcore/tx.c if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) && wl 398 drivers/net/wireless/ti/wlcore/tx.c ret = wl1271_set_default_wep_key(wl, wlvif, idx); wl 407 drivers/net/wireless/ti/wlcore/tx.c ret = wl1271_tx_allocate(wl, wlvif, skb, extra, buf_offset, hlid, wl 412 drivers/net/wireless/ti/wlcore/tx.c wl1271_tx_fill_hdr(wl, wlvif, skb, extra, info, hlid); wl 415 drivers/net/wireless/ti/wlcore/tx.c wl1271_tx_ap_update_inconnection_sta(wl, wlvif, skb); wl 416 drivers/net/wireless/ti/wlcore/tx.c wl1271_tx_regulate_link(wl, wlvif, hlid); wl 427 drivers/net/wireless/ti/wlcore/tx.c total_len = wlcore_calc_packet_alignment(wl, skb->len); wl 429 drivers/net/wireless/ti/wlcore/tx.c memcpy(wl->aggr_buf + buf_offset, skb->data, skb->len); wl 430 drivers/net/wireless/ti/wlcore/tx.c memset(wl->aggr_buf + buf_offset + skb->len, 0, total_len - skb->len); wl 439 drivers/net/wireless/ti/wlcore/tx.c u32 wl1271_tx_enabled_rates_get(struct wl1271 *wl, u32 rate_set, wl 446 drivers/net/wireless/ti/wlcore/tx.c band = wl->hw->wiphy->bands[rate_band]; wl 465 drivers/net/wireless/ti/wlcore/tx.c void wl1271_handle_tx_low_watermark(struct wl1271 *wl) wl 470 drivers/net/wireless/ti/wlcore/tx.c wl12xx_for_each_wlvif(wl, wlvif) { wl 472 drivers/net/wireless/ti/wlcore/tx.c if (wlcore_is_queue_stopped_by_reason(wl, wlvif, i, wl 477 drivers/net/wireless/ti/wlcore/tx.c wlcore_wake_queue(wl, wlvif, i, wl 483 drivers/net/wireless/ti/wlcore/tx.c static int wlcore_select_ac(struct wl1271 *wl) wl 497 drivers/net/wireless/ti/wlcore/tx.c if (wl->tx_queue_count[ac] && wl 498 drivers/net/wireless/ti/wlcore/tx.c wl->tx_allocated_pkts[ac] < min_pkts) { wl 500 drivers/net/wireless/ti/wlcore/tx.c min_pkts = wl->tx_allocated_pkts[q]; wl 507 drivers/net/wireless/ti/wlcore/tx.c static struct sk_buff *wlcore_lnk_dequeue(struct wl1271 *wl, wl 515 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 516 drivers/net/wireless/ti/wlcore/tx.c WARN_ON_ONCE(wl->tx_queue_count[q] <= 0); wl 517 drivers/net/wireless/ti/wlcore/tx.c wl->tx_queue_count[q]--; wl 522 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 528 drivers/net/wireless/ti/wlcore/tx.c static struct sk_buff *wlcore_lnk_dequeue_high_prio(struct wl1271 *wl, wl 532 drivers/net/wireless/ti/wlcore/tx.c struct wl1271_link *lnk = &wl->links[hlid]; wl 534 drivers/net/wireless/ti/wlcore/tx.c if (!wlcore_hw_lnk_high_prio(wl, hlid, lnk)) { wl 537 drivers/net/wireless/ti/wlcore/tx.c wlcore_hw_lnk_low_prio(wl, hlid, lnk)) wl 544 drivers/net/wireless/ti/wlcore/tx.c return wlcore_lnk_dequeue(wl, lnk, ac); wl 547 drivers/net/wireless/ti/wlcore/tx.c static struct sk_buff *wlcore_vif_dequeue_high_prio(struct wl1271 *wl, wl 556 drivers/net/wireless/ti/wlcore/tx.c start_hlid = (wlvif->last_tx_hlid + 1) % wl->num_links; wl 559 drivers/net/wireless/ti/wlcore/tx.c for (i = 0; i < wl->num_links; i++) { wl 560 drivers/net/wireless/ti/wlcore/tx.c h = (start_hlid + i) % wl->num_links; wl 566 drivers/net/wireless/ti/wlcore/tx.c skb = wlcore_lnk_dequeue_high_prio(wl, h, ac, wl 582 drivers/net/wireless/ti/wlcore/tx.c static struct sk_buff *wl1271_skb_dequeue(struct wl1271 *wl, u8 *hlid) wl 585 drivers/net/wireless/ti/wlcore/tx.c struct wl12xx_vif *wlvif = wl->last_wlvif; wl 590 drivers/net/wireless/ti/wlcore/tx.c ac = wlcore_select_ac(wl); wl 596 drivers/net/wireless/ti/wlcore/tx.c wl12xx_for_each_wlvif_continue(wl, wlvif) { wl 600 drivers/net/wireless/ti/wlcore/tx.c skb = wlcore_vif_dequeue_high_prio(wl, wlvif, ac, hlid, wl 605 drivers/net/wireless/ti/wlcore/tx.c wl->last_wlvif = wlvif; wl 612 drivers/net/wireless/ti/wlcore/tx.c skb = wlcore_lnk_dequeue_high_prio(wl, wl->system_hlid, wl 615 drivers/net/wireless/ti/wlcore/tx.c *hlid = wl->system_hlid; wl 616 drivers/net/wireless/ti/wlcore/tx.c wl->last_wlvif = NULL; wl 623 drivers/net/wireless/ti/wlcore/tx.c wl12xx_for_each_wlvif(wl, wlvif) { wl 627 drivers/net/wireless/ti/wlcore/tx.c skb = wlcore_vif_dequeue_high_prio(wl, wlvif, ac, hlid, wl 630 drivers/net/wireless/ti/wlcore/tx.c wl->last_wlvif = wlvif; wl 635 drivers/net/wireless/ti/wlcore/tx.c if (wlvif == wl->last_wlvif) wl 642 drivers/net/wireless/ti/wlcore/tx.c struct wl1271_link *lnk = &wl->links[low_prio_hlid]; wl 643 drivers/net/wireless/ti/wlcore/tx.c skb = wlcore_lnk_dequeue(wl, lnk, ac); wl 649 drivers/net/wireless/ti/wlcore/tx.c wl->last_wlvif = lnk->wlvif; wl 657 drivers/net/wireless/ti/wlcore/tx.c test_and_clear_bit(WL1271_FLAG_DUMMY_PACKET_PENDING, &wl->flags)) { wl 660 drivers/net/wireless/ti/wlcore/tx.c skb = wl->dummy_packet; wl 661 drivers/net/wireless/ti/wlcore/tx.c *hlid = wl->system_hlid; wl 663 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 664 drivers/net/wireless/ti/wlcore/tx.c WARN_ON_ONCE(wl->tx_queue_count[q] <= 0); wl 665 drivers/net/wireless/ti/wlcore/tx.c wl->tx_queue_count[q]--; wl 666 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 672 drivers/net/wireless/ti/wlcore/tx.c static void wl1271_skb_queue_head(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 678 drivers/net/wireless/ti/wlcore/tx.c if (wl12xx_is_dummy_packet(wl, skb)) { wl 679 drivers/net/wireless/ti/wlcore/tx.c set_bit(WL1271_FLAG_DUMMY_PACKET_PENDING, &wl->flags); wl 681 drivers/net/wireless/ti/wlcore/tx.c skb_queue_head(&wl->links[hlid].tx_queue[q], skb); wl 684 drivers/net/wireless/ti/wlcore/tx.c wlvif->last_tx_hlid = (hlid + wl->num_links - 1) % wl 685 drivers/net/wireless/ti/wlcore/tx.c wl->num_links; wl 688 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 689 drivers/net/wireless/ti/wlcore/tx.c wl->tx_queue_count[q]++; wl 692 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 702 drivers/net/wireless/ti/wlcore/tx.c void wl12xx_rearm_rx_streaming(struct wl1271 *wl, unsigned long *active_hlids) wl 708 drivers/net/wireless/ti/wlcore/tx.c if (!wl->conf.rx_streaming.interval) wl 711 drivers/net/wireless/ti/wlcore/tx.c if (!wl->conf.rx_streaming.always && wl 712 drivers/net/wireless/ti/wlcore/tx.c !test_bit(WL1271_FLAG_SOFT_GEMINI, &wl->flags)) wl 715 drivers/net/wireless/ti/wlcore/tx.c timeout = wl->conf.rx_streaming.duration; wl 716 drivers/net/wireless/ti/wlcore/tx.c wl12xx_for_each_wlvif_sta(wl, wlvif) { wl 718 drivers/net/wireless/ti/wlcore/tx.c for_each_set_bit(hlid, active_hlids, wl->num_links) { wl 730 drivers/net/wireless/ti/wlcore/tx.c ieee80211_queue_work(wl->hw, wl 748 drivers/net/wireless/ti/wlcore/tx.c int wlcore_tx_work_locked(struct wl1271 *wl) wl 760 drivers/net/wireless/ti/wlcore/tx.c if (unlikely(wl->state != WLCORE_STATE_ON)) wl 763 drivers/net/wireless/ti/wlcore/tx.c while ((skb = wl1271_skb_dequeue(wl, &hlid))) { wl 768 drivers/net/wireless/ti/wlcore/tx.c if (!wl12xx_is_dummy_packet(wl, skb)) wl 771 drivers/net/wireless/ti/wlcore/tx.c hlid = wl->system_hlid; wl 774 drivers/net/wireless/ti/wlcore/tx.c ret = wl1271_prepare_tx_frame(wl, wlvif, skb, buf_offset, wl 781 drivers/net/wireless/ti/wlcore/tx.c wl1271_skb_queue_head(wl, wlvif, skb, hlid); wl 783 drivers/net/wireless/ti/wlcore/tx.c buf_offset = wlcore_hw_pre_pkt_send(wl, buf_offset, wl 785 drivers/net/wireless/ti/wlcore/tx.c bus_ret = wlcore_write_data(wl, REG_SLV_MEM_DATA, wl 786 drivers/net/wireless/ti/wlcore/tx.c wl->aggr_buf, buf_offset, true); wl 798 drivers/net/wireless/ti/wlcore/tx.c wl1271_skb_queue_head(wl, wlvif, skb, hlid); wl 800 drivers/net/wireless/ti/wlcore/tx.c set_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags); wl 803 drivers/net/wireless/ti/wlcore/tx.c if (wl12xx_is_dummy_packet(wl, skb)) wl 808 drivers/net/wireless/ti/wlcore/tx.c wl1271_skb_queue_head(wl, wlvif, skb, hlid); wl 810 drivers/net/wireless/ti/wlcore/tx.c ieee80211_free_txskb(wl->hw, skb); wl 815 drivers/net/wireless/ti/wlcore/tx.c wl->tx_packets_count++; wl 824 drivers/net/wireless/ti/wlcore/tx.c buf_offset = wlcore_hw_pre_pkt_send(wl, buf_offset, last_len); wl 825 drivers/net/wireless/ti/wlcore/tx.c bus_ret = wlcore_write_data(wl, REG_SLV_MEM_DATA, wl->aggr_buf, wl 837 drivers/net/wireless/ti/wlcore/tx.c if (wl->quirks & WLCORE_QUIRK_END_OF_TRANSACTION) { wl 838 drivers/net/wireless/ti/wlcore/tx.c bus_ret = wlcore_write32(wl, WL12XX_HOST_WR_ACCESS, wl 839 drivers/net/wireless/ti/wlcore/tx.c wl->tx_packets_count); wl 844 drivers/net/wireless/ti/wlcore/tx.c wl1271_handle_tx_low_watermark(wl); wl 846 drivers/net/wireless/ti/wlcore/tx.c wl12xx_rearm_rx_streaming(wl, active_hlids); wl 854 drivers/net/wireless/ti/wlcore/tx.c struct wl1271 *wl = container_of(work, struct wl1271, tx_work); wl 857 drivers/net/wireless/ti/wlcore/tx.c mutex_lock(&wl->mutex); wl 858 drivers/net/wireless/ti/wlcore/tx.c ret = pm_runtime_get_sync(wl->dev); wl 860 drivers/net/wireless/ti/wlcore/tx.c pm_runtime_put_noidle(wl->dev); wl 864 drivers/net/wireless/ti/wlcore/tx.c ret = wlcore_tx_work_locked(wl); wl 866 drivers/net/wireless/ti/wlcore/tx.c wl12xx_queue_recovery_work(wl); wl 870 drivers/net/wireless/ti/wlcore/tx.c pm_runtime_mark_last_busy(wl->dev); wl 871 drivers/net/wireless/ti/wlcore/tx.c pm_runtime_put_autosuspend(wl->dev); wl 873 drivers/net/wireless/ti/wlcore/tx.c mutex_unlock(&wl->mutex); wl 897 drivers/net/wireless/ti/wlcore/tx.c static void wl1271_tx_complete_packet(struct wl1271 *wl, wl 910 drivers/net/wireless/ti/wlcore/tx.c if (unlikely(id >= wl->num_tx_desc || wl->tx_frames[id] == NULL)) { wl 915 drivers/net/wireless/ti/wlcore/tx.c skb = wl->tx_frames[id]; wl 918 drivers/net/wireless/ti/wlcore/tx.c if (wl12xx_is_dummy_packet(wl, skb)) { wl 919 drivers/net/wireless/ti/wlcore/tx.c wl1271_free_tx_id(wl, id); wl 931 drivers/net/wireless/ti/wlcore/tx.c rate = wlcore_rate_to_idx(wl, result->rate_class_index, wl 936 drivers/net/wireless/ti/wlcore/tx.c wl->stats.excessive_retries++; wl 945 drivers/net/wireless/ti/wlcore/tx.c wl->stats.retry_count += result->ack_failures; wl 951 drivers/net/wireless/ti/wlcore/tx.c if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) && wl 966 drivers/net/wireless/ti/wlcore/tx.c skb_queue_tail(&wl->deferred_tx_queue, skb); wl 967 drivers/net/wireless/ti/wlcore/tx.c queue_work(wl->freezable_wq, &wl->netstack_work); wl 968 drivers/net/wireless/ti/wlcore/tx.c wl1271_free_tx_id(wl, result->id); wl 972 drivers/net/wireless/ti/wlcore/tx.c int wlcore_tx_complete(struct wl1271 *wl) wl 974 drivers/net/wireless/ti/wlcore/tx.c struct wl1271_acx_mem_map *memmap = wl->target_mem_map; wl 980 drivers/net/wireless/ti/wlcore/tx.c ret = wlcore_read(wl, le32_to_cpu(memmap->tx_result), wl 981 drivers/net/wireless/ti/wlcore/tx.c wl->tx_res_if, sizeof(*wl->tx_res_if), false); wl 985 drivers/net/wireless/ti/wlcore/tx.c fw_counter = le32_to_cpu(wl->tx_res_if->tx_result_fw_counter); wl 988 drivers/net/wireless/ti/wlcore/tx.c ret = wlcore_write32(wl, le32_to_cpu(memmap->tx_result) + wl 994 drivers/net/wireless/ti/wlcore/tx.c count = fw_counter - wl->tx_results_count; wl 1004 drivers/net/wireless/ti/wlcore/tx.c u8 offset = wl->tx_results_count & TX_HW_RESULT_QUEUE_LEN_MASK; wl 1007 drivers/net/wireless/ti/wlcore/tx.c result = &(wl->tx_res_if->tx_results_queue[offset]); wl 1008 drivers/net/wireless/ti/wlcore/tx.c wl1271_tx_complete_packet(wl, result); wl 1010 drivers/net/wireless/ti/wlcore/tx.c wl->tx_results_count++; wl 1018 drivers/net/wireless/ti/wlcore/tx.c void wl1271_tx_reset_link_queues(struct wl1271 *wl, u8 hlid) wl 1025 drivers/net/wireless/ti/wlcore/tx.c struct wl1271_link *lnk = &wl->links[hlid]; wl 1032 drivers/net/wireless/ti/wlcore/tx.c if (!wl12xx_is_dummy_packet(wl, skb)) { wl 1036 drivers/net/wireless/ti/wlcore/tx.c ieee80211_tx_status_ni(wl->hw, skb); wl 1043 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1045 drivers/net/wireless/ti/wlcore/tx.c wl->tx_queue_count[i] -= total[i]; wl 1049 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1051 drivers/net/wireless/ti/wlcore/tx.c wl1271_handle_tx_low_watermark(wl); wl 1055 drivers/net/wireless/ti/wlcore/tx.c void wl12xx_tx_reset_wlvif(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl 1060 drivers/net/wireless/ti/wlcore/tx.c for_each_set_bit(i, wlvif->links_map, wl->num_links) { wl 1064 drivers/net/wireless/ti/wlcore/tx.c wl1271_free_sta(wl, wlvif, i); wl 1067 drivers/net/wireless/ti/wlcore/tx.c wl12xx_free_link(wl, wlvif, &hlid); wl 1076 drivers/net/wireless/ti/wlcore/tx.c void wl12xx_tx_reset(struct wl1271 *wl) wl 1083 drivers/net/wireless/ti/wlcore/tx.c if (wl1271_tx_total_queue_count(wl) != 0) { wl 1084 drivers/net/wireless/ti/wlcore/tx.c for (i = 0; i < wl->num_links; i++) wl 1085 drivers/net/wireless/ti/wlcore/tx.c wl1271_tx_reset_link_queues(wl, i); wl 1088 drivers/net/wireless/ti/wlcore/tx.c wl->tx_queue_count[i] = 0; wl 1096 drivers/net/wireless/ti/wlcore/tx.c wl1271_handle_tx_low_watermark(wl); wl 1098 drivers/net/wireless/ti/wlcore/tx.c for (i = 0; i < wl->num_tx_desc; i++) { wl 1099 drivers/net/wireless/ti/wlcore/tx.c if (wl->tx_frames[i] == NULL) wl 1102 drivers/net/wireless/ti/wlcore/tx.c skb = wl->tx_frames[i]; wl 1103 drivers/net/wireless/ti/wlcore/tx.c wl1271_free_tx_id(wl, i); wl 1106 drivers/net/wireless/ti/wlcore/tx.c if (!wl12xx_is_dummy_packet(wl, skb)) { wl 1113 drivers/net/wireless/ti/wlcore/tx.c if ((wl->quirks & WLCORE_QUIRK_TKIP_HEADER_SPACE) && wl 1126 drivers/net/wireless/ti/wlcore/tx.c ieee80211_tx_status_ni(wl->hw, skb); wl 1134 drivers/net/wireless/ti/wlcore/tx.c void wl1271_tx_flush(struct wl1271 *wl) wl 1142 drivers/net/wireless/ti/wlcore/tx.c mutex_lock(&wl->flush_mutex); wl 1144 drivers/net/wireless/ti/wlcore/tx.c mutex_lock(&wl->mutex); wl 1145 drivers/net/wireless/ti/wlcore/tx.c if (wl->tx_frames_cnt == 0 && wl1271_tx_total_queue_count(wl) == 0) { wl 1146 drivers/net/wireless/ti/wlcore/tx.c mutex_unlock(&wl->mutex); wl 1150 drivers/net/wireless/ti/wlcore/tx.c wlcore_stop_queues(wl, WLCORE_QUEUE_STOP_REASON_FLUSH); wl 1154 drivers/net/wireless/ti/wlcore/tx.c wl->tx_frames_cnt, wl 1155 drivers/net/wireless/ti/wlcore/tx.c wl1271_tx_total_queue_count(wl)); wl 1158 drivers/net/wireless/ti/wlcore/tx.c mutex_unlock(&wl->mutex); wl 1159 drivers/net/wireless/ti/wlcore/tx.c if (wl1271_tx_total_queue_count(wl)) wl 1160 drivers/net/wireless/ti/wlcore/tx.c wl1271_tx_work(&wl->tx_work); wl 1162 drivers/net/wireless/ti/wlcore/tx.c mutex_lock(&wl->mutex); wl 1164 drivers/net/wireless/ti/wlcore/tx.c if ((wl->tx_frames_cnt == 0) && wl 1165 drivers/net/wireless/ti/wlcore/tx.c (wl1271_tx_total_queue_count(wl) == 0)) { wl 1177 drivers/net/wireless/ti/wlcore/tx.c for (i = 0; i < wl->num_links; i++) wl 1178 drivers/net/wireless/ti/wlcore/tx.c wl1271_tx_reset_link_queues(wl, i); wl 1181 drivers/net/wireless/ti/wlcore/tx.c wlcore_wake_queues(wl, WLCORE_QUEUE_STOP_REASON_FLUSH); wl 1182 drivers/net/wireless/ti/wlcore/tx.c mutex_unlock(&wl->mutex); wl 1184 drivers/net/wireless/ti/wlcore/tx.c mutex_unlock(&wl->flush_mutex); wl 1188 drivers/net/wireless/ti/wlcore/tx.c u32 wl1271_tx_min_rate_get(struct wl1271 *wl, u32 rate_set) wl 1197 drivers/net/wireless/ti/wlcore/tx.c void wlcore_stop_queue_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1201 drivers/net/wireless/ti/wlcore/tx.c bool stopped = !!wl->queue_stop_reasons[hwq]; wl 1204 drivers/net/wireless/ti/wlcore/tx.c WARN_ON_ONCE(test_and_set_bit(reason, &wl->queue_stop_reasons[hwq])); wl 1209 drivers/net/wireless/ti/wlcore/tx.c ieee80211_stop_queue(wl->hw, hwq); wl 1212 drivers/net/wireless/ti/wlcore/tx.c void wlcore_stop_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue, wl 1217 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1218 drivers/net/wireless/ti/wlcore/tx.c wlcore_stop_queue_locked(wl, wlvif, queue, reason); wl 1219 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1222 drivers/net/wireless/ti/wlcore/tx.c void wlcore_wake_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue, wl 1228 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1231 drivers/net/wireless/ti/wlcore/tx.c WARN_ON_ONCE(!test_and_clear_bit(reason, &wl->queue_stop_reasons[hwq])); wl 1233 drivers/net/wireless/ti/wlcore/tx.c if (wl->queue_stop_reasons[hwq]) wl 1236 drivers/net/wireless/ti/wlcore/tx.c ieee80211_wake_queue(wl->hw, hwq); wl 1239 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1242 drivers/net/wireless/ti/wlcore/tx.c void wlcore_stop_queues(struct wl1271 *wl, wl 1248 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1253 drivers/net/wireless/ti/wlcore/tx.c &wl->queue_stop_reasons[i])); wl 1258 drivers/net/wireless/ti/wlcore/tx.c ieee80211_stop_queues(wl->hw); wl 1260 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1263 drivers/net/wireless/ti/wlcore/tx.c void wlcore_wake_queues(struct wl1271 *wl, wl 1269 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1274 drivers/net/wireless/ti/wlcore/tx.c &wl->queue_stop_reasons[i])); wl 1279 drivers/net/wireless/ti/wlcore/tx.c ieee80211_wake_queues(wl->hw); wl 1281 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1284 drivers/net/wireless/ti/wlcore/tx.c bool wlcore_is_queue_stopped_by_reason(struct wl1271 *wl, wl 1291 drivers/net/wireless/ti/wlcore/tx.c spin_lock_irqsave(&wl->wl_lock, flags); wl 1292 drivers/net/wireless/ti/wlcore/tx.c stopped = wlcore_is_queue_stopped_by_reason_locked(wl, wlvif, queue, wl 1294 drivers/net/wireless/ti/wlcore/tx.c spin_unlock_irqrestore(&wl->wl_lock, flags); wl 1299 drivers/net/wireless/ti/wlcore/tx.c bool wlcore_is_queue_stopped_by_reason_locked(struct wl1271 *wl, wl 1305 drivers/net/wireless/ti/wlcore/tx.c assert_spin_locked(&wl->wl_lock); wl 1306 drivers/net/wireless/ti/wlcore/tx.c return test_bit(reason, &wl->queue_stop_reasons[hwq]); wl 1309 drivers/net/wireless/ti/wlcore/tx.c bool wlcore_is_queue_stopped_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 1314 drivers/net/wireless/ti/wlcore/tx.c assert_spin_locked(&wl->wl_lock); wl 1315 drivers/net/wireless/ti/wlcore/tx.c return !!wl->queue_stop_reasons[hwq]; wl 219 drivers/net/wireless/ti/wlcore/tx.h static inline int wl1271_tx_total_queue_count(struct wl1271 *wl) wl 224 drivers/net/wireless/ti/wlcore/tx.h count += wl->tx_queue_count[i]; wl 230 drivers/net/wireless/ti/wlcore/tx.h int wlcore_tx_work_locked(struct wl1271 *wl); wl 231 drivers/net/wireless/ti/wlcore/tx.h int wlcore_tx_complete(struct wl1271 *wl); wl 232 drivers/net/wireless/ti/wlcore/tx.h void wl12xx_tx_reset_wlvif(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 233 drivers/net/wireless/ti/wlcore/tx.h void wl12xx_tx_reset(struct wl1271 *wl); wl 234 drivers/net/wireless/ti/wlcore/tx.h void wl1271_tx_flush(struct wl1271 *wl); wl 235 drivers/net/wireless/ti/wlcore/tx.h u8 wlcore_rate_to_idx(struct wl1271 *wl, u8 rate, enum nl80211_band band); wl 236 drivers/net/wireless/ti/wlcore/tx.h u32 wl1271_tx_enabled_rates_get(struct wl1271 *wl, u32 rate_set, wl 238 drivers/net/wireless/ti/wlcore/tx.h u32 wl1271_tx_min_rate_get(struct wl1271 *wl, u32 rate_set); wl 239 drivers/net/wireless/ti/wlcore/tx.h u8 wl12xx_tx_get_hlid(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 241 drivers/net/wireless/ti/wlcore/tx.h void wl1271_tx_reset_link_queues(struct wl1271 *wl, u8 hlid); wl 242 drivers/net/wireless/ti/wlcore/tx.h void wl1271_handle_tx_low_watermark(struct wl1271 *wl); wl 243 drivers/net/wireless/ti/wlcore/tx.h bool wl12xx_is_dummy_packet(struct wl1271 *wl, struct sk_buff *skb); wl 244 drivers/net/wireless/ti/wlcore/tx.h void wl12xx_rearm_rx_streaming(struct wl1271 *wl, unsigned long *active_hlids); wl 245 drivers/net/wireless/ti/wlcore/tx.h unsigned int wlcore_calc_packet_alignment(struct wl1271 *wl, wl 247 drivers/net/wireless/ti/wlcore/tx.h void wl1271_free_tx_id(struct wl1271 *wl, int id); wl 248 drivers/net/wireless/ti/wlcore/tx.h void wlcore_stop_queue_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 250 drivers/net/wireless/ti/wlcore/tx.h void wlcore_stop_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue, wl 252 drivers/net/wireless/ti/wlcore/tx.h void wlcore_wake_queue(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 queue, wl 254 drivers/net/wireless/ti/wlcore/tx.h void wlcore_stop_queues(struct wl1271 *wl, wl 256 drivers/net/wireless/ti/wlcore/tx.h void wlcore_wake_queues(struct wl1271 *wl, wl 258 drivers/net/wireless/ti/wlcore/tx.h bool wlcore_is_queue_stopped_by_reason(struct wl1271 *wl, wl 262 drivers/net/wireless/ti/wlcore/tx.h wlcore_is_queue_stopped_by_reason_locked(struct wl1271 *wl, wl 266 drivers/net/wireless/ti/wlcore/tx.h bool wlcore_is_queue_stopped_locked(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 270 drivers/net/wireless/ti/wlcore/tx.h void wl1271_free_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 hlid); wl 271 drivers/net/wireless/ti/wlcore/tx.h void wl12xx_rearm_tx_watchdog_locked(struct wl1271 *wl); wl 32 drivers/net/wireless/ti/wlcore/vendor_cmd.c struct wl1271 *wl = hw->priv; wl 49 drivers/net/wireless/ti/wlcore/vendor_cmd.c mutex_lock(&wl->mutex); wl 51 drivers/net/wireless/ti/wlcore/vendor_cmd.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 56 drivers/net/wireless/ti/wlcore/vendor_cmd.c ret = pm_runtime_get_sync(wl->dev); wl 58 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_put_noidle(wl->dev); wl 62 drivers/net/wireless/ti/wlcore/vendor_cmd.c ret = wlcore_smart_config_start(wl, wl 65 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_mark_last_busy(wl->dev); wl 66 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_put_autosuspend(wl->dev); wl 68 drivers/net/wireless/ti/wlcore/vendor_cmd.c mutex_unlock(&wl->mutex); wl 79 drivers/net/wireless/ti/wlcore/vendor_cmd.c struct wl1271 *wl = hw->priv; wl 84 drivers/net/wireless/ti/wlcore/vendor_cmd.c mutex_lock(&wl->mutex); wl 86 drivers/net/wireless/ti/wlcore/vendor_cmd.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 91 drivers/net/wireless/ti/wlcore/vendor_cmd.c ret = pm_runtime_get_sync(wl->dev); wl 93 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_put_noidle(wl->dev); wl 97 drivers/net/wireless/ti/wlcore/vendor_cmd.c ret = wlcore_smart_config_stop(wl); wl 99 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_mark_last_busy(wl->dev); wl 100 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_put_autosuspend(wl->dev); wl 102 drivers/net/wireless/ti/wlcore/vendor_cmd.c mutex_unlock(&wl->mutex); wl 113 drivers/net/wireless/ti/wlcore/vendor_cmd.c struct wl1271 *wl = hw->priv; wl 131 drivers/net/wireless/ti/wlcore/vendor_cmd.c mutex_lock(&wl->mutex); wl 133 drivers/net/wireless/ti/wlcore/vendor_cmd.c if (unlikely(wl->state != WLCORE_STATE_ON)) { wl 138 drivers/net/wireless/ti/wlcore/vendor_cmd.c ret = pm_runtime_get_sync(wl->dev); wl 140 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_put_noidle(wl->dev); wl 144 drivers/net/wireless/ti/wlcore/vendor_cmd.c ret = wlcore_smart_config_set_group_key(wl, wl 149 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_mark_last_busy(wl->dev); wl 150 drivers/net/wireless/ti/wlcore/vendor_cmd.c pm_runtime_put_autosuspend(wl->dev); wl 152 drivers/net/wireless/ti/wlcore/vendor_cmd.c mutex_unlock(&wl->mutex); wl 38 drivers/net/wireless/ti/wlcore/wlcore.h int (*setup)(struct wl1271 *wl); wl 39 drivers/net/wireless/ti/wlcore/wlcore.h int (*identify_chip)(struct wl1271 *wl); wl 40 drivers/net/wireless/ti/wlcore/wlcore.h int (*identify_fw)(struct wl1271 *wl); wl 41 drivers/net/wireless/ti/wlcore/wlcore.h int (*boot)(struct wl1271 *wl); wl 42 drivers/net/wireless/ti/wlcore/wlcore.h int (*plt_init)(struct wl1271 *wl); wl 43 drivers/net/wireless/ti/wlcore/wlcore.h int (*trigger_cmd)(struct wl1271 *wl, int cmd_box_addr, wl 45 drivers/net/wireless/ti/wlcore/wlcore.h int (*ack_event)(struct wl1271 *wl); wl 46 drivers/net/wireless/ti/wlcore/wlcore.h int (*wait_for_event)(struct wl1271 *wl, enum wlcore_wait_event event, wl 48 drivers/net/wireless/ti/wlcore/wlcore.h int (*process_mailbox_events)(struct wl1271 *wl); wl 49 drivers/net/wireless/ti/wlcore/wlcore.h u32 (*calc_tx_blocks)(struct wl1271 *wl, u32 len, u32 spare_blks); wl 50 drivers/net/wireless/ti/wlcore/wlcore.h void (*set_tx_desc_blocks)(struct wl1271 *wl, wl 53 drivers/net/wireless/ti/wlcore/wlcore.h void (*set_tx_desc_data_len)(struct wl1271 *wl, wl 56 drivers/net/wireless/ti/wlcore/wlcore.h enum wl_rx_buf_align (*get_rx_buf_align)(struct wl1271 *wl, wl 58 drivers/net/wireless/ti/wlcore/wlcore.h int (*prepare_read)(struct wl1271 *wl, u32 rx_desc, u32 len); wl 59 drivers/net/wireless/ti/wlcore/wlcore.h u32 (*get_rx_packet_len)(struct wl1271 *wl, void *rx_data, wl 61 drivers/net/wireless/ti/wlcore/wlcore.h int (*tx_delayed_compl)(struct wl1271 *wl); wl 62 drivers/net/wireless/ti/wlcore/wlcore.h void (*tx_immediate_compl)(struct wl1271 *wl); wl 63 drivers/net/wireless/ti/wlcore/wlcore.h int (*hw_init)(struct wl1271 *wl); wl 64 drivers/net/wireless/ti/wlcore/wlcore.h int (*init_vif)(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 65 drivers/net/wireless/ti/wlcore/wlcore.h void (*convert_fw_status)(struct wl1271 *wl, void *raw_fw_status, wl 67 drivers/net/wireless/ti/wlcore/wlcore.h u32 (*sta_get_ap_rate_mask)(struct wl1271 *wl, wl 69 drivers/net/wireless/ti/wlcore/wlcore.h int (*get_pg_ver)(struct wl1271 *wl, s8 *ver); wl 70 drivers/net/wireless/ti/wlcore/wlcore.h int (*get_mac)(struct wl1271 *wl); wl 71 drivers/net/wireless/ti/wlcore/wlcore.h void (*set_tx_desc_csum)(struct wl1271 *wl, wl 74 drivers/net/wireless/ti/wlcore/wlcore.h void (*set_rx_csum)(struct wl1271 *wl, wl 77 drivers/net/wireless/ti/wlcore/wlcore.h u32 (*ap_get_mimo_wide_rate_mask)(struct wl1271 *wl, wl 79 drivers/net/wireless/ti/wlcore/wlcore.h int (*debugfs_init)(struct wl1271 *wl, struct dentry *rootdir); wl 80 drivers/net/wireless/ti/wlcore/wlcore.h int (*handle_static_data)(struct wl1271 *wl, wl 82 drivers/net/wireless/ti/wlcore/wlcore.h int (*scan_start)(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 84 drivers/net/wireless/ti/wlcore/wlcore.h int (*scan_stop)(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 85 drivers/net/wireless/ti/wlcore/wlcore.h int (*sched_scan_start)(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 88 drivers/net/wireless/ti/wlcore/wlcore.h void (*sched_scan_stop)(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 89 drivers/net/wireless/ti/wlcore/wlcore.h int (*get_spare_blocks)(struct wl1271 *wl, bool is_gem); wl 90 drivers/net/wireless/ti/wlcore/wlcore.h int (*set_key)(struct wl1271 *wl, enum set_key_cmd cmd, wl 94 drivers/net/wireless/ti/wlcore/wlcore.h int (*channel_switch)(struct wl1271 *wl, wl 97 drivers/net/wireless/ti/wlcore/wlcore.h u32 (*pre_pkt_send)(struct wl1271 *wl, u32 buf_offset, u32 last_len); wl 98 drivers/net/wireless/ti/wlcore/wlcore.h void (*sta_rc_update)(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 99 drivers/net/wireless/ti/wlcore/wlcore.h int (*set_peer_cap)(struct wl1271 *wl, wl 103 drivers/net/wireless/ti/wlcore/wlcore.h u32 (*convert_hwaddr)(struct wl1271 *wl, u32 hwaddr); wl 104 drivers/net/wireless/ti/wlcore/wlcore.h bool (*lnk_high_prio)(struct wl1271 *wl, u8 hlid, wl 106 drivers/net/wireless/ti/wlcore/wlcore.h bool (*lnk_low_prio)(struct wl1271 *wl, u8 hlid, wl 108 drivers/net/wireless/ti/wlcore/wlcore.h int (*interrupt_notify)(struct wl1271 *wl, bool action); wl 109 drivers/net/wireless/ti/wlcore/wlcore.h int (*rx_ba_filter)(struct wl1271 *wl, bool action); wl 110 drivers/net/wireless/ti/wlcore/wlcore.h int (*ap_sleep)(struct wl1271 *wl); wl 111 drivers/net/wireless/ti/wlcore/wlcore.h int (*smart_config_start)(struct wl1271 *wl, u32 group_bitmap); wl 112 drivers/net/wireless/ti/wlcore/wlcore.h int (*smart_config_stop)(struct wl1271 *wl); wl 113 drivers/net/wireless/ti/wlcore/wlcore.h int (*smart_config_set_group_key)(struct wl1271 *wl, u16 group_id, wl 115 drivers/net/wireless/ti/wlcore/wlcore.h int (*set_cac)(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 117 drivers/net/wireless/ti/wlcore/wlcore.h int (*dfs_master_restart)(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 499 drivers/net/wireless/ti/wlcore/wlcore.h int wlcore_probe(struct wl1271 *wl, struct platform_device *pdev); wl 503 drivers/net/wireless/ti/wlcore/wlcore.h int wlcore_free_hw(struct wl1271 *wl); wl 504 drivers/net/wireless/ti/wlcore/wlcore.h int wlcore_set_key(struct wl1271 *wl, enum set_key_cmd cmd, wl 508 drivers/net/wireless/ti/wlcore/wlcore.h void wlcore_regdomain_config(struct wl1271 *wl); wl 509 drivers/net/wireless/ti/wlcore/wlcore.h void wlcore_update_inconn_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl 513 drivers/net/wireless/ti/wlcore/wlcore.h wlcore_set_ht_cap(struct wl1271 *wl, enum nl80211_band band, wl 516 drivers/net/wireless/ti/wlcore/wlcore.h memcpy(&wl->ht_cap[band], ht_cap, sizeof(*ht_cap)); wl 523 drivers/net/wireless/ti/wlcore/wlcore.h wlcore_set_min_fw_ver(struct wl1271 *wl, unsigned int chip, wl 529 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_sr_fw_ver[FW_VER_CHIP] = chip; wl 530 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_sr_fw_ver[FW_VER_IF_TYPE] = iftype_sr; wl 531 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_sr_fw_ver[FW_VER_MAJOR] = major_sr; wl 532 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_sr_fw_ver[FW_VER_SUBTYPE] = subtype_sr; wl 533 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_sr_fw_ver[FW_VER_MINOR] = minor_sr; wl 535 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_mr_fw_ver[FW_VER_CHIP] = chip; wl 536 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_mr_fw_ver[FW_VER_IF_TYPE] = iftype_mr; wl 537 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_mr_fw_ver[FW_VER_MAJOR] = major_mr; wl 538 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_mr_fw_ver[FW_VER_SUBTYPE] = subtype_mr; wl 539 drivers/net/wireless/ti/wlcore/wlcore.h wl->min_mr_fw_ver[FW_VER_MINOR] = minor_mr; wl 338 drivers/net/wireless/ti/wlcore/wlcore_i.h struct wl1271 *wl; wl 509 drivers/net/wireless/ti/wlcore/wlcore_i.h #define wl12xx_for_each_wlvif(wl, wlvif) \ wl 510 drivers/net/wireless/ti/wlcore/wlcore_i.h list_for_each_entry(wlvif, &wl->wlvif_list, list) wl 512 drivers/net/wireless/ti/wlcore/wlcore_i.h #define wl12xx_for_each_wlvif_continue(wl, wlvif) \ wl 513 drivers/net/wireless/ti/wlcore/wlcore_i.h list_for_each_entry_continue(wlvif, &wl->wlvif_list, list) wl 515 drivers/net/wireless/ti/wlcore/wlcore_i.h #define wl12xx_for_each_wlvif_bss_type(wl, wlvif, _bss_type) \ wl 516 drivers/net/wireless/ti/wlcore/wlcore_i.h wl12xx_for_each_wlvif(wl, wlvif) \ wl 519 drivers/net/wireless/ti/wlcore/wlcore_i.h #define wl12xx_for_each_wlvif_sta(wl, wlvif) \ wl 520 drivers/net/wireless/ti/wlcore/wlcore_i.h wl12xx_for_each_wlvif_bss_type(wl, wlvif, BSS_TYPE_STA_BSS) wl 522 drivers/net/wireless/ti/wlcore/wlcore_i.h #define wl12xx_for_each_wlvif_ap(wl, wlvif) \ wl 523 drivers/net/wireless/ti/wlcore/wlcore_i.h wl12xx_for_each_wlvif_bss_type(wl, wlvif, BSS_TYPE_AP_BSS) wl 525 drivers/net/wireless/ti/wlcore/wlcore_i.h int wl1271_plt_start(struct wl1271 *wl, const enum plt_mode plt_mode); wl 526 drivers/net/wireless/ti/wlcore/wlcore_i.h int wl1271_plt_stop(struct wl1271 *wl); wl 527 drivers/net/wireless/ti/wlcore/wlcore_i.h int wl1271_recalc_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif); wl 528 drivers/net/wireless/ti/wlcore/wlcore_i.h void wl12xx_queue_recovery_work(struct wl1271 *wl); wl 529 drivers/net/wireless/ti/wlcore/wlcore_i.h size_t wl12xx_copy_fwlog(struct wl1271 *wl, u8 *memblock, size_t maxlen); wl 1030 drivers/scsi/myrs.h uint wl[2]; wl 1035 drivers/scsi/myrs.h writel(u.wl[0], write_address); wl 1036 drivers/scsi/myrs.h writel(u.wl[1], write_address + 4); wl 122 drivers/staging/kpc2000/kpc2000_spi.c unsigned int wl : 5; /* Word Length */ wl 279 drivers/staging/kpc2000/kpc2000_spi.c sc.bitfield.wl = spidev->bits_per_word - 1; wl 373 drivers/staging/kpc2000/kpc2000_spi.c sc.bitfield.wl = word_len - 1; wl 217 drivers/staging/wilc1000/wilc_mon.c struct net_device *wilc_wfi_init_mon_interface(struct wilc *wl, wl 224 drivers/staging/wilc1000/wilc_mon.c if (wl->monitor_dev) wl 225 drivers/staging/wilc1000/wilc_mon.c return wl->monitor_dev; wl 227 drivers/staging/wilc1000/wilc_mon.c wl->monitor_dev = alloc_etherdev(sizeof(struct wilc_wfi_mon_priv)); wl 228 drivers/staging/wilc1000/wilc_mon.c if (!wl->monitor_dev) wl 231 drivers/staging/wilc1000/wilc_mon.c wl->monitor_dev->type = ARPHRD_IEEE80211_RADIOTAP; wl 232 drivers/staging/wilc1000/wilc_mon.c strncpy(wl->monitor_dev->name, name, IFNAMSIZ); wl 233 drivers/staging/wilc1000/wilc_mon.c wl->monitor_dev->name[IFNAMSIZ - 1] = 0; wl 234 drivers/staging/wilc1000/wilc_mon.c wl->monitor_dev->netdev_ops = &wilc_wfi_netdev_ops; wl 235 drivers/staging/wilc1000/wilc_mon.c wl->monitor_dev->needs_free_netdev = true; wl 237 drivers/staging/wilc1000/wilc_mon.c if (register_netdevice(wl->monitor_dev)) { wl 241 drivers/staging/wilc1000/wilc_mon.c priv = netdev_priv(wl->monitor_dev); wl 247 drivers/staging/wilc1000/wilc_mon.c return wl->monitor_dev; wl 250 drivers/staging/wilc1000/wilc_mon.c void wilc_wfi_deinit_mon_interface(struct wilc *wl, bool rtnl_locked) wl 252 drivers/staging/wilc1000/wilc_mon.c if (!wl->monitor_dev) wl 256 drivers/staging/wilc1000/wilc_mon.c unregister_netdevice(wl->monitor_dev); wl 258 drivers/staging/wilc1000/wilc_mon.c unregister_netdev(wl->monitor_dev); wl 259 drivers/staging/wilc1000/wilc_mon.c wl->monitor_dev = NULL; wl 51 drivers/staging/wilc1000/wilc_netdev.c struct wilc *wl = vif->wilc; wl 53 drivers/staging/wilc1000/wilc_netdev.c ret = gpiod_direction_input(wl->gpio_irq); wl 59 drivers/staging/wilc1000/wilc_netdev.c wl->dev_irq_num = gpiod_to_irq(wl->gpio_irq); wl 61 drivers/staging/wilc1000/wilc_netdev.c ret = request_threaded_irq(wl->dev_irq_num, isr_uh_routine, wl 69 drivers/staging/wilc1000/wilc_netdev.c wl->dev_irq_num); wl 154 drivers/staging/wilc1000/wilc_netdev.c struct wilc *wl = vp; wl 156 drivers/staging/wilc1000/wilc_netdev.c complete(&wl->txq_thread_started); wl 158 drivers/staging/wilc1000/wilc_netdev.c wait_for_completion(&wl->txq_event); wl 160 drivers/staging/wilc1000/wilc_netdev.c if (wl->close) { wl 161 drivers/staging/wilc1000/wilc_netdev.c complete(&wl->txq_thread_started); wl 168 drivers/staging/wilc1000/wilc_netdev.c ret = wilc_wlan_handle_txq(wl, &txq_count); wl 173 drivers/staging/wilc1000/wilc_netdev.c mutex_lock(&wl->vif_mutex); wl 174 drivers/staging/wilc1000/wilc_netdev.c for (i = 0; i < wl->vif_num; i++) { wl 175 drivers/staging/wilc1000/wilc_netdev.c ifc = wl->vif[i]; wl 179 drivers/staging/wilc1000/wilc_netdev.c mutex_unlock(&wl->vif_mutex); wl 181 drivers/staging/wilc1000/wilc_netdev.c } while (ret == -ENOBUFS && !wl->close); wl 442 drivers/staging/wilc1000/wilc_netdev.c struct wilc *wl = vif->wilc; wl 444 drivers/staging/wilc1000/wilc_netdev.c wl->close = 1; wl 446 drivers/staging/wilc1000/wilc_netdev.c complete(&wl->txq_event); wl 448 drivers/staging/wilc1000/wilc_netdev.c if (wl->txq_thread) { wl 449 drivers/staging/wilc1000/wilc_netdev.c kthread_stop(wl->txq_thread); wl 450 drivers/staging/wilc1000/wilc_netdev.c wl->txq_thread = NULL; wl 457 drivers/staging/wilc1000/wilc_netdev.c struct wilc *wl = vif->wilc; wl 459 drivers/staging/wilc1000/wilc_netdev.c if (!wl) { wl 464 drivers/staging/wilc1000/wilc_netdev.c if (wl->initialized) { wl 467 drivers/staging/wilc1000/wilc_netdev.c if (!wl->dev_irq_num && wl 468 drivers/staging/wilc1000/wilc_netdev.c wl->hif_func->disable_interrupt) { wl 469 drivers/staging/wilc1000/wilc_netdev.c mutex_lock(&wl->hif_cs); wl 470 drivers/staging/wilc1000/wilc_netdev.c wl->hif_func->disable_interrupt(wl); wl 471 drivers/staging/wilc1000/wilc_netdev.c mutex_unlock(&wl->hif_cs); wl 473 drivers/staging/wilc1000/wilc_netdev.c complete(&wl->txq_event); wl 478 drivers/staging/wilc1000/wilc_netdev.c wilc_wlan_stop(wl, vif); wl 482 drivers/staging/wilc1000/wilc_netdev.c wl->initialized = false; wl 510 drivers/staging/wilc1000/wilc_netdev.c struct wilc *wl = vif->wilc; wl 512 drivers/staging/wilc1000/wilc_netdev.c if (!wl->initialized) { wl 513 drivers/staging/wilc1000/wilc_netdev.c wl->mac_status = WILC_MAC_STATUS_INIT; wl 514 drivers/staging/wilc1000/wilc_netdev.c wl->close = 0; wl 526 drivers/staging/wilc1000/wilc_netdev.c if (wl->gpio_irq && init_irq(dev)) { wl 531 drivers/staging/wilc1000/wilc_netdev.c if (!wl->dev_irq_num && wl 532 drivers/staging/wilc1000/wilc_netdev.c wl->hif_func->enable_interrupt && wl 533 drivers/staging/wilc1000/wilc_netdev.c wl->hif_func->enable_interrupt(wl)) { wl 559 drivers/staging/wilc1000/wilc_netdev.c size = wilc_wlan_cfg_get_val(wl, WID_FIRMWARE_VERSION, wl 572 drivers/staging/wilc1000/wilc_netdev.c wl->initialized = true; wl 576 drivers/staging/wilc1000/wilc_netdev.c wilc_wlan_stop(wl, vif); wl 579 drivers/staging/wilc1000/wilc_netdev.c if (!wl->dev_irq_num && wl 580 drivers/staging/wilc1000/wilc_netdev.c wl->hif_func->disable_interrupt) wl 581 drivers/staging/wilc1000/wilc_netdev.c wl->hif_func->disable_interrupt(wl); wl 583 drivers/staging/wilc1000/wilc_netdev.c if (wl->dev_irq_num) wl 607 drivers/staging/wilc1000/wilc_netdev.c struct wilc *wl = vif->wilc; wl 612 drivers/staging/wilc1000/wilc_netdev.c if (!wl || !wl->dev) { wl 651 drivers/staging/wilc1000/wilc_netdev.c wl->open_ifcs++; wl 757 drivers/staging/wilc1000/wilc_netdev.c struct wilc *wl = vif->wilc; wl 761 drivers/staging/wilc1000/wilc_netdev.c if (wl->open_ifcs > 0) wl 762 drivers/staging/wilc1000/wilc_netdev.c wl->open_ifcs--; wl 772 drivers/staging/wilc1000/wilc_netdev.c if (wl->open_ifcs == 0) { wl 774 drivers/staging/wilc1000/wilc_netdev.c wl->close = 1; wl 884 drivers/staging/wilc1000/wilc_netdev.c struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name, wl 899 drivers/staging/wilc1000/wilc_netdev.c vif->wilc = wl; wl 905 drivers/staging/wilc1000/wilc_netdev.c SET_NETDEV_DEV(ndev, wiphy_dev(wl->wiphy)); wl 907 drivers/staging/wilc1000/wilc_netdev.c vif->priv.wdev.wiphy = wl->wiphy; wl 924 drivers/staging/wilc1000/wilc_netdev.c vif->wilc->vif[wl->vif_num] = vif; wl 925 drivers/staging/wilc1000/wilc_netdev.c vif->idx = wl->vif_num; wl 926 drivers/staging/wilc1000/wilc_netdev.c wl->vif_num += 1; wl 137 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = vif->wilc; wl 152 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->sta_ch = WILC_INVALID_CHANNEL; wl 177 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->sta_ch = WILC_INVALID_CHANNEL; wl 189 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c static struct wilc_vif *wilc_get_wl_to_vif(struct wilc *wl) wl 193 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c for (i = 0; i < wl->vif_num; i++) wl 194 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (wl->vif[i]) wl 195 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c return wl->vif[i]; wl 203 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 208 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_lock(&wl->vif_mutex); wl 209 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c vif = wilc_get_wl_to_vif(wl); wl 211 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 217 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->op_ch = channelnum; wl 222 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 623 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 627 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (netdev == wl->vif[0]->ndev) { wl 755 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc_vif *wilc_get_interface(struct wilc *wl) wl 760 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_lock(&wl->vif_mutex); wl 761 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c for (i = 0; i < wl->vif_num; i++) { wl 762 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (wl->vif[i]) { wl 763 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c vif = wl->vif[i]; wl 767 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 775 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 779 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c vif = wilc_get_interface(wl); wl 1024 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = vif->wilc; wl 1046 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c freq = ieee80211_channel_to_frequency(wl->op_ch, NL80211_BAND_2GHZ); wl 1336 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 1357 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (!wl->initialized) wl 1405 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 1420 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wilc_wfi_deinit_mon_interface(wl, true); wl 1423 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (wl->initialized) wl 1438 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (wl->initialized) wl 1448 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (wl->initialized) wl 1458 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (wl->initialized) wl 1566 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c static int wilc_get_vif_from_type(struct wilc *wl, int type) wl 1570 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_lock(&wl->vif_mutex); wl 1571 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c for (i = 0; i < wl->vif_num; i++) { wl 1572 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (wl->vif[i]->iftype == type) { wl 1573 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 1577 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 1588 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 1596 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c int ap_index = wilc_get_vif_from_type(wl, WILC_AP_MODE); wl 1599 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c ap_index = wilc_get_vif_from_type(wl, WILC_GO_MODE); wl 1604 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c vif = wl->vif[ap_index]; wl 1608 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c ndev = wilc_wfi_init_mon_interface(wl, name, vif->ndev); wl 1619 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_lock(&wl->vif_mutex); wl 1620 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (wl->vif_num == WILC_NUM_CONCURRENT_IFC) { wl 1638 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c vif = wilc_netdev_ifc_init(wl, name, iftype, type, true); wl 1644 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 1649 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 1655 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 1661 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wilc_wfi_deinit_mon_interface(wl, true); wl 1667 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_lock(&wl->vif_mutex); wl 1669 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c for (i = vif->idx; i < wl->vif_num; i++) { wl 1670 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if ((i + 1) >= wl->vif_num) { wl 1671 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->vif[i] = NULL; wl 1673 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c vif = wl->vif[i + 1]; wl 1675 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->vif[i] = vif; wl 1680 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->vif_num--; wl 1681 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 1688 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 1690 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (!wow && wilc_wlan_get_num_conn_ifcs(wl)) wl 1691 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->suspend_event = true; wl 1693 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->suspend_event = false; wl 1705 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = wiphy_priv(wiphy); wl 1708 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_lock(&wl->vif_mutex); wl 1709 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c vif = wilc_get_wl_to_vif(wl); wl 1711 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 1716 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_unlock(&wl->vif_mutex); wl 1742 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl = vif->wilc; wl 1745 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (!wl->initialized) wl 1798 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c static void wlan_init_locks(struct wilc *wl) wl 1800 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_init(&wl->hif_cs); wl 1801 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_init(&wl->rxq_cs); wl 1802 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_init(&wl->cfg_cmd_lock); wl 1803 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_init(&wl->vif_mutex); wl 1805 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c spin_lock_init(&wl->txq_spinlock); wl 1806 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c mutex_init(&wl->txq_add_to_head_cs); wl 1808 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c init_completion(&wl->txq_event); wl 1809 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c init_completion(&wl->cfg_event); wl 1810 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c init_completion(&wl->sync_event); wl 1811 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c init_completion(&wl->txq_thread_started); wl 1817 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl; wl 1821 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl = wilc_create_wiphy(dev); wl 1822 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (!wl) wl 1825 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c ret = wilc_wlan_cfg_init(wl); wl 1829 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c *wilc = wl; wl 1830 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->io_type = io_type; wl 1831 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->hif_func = ops; wl 1832 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->chip_ps_state = WILC_CHIP_WAKEDUP; wl 1833 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c INIT_LIST_HEAD(&wl->txq_head.list); wl 1834 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c INIT_LIST_HEAD(&wl->rxq_head.list); wl 1836 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->hif_workqueue = create_singlethread_workqueue("WILC_wq"); wl 1837 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c if (!wl->hif_workqueue) { wl 1841 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c vif = wilc_netdev_ifc_init(wl, "wlan%d", WILC_STATION_MODE, wl 1848 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wlan_init_locks(wl); wl 1853 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c destroy_workqueue(wl->hif_workqueue); wl 1856 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wilc_wlan_cfg_deinit(wl); wl 1859 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wiphy_unregister(wl->wiphy); wl 1860 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wiphy_free(wl->wiphy); wl 1868 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c struct wilc *wl; wl 1871 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wiphy = wiphy_new(&wilc_cfg80211_ops, sizeof(*wl)); wl 1875 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl = wiphy_priv(wiphy); wl 1877 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c memcpy(wl->bitrates, wilc_bitrates, sizeof(wilc_bitrates)); wl 1878 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c memcpy(wl->channels, wilc_2ghz_channels, sizeof(wilc_2ghz_channels)); wl 1879 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.bitrates = wl->bitrates; wl 1880 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.n_bitrates = ARRAY_SIZE(wl->bitrates); wl 1881 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.channels = wl->channels; wl 1882 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.n_channels = ARRAY_SIZE(wilc_2ghz_channels); wl 1884 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.ht_cap.ht_supported = 1; wl 1885 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.ht_cap.cap |= (1 << IEEE80211_HT_CAP_RX_STBC_SHIFT); wl 1886 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.ht_cap.mcs.rx_mask[0] = 0xff; wl 1887 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.ht_cap.ampdu_factor = IEEE80211_HT_MAX_AMPDU_8K; wl 1888 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->band.ht_cap.ampdu_density = IEEE80211_HT_MPDU_DENSITY_NONE; wl 1890 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wiphy->bands[NL80211_BAND_2GHZ] = &wl->band; wl 1899 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c memcpy(wl->cipher_suites, wilc_cipher_suites, wl 1901 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wiphy->cipher_suites = wl->cipher_suites; wl 1914 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c wl->wiphy = wiphy; wl 1920 drivers/staging/wilc1000/wilc_wfi_cfgoperations.c return wl; wl 18 drivers/staging/wilc1000/wilc_wfi_cfgoperations.h struct wilc_vif *wilc_netdev_interface(struct wilc *wl, const char *name, wl 20 drivers/staging/wilc1000/wilc_wfi_cfgoperations.h void wilc_wfi_deinit_mon_interface(struct wilc *wl, bool rtnl_locked); wl 21 drivers/staging/wilc1000/wilc_wfi_cfgoperations.h struct net_device *wilc_wfi_init_mon_interface(struct wilc *wl, wl 26 drivers/staging/wilc1000/wilc_wfi_cfgoperations.h struct wilc_vif *wilc_get_interface(struct wilc *wl); wl 290 drivers/staging/wilc1000/wilc_wfi_netdevice.h struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name, wl 282 drivers/staging/wilc1000/wilc_wlan.h int wilc_wlan_handle_txq(struct wilc *wl, u32 *txq_count); wl 131 drivers/staging/wilc1000/wilc_wlan_cfg.c static void wilc_wlan_parse_response_frame(struct wilc *wl, u8 *info, int size) wl 143 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.b[i].id == WID_NIL) wl 146 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.b[i].id == wid) { wl 147 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.b[i].val = info[4]; wl 157 drivers/staging/wilc1000/wilc_wlan_cfg.c struct wilc_cfg_hword *hw = &wl->cfg.hw[i]; wl 173 drivers/staging/wilc1000/wilc_wlan_cfg.c struct wilc_cfg_word *w = &wl->cfg.w[i]; wl 189 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.s[i].id == WID_NIL) wl 192 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.s[i].id == wid) { wl 193 drivers/staging/wilc1000/wilc_wlan_cfg.c memcpy(wl->cfg.s[i].str, &info[2], wl 210 drivers/staging/wilc1000/wilc_wlan_cfg.c static void wilc_wlan_parse_info_frame(struct wilc *wl, u8 *info) wl 222 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.b[i].id == WID_NIL) wl 225 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.b[i].id == wid) { wl 226 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.b[i].val = info[3]; wl 285 drivers/staging/wilc1000/wilc_wlan_cfg.c int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, wl 294 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.b[i].id == WID_NIL) wl 297 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.b[i].id == wid) { wl 298 drivers/staging/wilc1000/wilc_wlan_cfg.c memcpy(buffer, &wl->cfg.b[i].val, 1); wl 306 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.hw[i].id == WID_NIL) wl 309 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.hw[i].id == wid) { wl 310 drivers/staging/wilc1000/wilc_wlan_cfg.c memcpy(buffer, &wl->cfg.hw[i].val, 2); wl 318 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.w[i].id == WID_NIL) wl 321 drivers/staging/wilc1000/wilc_wlan_cfg.c if (wl->cfg.w[i].id == wid) { wl 322 drivers/staging/wilc1000/wilc_wlan_cfg.c memcpy(buffer, &wl->cfg.w[i].val, 4); wl 330 drivers/staging/wilc1000/wilc_wlan_cfg.c u32 id = wl->cfg.s[i].id; wl 336 drivers/staging/wilc1000/wilc_wlan_cfg.c u16 size = get_unaligned_le16(wl->cfg.s[i].str); wl 339 drivers/staging/wilc1000/wilc_wlan_cfg.c memcpy(buffer, &wl->cfg.s[i].str[2], wl 399 drivers/staging/wilc1000/wilc_wlan_cfg.c int wilc_wlan_cfg_init(struct wilc *wl) wl 404 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.b = kmemdup(g_cfg_byte, sizeof(g_cfg_byte), GFP_KERNEL); wl 405 drivers/staging/wilc1000/wilc_wlan_cfg.c if (!wl->cfg.b) wl 408 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.hw = kmemdup(g_cfg_hword, sizeof(g_cfg_hword), GFP_KERNEL); wl 409 drivers/staging/wilc1000/wilc_wlan_cfg.c if (!wl->cfg.hw) wl 412 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.w = kmemdup(g_cfg_word, sizeof(g_cfg_word), GFP_KERNEL); wl 413 drivers/staging/wilc1000/wilc_wlan_cfg.c if (!wl->cfg.w) wl 416 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s = kmemdup(g_cfg_str, sizeof(g_cfg_str), GFP_KERNEL); wl 417 drivers/staging/wilc1000/wilc_wlan_cfg.c if (!wl->cfg.s) wl 424 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.str_vals = str_vals; wl 426 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s[i].id = WID_FIRMWARE_VERSION; wl 427 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s[i].str = str_vals->firmware_version; wl 429 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s[i].id = WID_MAC_ADDR; wl 430 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s[i].str = str_vals->mac_address; wl 432 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s[i].id = WID_ASSOC_RES_INFO; wl 433 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s[i].str = str_vals->assoc_rsp; wl 435 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s[i].id = WID_NIL; wl 436 drivers/staging/wilc1000/wilc_wlan_cfg.c wl->cfg.s[i].str = NULL; wl 440 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.s); wl 442 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.w); wl 444 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.hw); wl 446 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.b); wl 450 drivers/staging/wilc1000/wilc_wlan_cfg.c void wilc_wlan_cfg_deinit(struct wilc *wl) wl 452 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.b); wl 453 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.hw); wl 454 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.w); wl 455 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.s); wl 456 drivers/staging/wilc1000/wilc_wlan_cfg.c kfree(wl->cfg.str_vals); wl 47 drivers/staging/wilc1000/wilc_wlan_cfg.h int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, wl 51 drivers/staging/wilc1000/wilc_wlan_cfg.h int wilc_wlan_cfg_init(struct wilc *wl); wl 52 drivers/staging/wilc1000/wilc_wlan_cfg.h void wilc_wlan_cfg_deinit(struct wilc *wl); wl 448 drivers/video/fbdev/leo.c static void leo_wid_put(struct fb_info *info, struct fb_wid_list *wl) wl 461 drivers/video/fbdev/leo.c for (i = 0, wi = wl->wl_list; i < wl->wl_count; i++, wi++) { wl 489 drivers/video/fbdev/leo.c struct fb_wid_list wl; wl 491 drivers/video/fbdev/leo.c wl.wl_count = 1; wl 492 drivers/video/fbdev/leo.c wl.wl_list = &wi; wl 496 drivers/video/fbdev/leo.c leo_wid_put(info, &wl); wl 499 drivers/video/fbdev/leo.c leo_wid_put(info, &wl); wl 502 drivers/video/fbdev/leo.c leo_wid_put(info, &wl); wl 506 drivers/video/fbdev/leo.c leo_wid_put(info, &wl); wl 133 drivers/video/fbdev/matrox/matroxfb_g450.c int *wl) wl 139 drivers/video/fbdev/matrox/matroxfb_g450.c *wl = min(b + c, WLMAX); wl 359 drivers/video/fbdev/matrox/matroxfb_maven.c int *bl, int *wl) { wl 364 drivers/video/fbdev/matrox/matroxfb_maven.c *wl = min(b + c, WLMAX); wl 504 drivers/video/fbdev/matrox/matroxfb_maven.c int bl, wl; wl 505 drivers/video/fbdev/matrox/matroxfb_maven.c maven_compute_bwlevel (md, &bl, &wl); wl 508 drivers/video/fbdev/matrox/matroxfb_maven.c data->regs[0x1e] = wl >> 2; wl 509 drivers/video/fbdev/matrox/matroxfb_maven.c data->regs[0x1f] = wl & 3; wl 545 include/net/ipv6.h __be32 wh, __be32 wl) wl 549 include/net/ipv6.h if (__builtin_constant_p(wh) && __builtin_constant_p(wl)) { wl 550 include/net/ipv6.h *(__force u64 *)addr = ((__force u64)(wh) << 32 | (__force u64)(wl)); wl 554 include/net/ipv6.h if (__builtin_constant_p(wl) && __builtin_constant_p(wh)) { wl 555 include/net/ipv6.h *(__force u64 *)addr = ((__force u64)(wl) << 32 | (__force u64)(wh)); wl 561 include/net/ipv6.h addr[1] = wl; wl 41 kernel/power/wakelock.c struct wakelock *wl; wl 48 kernel/power/wakelock.c wl = rb_entry(node, struct wakelock, node); wl 49 kernel/power/wakelock.c if (wl->ws->active == show_active) wl 50 kernel/power/wakelock.c str += scnprintf(str, end - str, "%s ", wl->name); wl 93 kernel/power/wakelock.c static inline void wakelocks_lru_add(struct wakelock *wl) wl 95 kernel/power/wakelock.c list_add(&wl->lru, &wakelocks_lru_list); wl 98 kernel/power/wakelock.c static inline void wakelocks_lru_most_recent(struct wakelock *wl) wl 100 kernel/power/wakelock.c list_move(&wl->lru, &wakelocks_lru_list); wl 105 kernel/power/wakelock.c struct wakelock *wl, *aux; wl 111 kernel/power/wakelock.c list_for_each_entry_safe_reverse(wl, aux, &wakelocks_lru_list, lru) { wl 115 kernel/power/wakelock.c spin_lock_irq(&wl->ws->lock); wl 116 kernel/power/wakelock.c idle_time_ns = ktime_to_ns(ktime_sub(now, wl->ws->last_time)); wl 117 kernel/power/wakelock.c active = wl->ws->active; wl 118 kernel/power/wakelock.c spin_unlock_irq(&wl->ws->lock); wl 124 kernel/power/wakelock.c wakeup_source_unregister(wl->ws); wl 125 kernel/power/wakelock.c rb_erase(&wl->node, &wakelocks_tree); wl 126 kernel/power/wakelock.c list_del(&wl->lru); wl 127 kernel/power/wakelock.c kfree(wl->name); wl 128 kernel/power/wakelock.c kfree(wl); wl 145 kernel/power/wakelock.c static inline void wakelocks_lru_add(struct wakelock *wl) {} wl 146 kernel/power/wakelock.c static inline void wakelocks_lru_most_recent(struct wakelock *wl) {} wl 155 kernel/power/wakelock.c struct wakelock *wl; wl 161 kernel/power/wakelock.c wl = rb_entry(*node, struct wakelock, node); wl 162 kernel/power/wakelock.c diff = strncmp(name, wl->name, len); wl 164 kernel/power/wakelock.c if (wl->name[len]) wl 167 kernel/power/wakelock.c return wl; wl 181 kernel/power/wakelock.c wl = kzalloc(sizeof(*wl), GFP_KERNEL); wl 182 kernel/power/wakelock.c if (!wl) wl 185 kernel/power/wakelock.c wl->name = kstrndup(name, len, GFP_KERNEL); wl 186 kernel/power/wakelock.c if (!wl->name) { wl 187 kernel/power/wakelock.c kfree(wl); wl 191 kernel/power/wakelock.c wl->ws = wakeup_source_register(NULL, wl->name); wl 192 kernel/power/wakelock.c if (!wl->ws) { wl 193 kernel/power/wakelock.c kfree(wl->name); wl 194 kernel/power/wakelock.c kfree(wl); wl 197 kernel/power/wakelock.c wl->ws->last_time = ktime_get(); wl 199 kernel/power/wakelock.c rb_link_node(&wl->node, parent, node); wl 200 kernel/power/wakelock.c rb_insert_color(&wl->node, &wakelocks_tree); wl 201 kernel/power/wakelock.c wakelocks_lru_add(wl); wl 203 kernel/power/wakelock.c return wl; wl 209 kernel/power/wakelock.c struct wakelock *wl; wl 233 kernel/power/wakelock.c wl = wakelock_lookup_add(buf, len, true); wl 234 kernel/power/wakelock.c if (IS_ERR(wl)) { wl 235 kernel/power/wakelock.c ret = PTR_ERR(wl); wl 242 kernel/power/wakelock.c __pm_wakeup_event(wl->ws, timeout_ms); wl 244 kernel/power/wakelock.c __pm_stay_awake(wl->ws); wl 247 kernel/power/wakelock.c wakelocks_lru_most_recent(wl); wl 256 kernel/power/wakelock.c struct wakelock *wl; wl 275 kernel/power/wakelock.c wl = wakelock_lookup_add(buf, len, false); wl 276 kernel/power/wakelock.c if (IS_ERR(wl)) { wl 277 kernel/power/wakelock.c ret = PTR_ERR(wl); wl 280 kernel/power/wakelock.c __pm_relax(wl->ws); wl 282 kernel/power/wakelock.c wakelocks_lru_most_recent(wl); wl 320 lib/mpi/longlong.h #define umul_ppmm(wh, wl, u, v) \ wl 330 lib/mpi/longlong.h (wl) = __xx.__i.__l; \ wl 613 lib/mpi/longlong.h #define umul_ppmm(wh, wl, u, v) \ wl 620 lib/mpi/longlong.h (wl) = __x.__i.__l; \ wl 2804 sound/pci/intel8x0.c const struct snd_pci_quirk *wl; wl 2806 sound/pci/intel8x0.c wl = snd_pci_quirk_lookup(pci, intel8x0_clock_list); wl 2807 sound/pci/intel8x0.c if (!wl) wl 2810 sound/pci/intel8x0.c pci->subsystem_vendor, pci->subsystem_device, wl->value); wl 2811 sound/pci/intel8x0.c chip->ac97_bus->clock = wl->value; wl 1788 sound/soc/codecs/arizona.c int bclk, lrclk, wl, frame, bclk_target; wl 1797 sound/soc/codecs/arizona.c wl = params_width(params); wl 1806 sound/soc/codecs/arizona.c tdm_width = wl; wl 1842 sound/soc/codecs/arizona.c frame = wl << ARIZONA_AIF1TX_WL_SHIFT | tdm_width; wl 481 sound/soc/codecs/es8328.c int wl; wl 518 sound/soc/codecs/es8328.c wl = 3; wl 521 sound/soc/codecs/es8328.c wl = 2; wl 524 sound/soc/codecs/es8328.c wl = 1; wl 527 sound/soc/codecs/es8328.c wl = 0; wl 530 sound/soc/codecs/es8328.c wl = 4; wl 539 sound/soc/codecs/es8328.c wl << ES8328_DACCONTROL1_DACWL_SHIFT); wl 546 sound/soc/codecs/es8328.c wl << ES8328_ADCCONTROL4_ADCWL_SHIFT); wl 3081 sound/soc/codecs/madera.c int bclk, lrclk, wl, frame, bclk_target, num_rates; wl 3093 sound/soc/codecs/madera.c wl = snd_pcm_format_width(params_format(params)); wl 3102 sound/soc/codecs/madera.c tdm_width = wl; wl 3140 sound/soc/codecs/madera.c frame = wl << MADERA_AIF1TX_WL_SHIFT | tdm_width; wl 1698 sound/soc/codecs/wm2200.c int i, bclk, lrclk, wl, fl, sr_code; wl 1702 sound/soc/codecs/wm2200.c wl = params_width(params); wl 1703 sound/soc/codecs/wm2200.c if (wl < 0) wl 1704 sound/soc/codecs/wm2200.c return wl; wl 1710 sound/soc/codecs/wm2200.c wl, fl); wl 1765 sound/soc/codecs/wm2200.c i = (wl << WM2200_AIF1TX_WL_SHIFT) | wl; wl 1402 sound/soc/codecs/wm5100.c int i, base, bclk, aif_rate, lrclk, wl, fl, sr; wl 1408 sound/soc/codecs/wm5100.c wl = params_width(params); wl 1409 sound/soc/codecs/wm5100.c if (wl < 0) wl 1410 sound/soc/codecs/wm5100.c return wl; wl 1416 sound/soc/codecs/wm5100.c wl, fl); wl 1486 sound/soc/codecs/wm5100.c i = (wl << WM5100_AIF1TX_WL_SHIFT) | fl; wl 595 sound/soc/codecs/wm8955.c int wl; wl 599 sound/soc/codecs/wm8955.c wl = 0; wl 602 sound/soc/codecs/wm8955.c wl = 0x4; wl 605 sound/soc/codecs/wm8955.c wl = 0x8; wl 608 sound/soc/codecs/wm8955.c wl = 0xc; wl 614 sound/soc/codecs/wm8955.c WM8955_WL_MASK, wl); wl 799 sound/soc/fsl/fsl_ssi.c u32 wl = SSI_SxCCR_WL(sample_size); wl 848 sound/soc/fsl/fsl_ssi.c regmap_update_bits(regs, REG_SSI_SxCCR(tx2), SSI_SxCCR_WL_MASK, wl);