Lines Matching refs:wdev
26 struct wfx_dev *wdev = container_of(to_delayed_work(work), struct wfx_dev, in wfx_cooling_timeout_work() local
29 wdev->chip_frozen = true; in wfx_cooling_timeout_work()
30 wfx_tx_unlock(wdev); in wfx_cooling_timeout_work()
33 void wfx_suspend_hot_dev(struct wfx_dev *wdev, enum sta_notify_cmd cmd) in wfx_suspend_hot_dev() argument
37 if (cancel_delayed_work(&wdev->cooling_timeout_work)) in wfx_suspend_hot_dev()
38 wfx_tx_unlock(wdev); in wfx_suspend_hot_dev()
41 schedule_delayed_work(&wdev->cooling_timeout_work, 10 * HZ); in wfx_suspend_hot_dev()
42 wfx_tx_lock(wdev); in wfx_suspend_hot_dev()
86 struct wfx_dev *wdev = hw->priv; in wfx_configure_filter() local
101 if (mutex_is_locked(&wdev->scan_lock)) in wfx_configure_filter()
104 mutex_lock(&wdev->conf_mutex); in wfx_configure_filter()
105 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) { in wfx_configure_filter()
123 dev_dbg(wdev->dev, "do not forward probe request in AP mode\n"); in wfx_configure_filter()
133 mutex_unlock(&wdev->conf_mutex); in wfx_configure_filter()
139 struct ieee80211_conf *conf = &wvif->wdev->hw->conf; in wfx_get_ps_timeout()
144 if (wdev_to_wvif(wvif->wdev, 0)) { in wfx_get_ps_timeout()
145 struct wfx_vif *wvif_ch0 = wdev_to_wvif(wvif->wdev, 0); in wfx_get_ps_timeout()
150 if (wdev_to_wvif(wvif->wdev, 1)) { in wfx_get_ps_timeout()
151 struct wfx_vif *wvif_ch1 = wdev_to_wvif(wvif->wdev, 1); in wfx_get_ps_timeout()
162 dev_info(wvif->wdev->dev, "ignoring requested PS mode"); in wfx_get_ps_timeout()
168 if (wfx_api_older_than(wvif->wdev, 3, 2)) in wfx_get_ps_timeout()
197 dev_warn(wvif->wdev->dev, "timeout while waiting of set_pm_mode_complete\n"); in wfx_update_pm()
205 struct wfx_dev *wdev = hw->priv; in wfx_conf_tx() local
211 mutex_lock(&wdev->conf_mutex); in wfx_conf_tx()
219 mutex_unlock(&wdev->conf_mutex); in wfx_conf_tx()
225 struct wfx_dev *wdev = hw->priv; in wfx_set_rts_threshold() local
228 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) in wfx_set_rts_threshold()
270 struct wfx_dev *wdev = wvif->wdev; in wfx_reset() local
272 wfx_tx_lock_flush(wdev); in wfx_reset()
275 if (wvif_count(wdev) <= 1) in wfx_reset()
277 wfx_tx_unlock(wdev); in wfx_reset()
281 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) in wfx_reset()
326 skb = ieee80211_beacon_get(wvif->wdev->hw, vif, 0); in wfx_upload_ap_templates()
332 skb = ieee80211_proberesp_get(wvif->wdev->hw, vif); in wfx_upload_ap_templates()
343 struct sk_buff *skb = ieee80211_beacon_get(wvif->wdev->hw, vif, 0); in wfx_set_mfp_ap()
386 struct wfx_dev *wdev = wvif->wdev; in wfx_start_ap() local
390 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) in wfx_start_ap()
404 struct wfx_dev *wdev = wvif->wdev; in wfx_stop_ap() local
407 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) in wfx_stop_ap()
423 wfx_tx_lock_flush(wvif->wdev); in wfx_join()
425 bss = cfg80211_get_bss(wvif->wdev->hw->wiphy, wvif->channel, conf->bssid, NULL, 0, in wfx_join()
428 wfx_tx_unlock(wvif->wdev); in wfx_join()
443 cfg80211_put_bss(wvif->wdev->hw->wiphy, bss); in wfx_join()
457 wfx_tx_unlock(wvif->wdev); in wfx_join()
510 wfx_bh_request_tx(wvif->wdev); in wfx_enable_beacon()
518 struct wfx_dev *wdev = hw->priv; in wfx_bss_info_changed() local
522 mutex_lock(&wdev->conf_mutex); in wfx_bss_info_changed()
537 dev_warn(wdev->dev, "misunderstood change: ASSOC\n"); in wfx_bss_info_changed()
542 dev_warn(wdev->dev, "misunderstood change: BEACON_INFO\n"); in wfx_bss_info_changed()
585 mutex_unlock(&wdev->conf_mutex); in wfx_bss_info_changed()
595 skb = ieee80211_beacon_get_tim(wvif->wdev->hw, vif, &tim_offset, in wfx_update_tim()
627 struct wfx_dev *wdev = hw->priv; in wfx_set_tim() local
629 struct wfx_vif *wvif = wdev_to_wvif(wdev, sta_dev->vif_id); in wfx_set_tim()
632 dev_warn(wdev->dev, "%s: received event for non-existent vif\n", __func__); in wfx_set_tim()
647 if (mutex_is_locked(&wvif->wdev->scan_lock)) in wfx_suspend_resume_mc()
651 dev_warn(wvif->wdev->dev, "incorrect sequence (%d CAB in queue)", in wfx_suspend_resume_mc()
654 wfx_bh_request_tx(wvif->wdev); in wfx_suspend_resume_mc()
717 struct wfx_dev *wdev = hw->priv; in wfx_add_interface() local
724 mutex_lock(&wdev->conf_mutex); in wfx_add_interface()
732 mutex_unlock(&wdev->conf_mutex); in wfx_add_interface()
736 wvif->wdev = wdev; in wfx_add_interface()
753 for (i = 0; i < ARRAY_SIZE(wdev->vif); i++) { in wfx_add_interface()
754 if (!wdev->vif[i]) { in wfx_add_interface()
755 wdev->vif[i] = vif; in wfx_add_interface()
760 WARN(i == ARRAY_SIZE(wdev->vif), "try to instantiate more vif than supported"); in wfx_add_interface()
764 mutex_unlock(&wdev->conf_mutex); in wfx_add_interface()
767 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) { in wfx_add_interface()
769 if (wvif_count(wdev) == 1) in wfx_add_interface()
779 struct wfx_dev *wdev = hw->priv; in wfx_remove_interface() local
785 mutex_lock(&wdev->conf_mutex); in wfx_remove_interface()
793 wdev->vif[wvif->id] = NULL; in wfx_remove_interface()
795 mutex_unlock(&wdev->conf_mutex); in wfx_remove_interface()
798 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) { in wfx_remove_interface()
800 if (wvif_count(wdev) == 1) in wfx_remove_interface()
823 struct wfx_dev *wdev = hw->priv; in wfx_set_wakeup() local
826 dev_info(wdev->dev, "support for WoWLAN is experimental\n"); in wfx_set_wakeup()
827 wdev->hwbus_ops->set_wakeup(wdev->hwbus_priv, enabled); in wfx_set_wakeup()
838 struct wfx_dev *wdev = hw->priv; in wfx_stop() local
840 WARN_ON(!skb_queue_empty_lockless(&wdev->tx_pending)); in wfx_stop()