Lines Matching defs:phy
31 void mt76_testmode_tx_pending(struct mt76_phy *phy)
33 struct mt76_testmode_data *td = &phy->test;
34 struct mt76_dev *dev = phy->dev;
45 q = phy->q_tx[qid];
71 mt76_testmode_max_mpdu_len(struct mt76_phy *phy, u8 tx_rate_mode)
81 if (phy->sband_5g.sband.vht_cap.cap &
93 mt76_testmode_free_skb(struct mt76_phy *phy)
95 struct mt76_testmode_data *td = &phy->test;
101 int mt76_testmode_alloc_skb(struct mt76_phy *phy, u32 len)
106 struct mt76_testmode_data *td = &phy->test;
113 max_len = mt76_testmode_max_mpdu_len(phy, td->tx_rate_mode);
143 info->hw_queue |= FIELD_PREP(MT_TX_HW_QUEUE_PHY, phy->band_idx);
157 mt76_testmode_free_skb(phy);
170 mt76_testmode_free_skb(phy);
178 mt76_testmode_tx_init(struct mt76_phy *phy)
180 struct mt76_testmode_data *td = &phy->test;
183 u8 max_nss = hweight8(phy->antenna_mask);
186 ret = mt76_testmode_alloc_skb(phy, td->tx_mpdu_len);
203 if (phy->chandef.chan->band != NL80211_BAND_2GHZ)
210 if (phy->chandef.chan->band != NL80211_BAND_2GHZ)
221 phy->chandef.width >= NL80211_CHAN_WIDTH_40))
250 switch (phy->chandef.width) {
270 mt76_testmode_tx_start(struct mt76_phy *phy)
272 struct mt76_testmode_data *td = &phy->test;
273 struct mt76_dev *dev = phy->dev;
282 mt76_testmode_tx_stop(struct mt76_phy *phy)
284 struct mt76_testmode_data *td = &phy->test;
285 struct mt76_dev *dev = phy->dev;
296 mt76_testmode_free_skb(phy);
312 mt76_testmode_init_defaults(struct mt76_phy *phy)
314 struct mt76_testmode_data *td = &phy->test;
324 memcpy(td->addr[0], phy->macaddr, ETH_ALEN);
325 memcpy(td->addr[1], phy->macaddr, ETH_ALEN);
326 memcpy(td->addr[2], phy->macaddr, ETH_ALEN);
330 __mt76_testmode_set_state(struct mt76_phy *phy, enum mt76_testmode_state state)
332 enum mt76_testmode_state prev_state = phy->test.state;
333 struct mt76_dev *dev = phy->dev;
337 mt76_testmode_tx_stop(phy);
340 err = mt76_testmode_tx_init(phy);
345 err = dev->test_ops->set_state(phy, state);
348 mt76_testmode_tx_stop(phy);
354 mt76_testmode_tx_start(phy);
356 memset(&phy->test.rx_stats, 0, sizeof(phy->test.rx_stats));
359 phy->test.state = state;
364 int mt76_testmode_set_state(struct mt76_phy *phy, enum mt76_testmode_state state)
366 struct mt76_testmode_data *td = &phy->test;
367 struct ieee80211_hw *hw = phy->hw;
373 (!test_bit(MT76_STATE_RUNNING, &phy->state) ||
381 ret = __mt76_testmode_set_state(phy, MT76_TM_STATE_IDLE);
386 return __mt76_testmode_set_state(phy, state);
410 struct mt76_phy *phy = hw->priv;
411 struct mt76_dev *dev = phy->dev;
412 struct mt76_testmode_data *td = &phy->test;
431 mt76_testmode_set_state(phy, MT76_TM_STATE_OFF);
435 mt76_testmode_init_defaults(phy);
446 1, hweight8(phy->antenna_mask)) ||
463 if (val > mt76_testmode_max_mpdu_len(phy, td->tx_rate_mode) ||
516 err = dev->test_ops->set_params(phy, tb, state);
527 err = mt76_testmode_set_state(phy, state);
537 mt76_testmode_dump_stats(struct mt76_phy *phy, struct sk_buff *msg)
539 struct mt76_testmode_data *td = &phy->test;
540 struct mt76_dev *dev = phy->dev;
548 ret = dev->test_ops->dump_stats(phy, msg);
573 struct mt76_phy *phy = hw->priv;
574 struct mt76_dev *dev = phy->dev;
575 struct mt76_testmode_data *td = &phy->test;
601 err = mt76_testmode_dump_stats(phy, msg);
608 mt76_testmode_init_defaults(phy);