Lines Matching refs:adapter
316 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_cfg80211_set_tx_power() local
328 priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); in mwifiex_cfg80211_set_tx_power()
434 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_send_domain_info_cmd_fw() local
436 struct mwifiex_802_11d_domain_reg *domain_info = &adapter->domain_reg; in mwifiex_send_domain_info_cmd_fw()
439 domain_info->country_code[0] = adapter->country_code[0]; in mwifiex_send_domain_info_cmd_fw()
440 domain_info->country_code[1] = adapter->country_code[1]; in mwifiex_send_domain_info_cmd_fw()
443 band = mwifiex_band_to_radio_type(adapter->config_bands); in mwifiex_send_domain_info_cmd_fw()
492 priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); in mwifiex_send_domain_info_cmd_fw()
516 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_reg_notifier() local
517 struct mwifiex_private *priv = mwifiex_get_priv(adapter, in mwifiex_reg_notifier()
537 strncmp(request->alpha2, adapter->country_code, in mwifiex_reg_notifier()
539 memcpy(adapter->country_code, request->alpha2, in mwifiex_reg_notifier()
590 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_cfg80211_set_wiphy_params() local
595 priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY); in mwifiex_cfg80211_set_wiphy_params()
600 dev_err(adapter->dev, in mwifiex_cfg80211_set_wiphy_params()
632 dev_err(adapter->dev, in mwifiex_cfg80211_set_wiphy_params()
720 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_deinit_priv_params() local
727 dev_warn(priv->adapter->dev, in mwifiex_deinit_priv_params()
734 spin_lock_irqsave(&adapter->main_proc_lock, flags); in mwifiex_deinit_priv_params()
735 adapter->main_locked = true; in mwifiex_deinit_priv_params()
736 if (adapter->mwifiex_processing) { in mwifiex_deinit_priv_params()
737 spin_unlock_irqrestore(&adapter->main_proc_lock, flags); in mwifiex_deinit_priv_params()
738 flush_workqueue(adapter->workqueue); in mwifiex_deinit_priv_params()
740 spin_unlock_irqrestore(&adapter->main_proc_lock, flags); in mwifiex_deinit_priv_params()
743 spin_lock_irqsave(&adapter->rx_proc_lock, flags); in mwifiex_deinit_priv_params()
744 adapter->rx_locked = true; in mwifiex_deinit_priv_params()
745 if (adapter->rx_processing) { in mwifiex_deinit_priv_params()
746 spin_unlock_irqrestore(&adapter->rx_proc_lock, flags); in mwifiex_deinit_priv_params()
747 flush_workqueue(adapter->rx_workqueue); in mwifiex_deinit_priv_params()
749 spin_unlock_irqrestore(&adapter->rx_proc_lock, flags); in mwifiex_deinit_priv_params()
765 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_init_new_priv_params() local
792 dev_err(priv->adapter->dev, in mwifiex_init_new_priv_params()
798 spin_lock_irqsave(&adapter->main_proc_lock, flags); in mwifiex_init_new_priv_params()
799 adapter->main_locked = false; in mwifiex_init_new_priv_params()
800 spin_unlock_irqrestore(&adapter->main_proc_lock, flags); in mwifiex_init_new_priv_params()
802 spin_lock_irqsave(&adapter->rx_proc_lock, flags); in mwifiex_init_new_priv_params()
803 adapter->rx_locked = false; in mwifiex_init_new_priv_params()
804 spin_unlock_irqrestore(&adapter->rx_proc_lock, flags); in mwifiex_init_new_priv_params()
816 struct mwifiex_adapter *adapter; in mwifiex_change_vif_to_p2p() local
823 adapter = priv->adapter; in mwifiex_change_vif_to_p2p()
825 if (adapter->curr_iface_comb.p2p_intf == in mwifiex_change_vif_to_p2p()
826 adapter->iface_limit.p2p_intf) { in mwifiex_change_vif_to_p2p()
827 dev_err(adapter->dev, in mwifiex_change_vif_to_p2p()
832 dev_dbg(priv->adapter->dev, "%s: changing role to p2p\n", dev->name); in mwifiex_change_vif_to_p2p()
849 dev_err(priv->adapter->dev, in mwifiex_change_vif_to_p2p()
865 adapter->curr_iface_comb.sta_intf--; in mwifiex_change_vif_to_p2p()
868 adapter->curr_iface_comb.uap_intf--; in mwifiex_change_vif_to_p2p()
874 adapter->curr_iface_comb.p2p_intf++; in mwifiex_change_vif_to_p2p()
887 struct mwifiex_adapter *adapter; in mwifiex_change_vif_to_sta_adhoc() local
894 adapter = priv->adapter; in mwifiex_change_vif_to_sta_adhoc()
898 (adapter->curr_iface_comb.sta_intf == in mwifiex_change_vif_to_sta_adhoc()
899 adapter->iface_limit.sta_intf)) { in mwifiex_change_vif_to_sta_adhoc()
900 dev_err(adapter->dev, in mwifiex_change_vif_to_sta_adhoc()
906 dev_notice(adapter->dev, in mwifiex_change_vif_to_sta_adhoc()
909 dev_notice(adapter->dev, in mwifiex_change_vif_to_sta_adhoc()
925 adapter->curr_iface_comb.p2p_intf--; in mwifiex_change_vif_to_sta_adhoc()
928 adapter->curr_iface_comb.uap_intf--; in mwifiex_change_vif_to_sta_adhoc()
934 adapter->curr_iface_comb.sta_intf++; in mwifiex_change_vif_to_sta_adhoc()
946 struct mwifiex_adapter *adapter; in mwifiex_change_vif_to_ap() local
953 adapter = priv->adapter; in mwifiex_change_vif_to_ap()
955 if (adapter->curr_iface_comb.uap_intf == in mwifiex_change_vif_to_ap()
956 adapter->iface_limit.uap_intf) { in mwifiex_change_vif_to_ap()
957 dev_err(adapter->dev, in mwifiex_change_vif_to_ap()
962 dev_notice(adapter->dev, "%s: changing role to AP\n", dev->name); in mwifiex_change_vif_to_ap()
977 adapter->curr_iface_comb.p2p_intf--; in mwifiex_change_vif_to_ap()
981 adapter->curr_iface_comb.sta_intf--; in mwifiex_change_vif_to_ap()
987 adapter->curr_iface_comb.uap_intf++; in mwifiex_change_vif_to_ap()
1127 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_parse_htinfo() local
1129 if (adapter->is_hw_11ac_capable) { in mwifiex_parse_htinfo()
1209 dev_err(priv->adapter->dev, "failed to get signal information\n"); in mwifiex_dump_station_info()
1214 dev_err(priv->adapter->dev, "getting data rate\n"); in mwifiex_dump_station_info()
1295 struct mwifiex_chan_stats *pchan_stats = priv->adapter->chan_stats; in mwifiex_cfg80211_dump_survey()
1298 dev_dbg(priv->adapter->dev, "dump_survey idx=%d\n", idx); in mwifiex_cfg80211_dump_survey()
1318 if (idx >= priv->adapter->num_in_chan_stats) in mwifiex_cfg80211_dump_survey()
1472 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_cfg80211_set_bitrate_mask() local
1475 dev_err(adapter->dev, in mwifiex_cfg80211_set_bitrate_mask()
1496 if (adapter->hw_dev_mcs_support == HT_STREAM_2X2) in mwifiex_cfg80211_set_bitrate_mask()
1500 if (adapter->fw_api_ver == MWIFIEX_FW_V15) { in mwifiex_cfg80211_set_bitrate_mask()
1502 if (adapter->hw_dev_mcs_support == HT_STREAM_2X2) in mwifiex_cfg80211_set_bitrate_mask()
1620 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_cfg80211_set_antenna() local
1621 struct mwifiex_private *priv = mwifiex_get_priv(adapter, in mwifiex_cfg80211_set_antenna()
1628 if (adapter->hw_dev_mcs_support != HT_STREAM_2X2) { in mwifiex_cfg80211_set_antenna()
1636 (tx_ant != BIT(adapter->number_of_antenna) - 1)) in mwifiex_cfg80211_set_antenna()
1639 if ((tx_ant == BIT(adapter->number_of_antenna) - 1) && in mwifiex_cfg80211_set_antenna()
1640 (priv->adapter->number_of_antenna > 1)) { in mwifiex_cfg80211_set_antenna()
1650 adapter->user_dev_mcs_support = HT_STREAM_1X1; in mwifiex_cfg80211_set_antenna()
1651 if (adapter->is_hw_11ac_capable) in mwifiex_cfg80211_set_antenna()
1652 adapter->usr_dot_11ac_mcs_support = in mwifiex_cfg80211_set_antenna()
1655 adapter->user_dev_mcs_support = HT_STREAM_2X2; in mwifiex_cfg80211_set_antenna()
1656 if (adapter->is_hw_11ac_capable) in mwifiex_cfg80211_set_antenna()
1657 adapter->usr_dot_11ac_mcs_support = in mwifiex_cfg80211_set_antenna()
1662 if (!adapter->wiphy->bands[band]) in mwifiex_cfg80211_set_antenna()
1665 ht_info = &adapter->wiphy->bands[band]->ht_cap; in mwifiex_cfg80211_set_antenna()
1667 GET_RXMCSSUPP(adapter->user_dev_mcs_support); in mwifiex_cfg80211_set_antenna()
1668 memset(&ht_info->mcs, 0, adapter->number_of_antenna); in mwifiex_cfg80211_set_antenna()
1765 if (priv->adapter->is_hw_11ac_capable) { in mwifiex_cfg80211_start_ap()
1781 dev_dbg(priv->adapter->dev, "Disable 11h extensions in FW\n"); in mwifiex_cfg80211_start_ap()
1783 dev_err(priv->adapter->dev, in mwifiex_cfg80211_start_ap()
1902 dev_err(priv->adapter->dev, "invalid SSID - aborting\n"); in mwifiex_cfg80211_assoc()
1908 dev_err(priv->adapter->dev, "invalid SSID - aborting\n"); in mwifiex_cfg80211_assoc()
1962 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_assoc()
1981 dev_err(priv->adapter->dev, "scan error\n"); in mwifiex_cfg80211_assoc()
2000 dev_warn(priv->adapter->dev, in mwifiex_cfg80211_assoc()
2006 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_assoc()
2040 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_cfg80211_connect() local
2055 if (adapter->surprise_removed || adapter->is_cmd_timedout) { in mwifiex_cfg80211_connect()
2071 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_connect()
2074 if (ISSUPP_TDLS_ENABLED(priv->adapter->fw_cap_info) && in mwifiex_cfg80211_connect()
2075 priv->adapter->auto_tdls && in mwifiex_cfg80211_connect()
2079 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_connect()
2109 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_set_ibss_params() local
2149 if (!((config_bands | adapter->fw_bands) & ~adapter->fw_bands)) { in mwifiex_set_ibss_params()
2150 adapter->config_bands = config_bands; in mwifiex_set_ibss_params()
2151 adapter->adhoc_start_band = config_bands; in mwifiex_set_ibss_params()
2154 adapter->adhoc_11n_enabled = true; in mwifiex_set_ibss_params()
2156 adapter->adhoc_11n_enabled = false; in mwifiex_set_ibss_params()
2159 adapter->sec_chan_offset = in mwifiex_set_ibss_params()
2166 config_bands, priv->adhoc_channel, adapter->sec_chan_offset); in mwifiex_set_ibss_params()
2203 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_join_ibss()
2207 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_join_ibss()
2259 dev_err(priv->adapter->dev, "cmd: Scan already in process..\n"); in mwifiex_cfg80211_scan()
2303 if (priv->adapter->scan_chan_gap_enabled && in mwifiex_cfg80211_scan()
2306 priv->adapter->scan_chan_gap_time; in mwifiex_cfg80211_scan()
2311 dev_err(priv->adapter->dev, "scan failed: %d\n", ret); in mwifiex_cfg80211_scan()
2332 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_setup_vht_caps() local
2336 vht_info->cap = adapter->hw_dot_11ac_dev_cap; in mwifiex_setup_vht_caps()
2339 adapter->hw_dot_11ac_mcs_support & 0xFFFF); in mwifiex_setup_vht_caps()
2342 adapter->hw_dot_11ac_mcs_support >> 16); in mwifiex_setup_vht_caps()
2365 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_setup_ht_caps() local
2374 if (ISSUPP_CHANWIDTH40(adapter->hw_dot_11n_dev_cap)) in mwifiex_setup_ht_caps()
2379 if (ISSUPP_SHORTGI20(adapter->hw_dot_11n_dev_cap)) in mwifiex_setup_ht_caps()
2384 if (ISSUPP_SHORTGI40(adapter->hw_dot_11n_dev_cap)) in mwifiex_setup_ht_caps()
2389 if (adapter->user_dev_mcs_support == HT_STREAM_2X2) in mwifiex_setup_ht_caps()
2394 if (ISSUPP_TXSTBC(adapter->hw_dot_11n_dev_cap)) in mwifiex_setup_ht_caps()
2399 if (ISSUPP_GREENFIELD(adapter->hw_dot_11n_dev_cap)) in mwifiex_setup_ht_caps()
2404 if (ISENABLED_40MHZ_INTOLERANT(adapter->hw_dot_11n_dev_cap)) in mwifiex_setup_ht_caps()
2409 if (ISSUPP_RXLDPC(adapter->hw_dot_11n_dev_cap)) in mwifiex_setup_ht_caps()
2417 rx_mcs_supp = GET_RXMCSSUPP(adapter->user_dev_mcs_support); in mwifiex_setup_ht_caps()
2424 ISSUPP_CHANWIDTH40(adapter->hw_dot_11n_dev_cap)) in mwifiex_setup_ht_caps()
2443 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_add_virtual_intf() local
2448 if (!adapter) in mwifiex_add_virtual_intf()
2455 if (adapter->curr_iface_comb.sta_intf == in mwifiex_add_virtual_intf()
2456 adapter->iface_limit.sta_intf) { in mwifiex_add_virtual_intf()
2462 priv = mwifiex_get_unused_priv(adapter); in mwifiex_add_virtual_intf()
2485 if (adapter->curr_iface_comb.uap_intf == in mwifiex_add_virtual_intf()
2486 adapter->iface_limit.uap_intf) { in mwifiex_add_virtual_intf()
2492 priv = mwifiex_get_unused_priv(adapter); in mwifiex_add_virtual_intf()
2512 if (adapter->curr_iface_comb.p2p_intf == in mwifiex_add_virtual_intf()
2513 adapter->iface_limit.p2p_intf) { in mwifiex_add_virtual_intf()
2519 priv = mwifiex_get_unused_priv(adapter); in mwifiex_add_virtual_intf()
2572 if (adapter->is_hw_11ac_capable) in mwifiex_add_virtual_intf()
2576 if (adapter->config_bands & BAND_A) in mwifiex_add_virtual_intf()
2580 if ((adapter->config_bands & BAND_A) && adapter->is_hw_11ac_capable) in mwifiex_add_virtual_intf()
2598 SET_NETDEV_DEV(dev, adapter->dev); in mwifiex_add_virtual_intf()
2645 dev_dbg(adapter->dev, "info: %s: Marvell 802.11 Adapter\n", dev->name); in mwifiex_add_virtual_intf()
2655 adapter->curr_iface_comb.sta_intf++; in mwifiex_add_virtual_intf()
2658 adapter->curr_iface_comb.uap_intf++; in mwifiex_add_virtual_intf()
2661 adapter->curr_iface_comb.p2p_intf++; in mwifiex_add_virtual_intf()
2678 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_del_virtual_intf() local
2684 mwifiex_stop_net_dev_queue(priv->netdev, adapter); in mwifiex_del_virtual_intf()
2714 adapter->curr_iface_comb.sta_intf++; in mwifiex_del_virtual_intf()
2717 adapter->curr_iface_comb.uap_intf++; in mwifiex_del_virtual_intf()
2721 adapter->curr_iface_comb.p2p_intf++; in mwifiex_del_virtual_intf()
2724 dev_err(adapter->dev, "del_virtual_intf: type not supported\n"); in mwifiex_del_virtual_intf()
2776 struct mwifiex_adapter *adapter = priv->adapter; in mwifiex_set_auto_arp_mef_entry() local
2784 if (adapter->priv[i]->netdev) { in mwifiex_set_auto_arp_mef_entry()
2785 in_dev = __in_dev_get_rtnl(adapter->priv[i]->netdev); in mwifiex_set_auto_arp_mef_entry()
2842 dev_err(priv->adapter->dev, "Pattern not supported\n"); in mwifiex_set_wowlan_mef_entry()
2944 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_cfg80211_suspend() local
2949 for (i = 0; i < adapter->priv_num; i++) { in mwifiex_cfg80211_suspend()
2950 priv = adapter->priv[i]; in mwifiex_cfg80211_suspend()
2954 mwifiex_cancel_all_pending_cmd(adapter); in mwifiex_cfg80211_suspend()
2957 dev_warn(adapter->dev, "None of the WOWLAN triggers enabled\n"); in mwifiex_cfg80211_suspend()
2961 priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA); in mwifiex_cfg80211_suspend()
2964 dev_warn(adapter->dev, in mwifiex_cfg80211_suspend()
2971 dev_err(adapter->dev, "Failed to set MEF filter\n"); in mwifiex_cfg80211_suspend()
2984 dev_err(adapter->dev, "Failed to set HS params\n"); in mwifiex_cfg80211_suspend()
3000 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_cfg80211_set_wakeup() local
3002 device_set_wakeup_enable(adapter->dev, enabled); in mwifiex_cfg80211_set_wakeup()
3044 dev_err(priv->adapter->dev, "Pattern not supported\n"); in mwifiex_fill_coalesce_rule_info()
3053 dev_err(priv->adapter->dev, in mwifiex_fill_coalesce_rule_info()
3077 dev_err(priv->adapter->dev, in mwifiex_fill_coalesce_rule_info()
3088 struct mwifiex_adapter *adapter = mwifiex_cfg80211_get_adapter(wiphy); in mwifiex_cfg80211_set_coalesce() local
3092 mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA); in mwifiex_cfg80211_set_coalesce()
3096 dev_dbg(adapter->dev, in mwifiex_cfg80211_set_coalesce()
3108 dev_err(priv->adapter->dev, in mwifiex_cfg80211_set_coalesce()
3141 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_tdls_mgmt()
3151 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_tdls_mgmt()
3159 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_tdls_mgmt()
3167 dev_dbg(priv->adapter->dev, "Send TDLS Tear down to %pM\n", in mwifiex_cfg80211_tdls_mgmt()
3174 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_tdls_mgmt()
3181 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_tdls_mgmt()
3188 dev_warn(priv->adapter->dev, in mwifiex_cfg80211_tdls_mgmt()
3211 dev_dbg(priv->adapter->dev, in mwifiex_cfg80211_tdls_oper()
3223 dev_warn(priv->adapter->dev, in mwifiex_cfg80211_tdls_oper()
3228 dev_warn(priv->adapter->dev, in mwifiex_cfg80211_tdls_oper()
3233 dev_warn(priv->adapter->dev, in mwifiex_cfg80211_tdls_oper()
3237 dev_err(priv->adapter->dev, in mwifiex_cfg80211_tdls_oper()
3270 if (priv->adapter->scan_processing) { in mwifiex_cfg80211_channel_switch()
3271 dev_err(priv->adapter->dev, in mwifiex_cfg80211_channel_switch()
3287 dev_err(priv->adapter->dev, in mwifiex_cfg80211_channel_switch()
3296 mwifiex_stop_net_dev_queue(priv->netdev, priv->adapter); in mwifiex_cfg80211_channel_switch()
3326 if (priv->adapter->scan_processing) { in mwifiex_cfg80211_start_radar_detection()
3327 dev_err(priv->adapter->dev, in mwifiex_cfg80211_start_radar_detection()
3333 dev_dbg(priv->adapter->dev, "Enable 11h extensions in FW\n"); in mwifiex_cfg80211_start_radar_detection()
3335 dev_err(priv->adapter->dev, in mwifiex_cfg80211_start_radar_detection()
3455 int mwifiex_init_channel_scan_gap(struct mwifiex_adapter *adapter) in mwifiex_init_channel_scan_gap() argument
3461 if (adapter->config_bands & BAND_A) in mwifiex_init_channel_scan_gap()
3464 adapter->num_in_chan_stats = max_t(u32, n_channels_bg, n_channels_a); in mwifiex_init_channel_scan_gap()
3465 adapter->chan_stats = vmalloc(sizeof(*adapter->chan_stats) * in mwifiex_init_channel_scan_gap()
3466 adapter->num_in_chan_stats); in mwifiex_init_channel_scan_gap()
3468 if (!adapter->chan_stats) in mwifiex_init_channel_scan_gap()
3482 int mwifiex_register_cfg80211(struct mwifiex_adapter *adapter) in mwifiex_register_cfg80211() argument
3487 struct mwifiex_private *priv = adapter->priv[MWIFIEX_BSS_TYPE_STA]; in mwifiex_register_cfg80211()
3495 dev_err(adapter->dev, "%s: creating new wiphy\n", __func__); in mwifiex_register_cfg80211()
3509 if (adapter->config_bands & BAND_A) in mwifiex_register_cfg80211()
3521 ether_addr_copy(wiphy->perm_addr, adapter->perm_addr); in mwifiex_register_cfg80211()
3529 if (ISSUPP_TDLS_ENABLED(adapter->fw_cap_info)) in mwifiex_register_cfg80211()
3543 wiphy->available_antennas_tx = BIT(adapter->number_of_antenna) - 1; in mwifiex_register_cfg80211()
3544 wiphy->available_antennas_rx = BIT(adapter->number_of_antenna) - 1; in mwifiex_register_cfg80211()
3550 if (adapter->fw_api_ver == MWIFIEX_FW_V15) in mwifiex_register_cfg80211()
3560 *(unsigned long *)wdev_priv = (unsigned long)adapter; in mwifiex_register_cfg80211()
3562 set_wiphy_dev(wiphy, priv->adapter->dev); in mwifiex_register_cfg80211()
3566 dev_err(adapter->dev, in mwifiex_register_cfg80211()
3576 country_code = mwifiex_11d_code_2_region(adapter->region_code); in mwifiex_register_cfg80211()
3595 adapter->wiphy = wiphy; in mwifiex_register_cfg80211()