Lines Matching refs:txwd
403 struct rtw89_pci_tx_wd *txwd; in rtw89_pci_reclaim_txbd() local
408 txwd = list_first_entry_or_null(&tx_ring->busy_pages, struct rtw89_pci_tx_wd, list); in rtw89_pci_reclaim_txbd()
409 if (!txwd) { in rtw89_pci_reclaim_txbd()
414 list_del_init(&txwd->list); in rtw89_pci_reclaim_txbd()
417 if (skb_queue_len(&txwd->queue) == 0) in rtw89_pci_reclaim_txbd()
418 rtw89_pci_enqueue_txwd(tx_ring, txwd); in rtw89_pci_reclaim_txbd()
426 struct rtw89_pci_tx_wd *txwd; in rtw89_pci_release_busy_txwd() local
430 txwd = list_first_entry_or_null(&tx_ring->busy_pages, struct rtw89_pci_tx_wd, list); in rtw89_pci_release_busy_txwd()
431 if (!txwd) in rtw89_pci_release_busy_txwd()
434 list_del_init(&txwd->list); in rtw89_pci_release_busy_txwd()
440 struct rtw89_pci_tx_wd *txwd, u16 seq, in rtw89_pci_release_txwd_skb() argument
448 if (!list_empty(&txwd->list)) { in rtw89_pci_release_txwd_skb()
453 if (!rtwpci->low_power && !list_empty(&txwd->list)) in rtw89_pci_release_txwd_skb()
458 skb_queue_walk_safe(&txwd->queue, skb, tmp) { in rtw89_pci_release_txwd_skb()
459 skb_unlink(skb, &txwd->queue); in rtw89_pci_release_txwd_skb()
468 if (list_empty(&txwd->list)) in rtw89_pci_release_txwd_skb()
469 rtw89_pci_enqueue_txwd(tx_ring, txwd); in rtw89_pci_release_txwd_skb()
478 struct rtw89_pci_tx_wd *txwd; in rtw89_pci_release_rpp() local
494 txwd = &wd_ring->pages[seq]; in rtw89_pci_release_rpp()
496 rtw89_pci_release_txwd_skb(rtwdev, tx_ring, txwd, seq, tx_status); in rtw89_pci_release_rpp()
503 struct rtw89_pci_tx_wd *txwd; in rtw89_pci_release_pending_txwd_skb() local
507 txwd = &wd_ring->pages[i]; in rtw89_pci_release_pending_txwd_skb()
509 if (!list_empty(&txwd->list)) in rtw89_pci_release_pending_txwd_skb()
512 rtw89_pci_release_txwd_skb(rtwdev, tx_ring, txwd, i, RTW89_TX_MACID_DROP); in rtw89_pci_release_pending_txwd_skb()
1193 struct rtw89_pci_tx_wd *txwd, in rtw89_pci_txwd_submit() argument
1227 txwp_info = txwd->vaddr + txwd_len; in rtw89_pci_txwd_submit()
1228 txwp_info->seq0 = cpu_to_le16(txwd->seq | RTW89_PCI_TXWP_VALID); in rtw89_pci_txwd_submit()
1234 txaddr_info_addr = txwd->vaddr + txwd_len + txwp_len; in rtw89_pci_txwd_submit()
1239 txwd->len = txwd_len + txwp_len + txaddr_info_len; in rtw89_pci_txwd_submit()
1241 rtw89_chip_fill_txdesc(rtwdev, desc_info, txwd->vaddr); in rtw89_pci_txwd_submit()
1243 skb_queue_tail(&txwd->queue, skb); in rtw89_pci_txwd_submit()
1292 struct rtw89_pci_tx_wd *txwd; in rtw89_pci_txbd_submit() local
1302 txwd = rtw89_pci_dequeue_txwd(tx_ring); in rtw89_pci_txbd_submit()
1303 if (!txwd) { in rtw89_pci_txbd_submit()
1309 ret = rtw89_pci_txwd_submit(rtwdev, tx_ring, txwd, tx_req); in rtw89_pci_txbd_submit()
1311 rtw89_err(rtwdev, "failed to submit TXWD %d\n", txwd->seq); in rtw89_pci_txbd_submit()
1315 list_add_tail(&txwd->list, &tx_ring->busy_pages); in rtw89_pci_txbd_submit()
1318 txbd->length = cpu_to_le16(txwd->len); in rtw89_pci_txbd_submit()
1319 txbd->dma = cpu_to_le32(txwd->paddr); in rtw89_pci_txbd_submit()
1326 rtw89_pci_enqueue_txwd(tx_ring, txwd); in rtw89_pci_txbd_submit()
2895 struct rtw89_pci_tx_wd *txwd; in rtw89_pci_alloc_tx_wd_ring() local
2922 txwd = &wd_ring->pages[i]; in rtw89_pci_alloc_tx_wd_ring()
2926 skb_queue_head_init(&txwd->queue); in rtw89_pci_alloc_tx_wd_ring()
2927 INIT_LIST_HEAD(&txwd->list); in rtw89_pci_alloc_tx_wd_ring()
2928 txwd->paddr = cur_paddr; in rtw89_pci_alloc_tx_wd_ring()
2929 txwd->vaddr = cur_vaddr; in rtw89_pci_alloc_tx_wd_ring()
2930 txwd->len = page_size; in rtw89_pci_alloc_tx_wd_ring()
2931 txwd->seq = i; in rtw89_pci_alloc_tx_wd_ring()
2932 rtw89_pci_enqueue_txwd(tx_ring, txwd); in rtw89_pci_alloc_tx_wd_ring()