Lines Matching defs:phy

22 mt76_phy_update_channel(struct mt76_phy *phy,
25 phy->radar_enabled = conf->radar_enabled;
26 phy->main_chandef = conf->def;
27 phy->chanctx = (struct mt76_chanctx *)conf->drv_priv;
29 return __mt76_set_channel(phy, &phy->main_chandef, false);
36 struct mt76_phy *phy = hw->priv;
37 struct mt76_dev *dev = phy->dev;
40 phy = ctx->phy = dev->band_phys[conf->def.chan->band];
41 if (WARN_ON_ONCE(!phy))
44 if (dev->scan.phy == phy)
48 if (!phy->chanctx)
49 ret = mt76_phy_update_channel(phy, conf);
62 struct mt76_phy *phy = hw->priv;
63 struct mt76_dev *dev = phy->dev;
65 phy = ctx->phy;
66 if (WARN_ON_ONCE(!phy))
69 if (dev->scan.phy == phy)
73 if (phy->chanctx == ctx)
74 phy->chanctx = NULL;
84 struct mt76_phy *phy = ctx->phy;
85 struct mt76_dev *dev = phy->dev;
91 cancel_delayed_work_sync(&phy->mac_work);
94 mt76_phy_update_channel(phy, conf);
109 struct mt76_phy *phy = ctx->phy;
110 struct mt76_dev *dev = phy->dev;
134 ret = dev->drv->vif_link_add(phy, vif, link_conf, mlink);
160 struct mt76_phy *phy = ctx->phy;
161 struct mt76_dev *dev = phy->dev;
179 dev->drv->vif_link_remove(phy, vif, link_conf, mlink);
198 struct mt76_phy *old_phy = old_ctx->phy;
199 struct mt76_phy *phy = hw->priv;
200 struct mt76_dev *dev = phy->dev;
206 phy = new_ctx->phy = dev->band_phys[conf->def.chan->band];
208 phy = new_ctx->phy;
209 if (!phy)
212 update_chan = phy->chanctx != new_ctx;
214 if (dev->scan.phy == phy)
217 cancel_delayed_work_sync(&phy->mac_work);
223 phy != old_phy && old_phy->chanctx == old_ctx)
227 ret = mt76_phy_update_channel(phy, vifs->new_ctx);
232 if (old_phy == phy)
243 ret = dev->drv->vif_link_add(phy, vifs[i].vif,
266 struct mt76_vif_link *mt76_get_vif_phy_link(struct mt76_phy *phy,
271 struct mt76_dev *dev = phy->dev;
279 if (mt76_vif_link_phy(mlink) == phy)
291 ret = dev->drv->vif_link_add(phy, vif, &vif->bss_conf, mlink);
301 void mt76_put_vif_phy_link(struct mt76_phy *phy, struct ieee80211_vif *vif,
304 struct mt76_dev *dev = phy->dev;
313 dev->drv->vif_link_remove(phy, vif, &vif->bss_conf, mlink);
317 static void mt76_roc_complete(struct mt76_phy *phy)
319 struct mt76_vif_link *mlink = phy->roc_link;
321 if (!phy->roc_vif)
326 if (phy->main_chandef.chan)
327 mt76_set_channel(phy, &phy->main_chandef, false);
328 mt76_put_vif_phy_link(phy, phy->roc_vif, phy->roc_link);
329 phy->roc_vif = NULL;
330 phy->roc_link = NULL;
331 ieee80211_remain_on_channel_expired(phy->hw);
336 struct mt76_phy *phy = container_of(work, struct mt76_phy, roc_work.work);
337 struct mt76_dev *dev = phy->dev;
340 mt76_roc_complete(phy);
344 void mt76_abort_roc(struct mt76_phy *phy)
346 struct mt76_dev *dev = phy->dev;
348 cancel_delayed_work_sync(&phy->roc_work);
351 mt76_roc_complete(phy);
360 struct mt76_phy *phy = hw->priv;
361 struct mt76_dev *dev = phy->dev;
365 phy = dev->band_phys[chan->band];
366 if (!phy)
371 if (phy->roc_vif || dev->scan.phy == phy) {
376 mlink = mt76_get_vif_phy_link(phy, vif);
382 mlink->mvif->roc_phy = phy;
383 phy->roc_vif = vif;
384 phy->roc_link = mlink;
386 mt76_set_channel(phy, &chandef, true);
388 ieee80211_queue_delayed_work(phy->hw, &phy->roc_work,
402 struct mt76_phy *phy = mvif->roc_phy;
404 if (!phy)
407 mt76_abort_roc(phy);