Lines Matching refs:txwd

403 	struct rtw89_pci_tx_wd *txwd;
408 txwd = list_first_entry_or_null(&tx_ring->busy_pages, struct rtw89_pci_tx_wd, list);
409 if (!txwd) {
410 rtw89_warn(rtwdev, "No busy txwd pages available\n");
414 list_del_init(&txwd->list);
417 if (skb_queue_len(&txwd->queue) == 0)
418 rtw89_pci_enqueue_txwd(tx_ring, txwd);
426 struct rtw89_pci_tx_wd *txwd;
430 txwd = list_first_entry_or_null(&tx_ring->busy_pages, struct rtw89_pci_tx_wd, list);
431 if (!txwd)
434 list_del_init(&txwd->list);
440 struct rtw89_pci_tx_wd *txwd, u16 seq,
448 if (!list_empty(&txwd->list)) {
453 if (!rtwpci->low_power && !list_empty(&txwd->list))
454 rtw89_warn(rtwdev, "queue %d txwd %d is not idle\n",
458 skb_queue_walk_safe(&txwd->queue, skb, tmp) {
459 skb_unlink(skb, &txwd->queue);
468 if (list_empty(&txwd->list))
469 rtw89_pci_enqueue_txwd(tx_ring, txwd);
478 struct rtw89_pci_tx_wd *txwd;
494 txwd = &wd_ring->pages[seq];
496 rtw89_pci_release_txwd_skb(rtwdev, tx_ring, txwd, seq, tx_status);
503 struct rtw89_pci_tx_wd *txwd;
507 txwd = &wd_ring->pages[i];
509 if (!list_empty(&txwd->list))
512 rtw89_pci_release_txwd_skb(rtwdev, tx_ring, txwd, i, RTW89_TX_MACID_DROP);
1193 struct rtw89_pci_tx_wd *txwd,
1227 txwp_info = txwd->vaddr + txwd_len;
1228 txwp_info->seq0 = cpu_to_le16(txwd->seq | RTW89_PCI_TXWP_VALID);
1234 txaddr_info_addr = txwd->vaddr + txwd_len + txwp_len;
1239 txwd->len = txwd_len + txwp_len + txaddr_info_len;
1241 rtw89_chip_fill_txdesc(rtwdev, desc_info, txwd->vaddr);
1243 skb_queue_tail(&txwd->queue, skb);
1292 struct rtw89_pci_tx_wd *txwd;
1302 txwd = rtw89_pci_dequeue_txwd(tx_ring);
1303 if (!txwd) {
1309 ret = rtw89_pci_txwd_submit(rtwdev, tx_ring, txwd, tx_req);
1311 rtw89_err(rtwdev, "failed to submit TXWD %d\n", txwd->seq);
1315 list_add_tail(&txwd->list, &tx_ring->busy_pages);
1318 txbd->length = cpu_to_le16(txwd->len);
1319 txbd->dma = cpu_to_le32(txwd->paddr);
1326 rtw89_pci_enqueue_txwd(tx_ring, txwd);
2895 struct rtw89_pci_tx_wd *txwd;
2906 /* FWCMD queue doesn't use txwd as pages */
2922 txwd = &wd_ring->pages[i];
2926 skb_queue_head_init(&txwd->queue);
2927 INIT_LIST_HEAD(&txwd->list);
2928 txwd->paddr = cur_paddr;
2929 txwd->vaddr = cur_vaddr;
2930 txwd->len = page_size;
2931 txwd->seq = i;
2932 rtw89_pci_enqueue_txwd(tx_ring, txwd);
2954 rtw89_err(rtwdev, "failed to alloc txwd ring of txch %d\n", txch);