Lines Matching defs:ctl
59 struct wcn36xx_dxe_ctl *ctl = ch->head_blk_ctl, *next;
62 for (i = 0; i < ch->desc_num && ctl; i++) {
63 next = ctl->next;
64 kfree(ctl);
65 ctl = next;
292 struct wcn36xx_dxe_ctl *ctl,
295 struct wcn36xx_dxe_desc *dxe = ctl->desc;
311 ctl->skb = skb;
402 struct wcn36xx_dxe_ctl *ctl;
412 ctl = ch->tail_blk_ctl;
414 if (READ_ONCE(ctl->desc->ctrl) & WCN36xx_DXE_CTRL_VLD)
417 if (ctl->skb &&
418 READ_ONCE(ctl->desc->ctrl) & WCN36xx_DXE_CTRL_EOP) {
419 dma_unmap_single(wcn->dev, ctl->desc->src_addr_l,
420 ctl->skb->len, DMA_TO_DEVICE);
421 info = IEEE80211_SKB_CB(ctl->skb);
425 ieee80211_tx_status_irqsafe(wcn->hw, ctl->skb);
431 wcn->tx_ack_skb = ctl->skb; /* Tracking ref */
437 ieee80211_free_txskb(wcn->hw, ctl->skb);
445 ctl->skb = NULL;
447 ctl = ctl->next;
448 } while (ctl != ch->head_blk_ctl);
450 ch->tail_blk_ctl = ctl;
588 struct wcn36xx_dxe_ctl *ctl;
621 ctl = ch->head_blk_ctl;
622 dxe = ctl->desc;
629 skb = ctl->skb;
631 ret = wcn36xx_dxe_fill_skb(wcn->dev, ctl, GFP_ATOMIC);
648 ctl = ctl->next;
649 dxe = ctl->desc;
653 ch->head_blk_ctl = ctl;