Lines Matching defs:wdev
23 u32 wfx_rate_mask_to_hw(struct wfx_dev *wdev, u32 rates)
28 struct ieee80211_supported_band *sband = wdev->hw->wiphy->bands[NL80211_BAND_2GHZ];
33 dev_warn(wdev->dev, "unsupported basic rate\n");
43 struct wfx_dev *wdev = container_of(to_delayed_work(work), struct wfx_dev,
46 wdev->chip_frozen = true;
47 wfx_tx_unlock(wdev);
50 void wfx_suspend_hot_dev(struct wfx_dev *wdev, enum sta_notify_cmd cmd)
54 if (cancel_delayed_work(&wdev->cooling_timeout_work))
55 wfx_tx_unlock(wdev);
58 schedule_delayed_work(&wdev->cooling_timeout_work, 10 * HZ);
59 wfx_tx_lock(wdev);
103 struct wfx_dev *wdev = hw->priv;
117 mutex_lock(&wdev->conf_mutex);
118 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) {
138 dev_dbg(wdev->dev, "do not forward probe request in AP mode\n");
150 mutex_unlock(&wdev->conf_mutex);
156 struct ieee80211_conf *conf = &wvif->wdev->hw->conf;
161 if (wdev_to_wvif(wvif->wdev, 0)) {
162 struct wfx_vif *wvif_ch0 = wdev_to_wvif(wvif->wdev, 0);
167 if (wdev_to_wvif(wvif->wdev, 1)) {
168 struct wfx_vif *wvif_ch1 = wdev_to_wvif(wvif->wdev, 1);
179 dev_info(wvif->wdev->dev, "ignoring requested PS mode");
185 if (wfx_api_older_than(wvif->wdev, 3, 2))
214 dev_warn(wvif->wdev->dev, "timeout while waiting of set_pm_mode_complete\n");
222 struct wfx_dev *wdev = hw->priv;
228 mutex_lock(&wdev->conf_mutex);
236 mutex_unlock(&wdev->conf_mutex);
242 struct wfx_dev *wdev = hw->priv;
245 while ((wvif = wvif_iterate(wdev, wvif)) != NULL)
287 struct wfx_dev *wdev = wvif->wdev;
289 wfx_tx_lock_flush(wdev);
292 if (wvif_count(wdev) <= 1)
294 wfx_tx_unlock(wdev);
298 while ((wvif = wvif_iterate(wdev, wvif)) != NULL)
343 skb = ieee80211_beacon_get(wvif->wdev->hw, vif, 0);
349 skb = ieee80211_proberesp_get(wvif->wdev->hw, vif);
360 struct sk_buff *skb = ieee80211_beacon_get(wvif->wdev->hw, vif, 0);
400 struct wfx_dev *wdev = wvif->wdev;
404 while ((wvif = wvif_iterate(wdev, wvif)) != NULL)
432 wfx_tx_lock_flush(wvif->wdev);
434 bss = cfg80211_get_bss(wvif->wdev->hw->wiphy, wvif->channel, conf->bssid, NULL, 0,
437 wfx_tx_unlock(wvif->wdev);
452 cfg80211_put_bss(wvif->wdev->hw->wiphy, bss);
466 wfx_tx_unlock(wvif->wdev);
519 wfx_bh_request_tx(wvif->wdev);
527 struct wfx_dev *wdev = hw->priv;
531 mutex_lock(&wdev->conf_mutex);
546 dev_warn(wdev->dev, "misunderstood change: ASSOC\n");
551 dev_warn(wdev->dev, "misunderstood change: BEACON_INFO\n");
594 mutex_unlock(&wdev->conf_mutex);
604 skb = ieee80211_beacon_get_tim(wvif->wdev->hw, vif, &tim_offset,
636 struct wfx_dev *wdev = hw->priv;
638 struct wfx_vif *wvif = wdev_to_wvif(wdev, sta_dev->vif_id);
641 dev_warn(wdev->dev, "%s: received event for non-existent vif\n", __func__);
659 while ((wvif_it = wvif_iterate(wvif->wdev, wvif_it)) != NULL)
664 dev_warn(wvif->wdev->dev, "incorrect sequence (%d CAB in queue)",
667 wfx_bh_request_tx(wvif->wdev);
730 struct wfx_dev *wdev = hw->priv;
737 mutex_lock(&wdev->conf_mutex);
745 mutex_unlock(&wdev->conf_mutex);
749 wvif->wdev = wdev;
766 for (i = 0; i < ARRAY_SIZE(wdev->vif); i++) {
767 if (!wdev->vif[i]) {
768 wdev->vif[i] = vif;
773 WARN(i == ARRAY_SIZE(wdev->vif), "try to instantiate more vif than supported");
777 mutex_unlock(&wdev->conf_mutex);
780 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) {
782 if (wvif_count(wdev) == 1)
792 struct wfx_dev *wdev = hw->priv;
798 mutex_lock(&wdev->conf_mutex);
806 wdev->vif[wvif->id] = NULL;
808 mutex_unlock(&wdev->conf_mutex);
811 while ((wvif = wvif_iterate(wdev, wvif)) != NULL) {
813 if (wvif_count(wdev) == 1)
827 struct wfx_dev *wdev = hw->priv;
829 WARN_ON(!skb_queue_empty_lockless(&wdev->tx_pending));