Lines Matching refs:wcn

275 static void wcn36xx_update_survey(struct wcn36xx *wcn, int rssi, int snr,
286 idx = wcn->hw->wiphy->bands[NL80211_BAND_2GHZ]->n_channels;
288 sband = wcn->hw->wiphy->bands[band];
298 spin_lock(&wcn->survey_lock);
299 wcn->chan_survey[idx].rssi = rssi;
300 wcn->chan_survey[idx].snr = snr;
301 spin_unlock(&wcn->survey_lock);
306 int wcn36xx_rx_skb(struct wcn36xx *wcn, struct sk_buff *skb)
379 status.band = WCN36XX_BAND(wcn);
380 status.freq = WCN36XX_CENTER_FREQ(wcn);
383 wcn36xx_update_survey(wcn, status.signal, get_snr(bd),
428 if (bd->esf && !skb_queue_empty(&wcn->amsdu)) {
430 __skb_queue_purge_irq(&wcn->amsdu);
433 __skb_queue_tail(&wcn->amsdu, skb);
438 skb = wcn36xx_unchain_msdu(&wcn->amsdu);
443 ieee80211_rx_irqsafe(wcn->hw, skb);
453 __skb_queue_purge_irq(&wcn->amsdu);
471 static inline struct wcn36xx_vif *get_vif_by_addr(struct wcn36xx *wcn,
476 list_for_each_entry(vif_priv, &wcn->vif_list, list) {
485 static void wcn36xx_tx_start_ampdu(struct wcn36xx *wcn,
493 if (!conf_is_ht(&wcn->hw->conf))
521 struct wcn36xx *wcn,
555 __vif_priv = get_vif_by_addr(wcn, hdr->addr2);
596 wcn36xx_tx_start_ampdu(wcn, sta_priv, skb);
600 struct wcn36xx *wcn,
607 get_vif_by_addr(wcn, hdr->addr2);
614 bd->bd_rate = (WCN36XX_BAND(wcn) == NL80211_BAND_5GHZ) ?
649 int wcn36xx_start_tx(struct wcn36xx *wcn,
682 ieee80211_stop_queues(wcn->hw);
690 wcn36xx_set_tx_data(&bd, wcn, &vif_priv, sta_priv, skb, bcast);
693 wcn36xx_set_tx_mgmt(&bd, wcn, &vif_priv, skb, bcast);
698 ret = wcn36xx_dxe_tx_frame(wcn, vif_priv, &bd, skb, is_low);
701 ieee80211_wake_queues(wcn->hw);