Lines Matching defs:tx_ring

95 				 struct rtw89_pci_tx_ring *tx_ring)
97 struct rtw89_pci_dma_ring *bd_ring = &tx_ring->bd_ring;
144 struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[RTW89_TXCH_CH12];
147 cnt = rtw89_pci_txbd_recalc(rtwdev, tx_ring);
468 struct rtw89_pci_tx_ring *tx_ring,
483 tx_ring->tx_acked++;
490 tx_ring->tx_retry_lmt++;
493 tx_ring->tx_life_time++;
496 tx_ring->tx_mac_id_drop++;
507 static void rtw89_pci_reclaim_txbd(struct rtw89_dev *rtwdev, struct rtw89_pci_tx_ring *tx_ring)
512 cnt = rtw89_pci_txbd_recalc(rtwdev, tx_ring);
514 txwd = list_first_entry_or_null(&tx_ring->busy_pages, struct rtw89_pci_tx_wd, list);
524 rtw89_pci_enqueue_txwd(tx_ring, txwd);
529 struct rtw89_pci_tx_ring *tx_ring)
531 struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
536 txwd = list_first_entry_or_null(&tx_ring->busy_pages, struct rtw89_pci_tx_wd, list);
545 struct rtw89_pci_tx_ring *tx_ring,
552 u8 txch = tx_ring->txch;
555 rtw89_pci_reclaim_txbd(rtwdev, tx_ring);
571 rtw89_pci_tx_status(rtwdev, tx_ring, skb, tx_status);
575 rtw89_pci_enqueue_txwd(tx_ring, txwd);
582 struct rtw89_pci_tx_ring *tx_ring;
598 tx_ring = &rtwpci->tx_rings[txch];
599 wd_ring = &tx_ring->wd_ring;
602 rtw89_pci_release_txwd_skb(rtwdev, tx_ring, txwd, seq, tx_status);
606 struct rtw89_pci_tx_ring *tx_ring)
608 struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
618 rtw89_pci_release_txwd_skb(rtwdev, tx_ring, txwd, i, RTW89_TX_MACID_DROP);
1111 struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[RTW89_TXCH_CH12];
1116 cnt = rtw89_pci_get_avail_txbd_num(tx_ring);
1127 struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[txch];
1128 struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
1132 cnt = rtw89_pci_get_avail_txbd_num(tx_ring);
1144 struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[txch];
1145 struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
1155 bd_cnt = rtw89_pci_get_avail_txbd_num(tx_ring);
1165 bd_cnt = rtw89_pci_get_avail_txbd_num(tx_ring);
1167 rtw89_pci_reclaim_txbd(rtwdev, tx_ring);
1170 bd_cnt = rtw89_pci_get_avail_txbd_num(tx_ring);
1206 static void __rtw89_pci_tx_kick_off(struct rtw89_dev *rtwdev, struct rtw89_pci_tx_ring *tx_ring)
1209 struct rtw89_pci_dma_ring *bd_ring = &tx_ring->bd_ring;
1221 static void rtw89_pci_tx_bd_ring_update(struct rtw89_dev *rtwdev, struct rtw89_pci_tx_ring *tx_ring,
1224 struct rtw89_pci_dma_ring *bd_ring = &tx_ring->bd_ring;
1237 struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[txch];
1244 __rtw89_pci_tx_kick_off(rtwdev, tx_ring);
1250 struct rtw89_pci_tx_ring *tx_ring;
1257 tx_ring = &rtwpci->tx_rings[txch];
1258 __rtw89_pci_tx_kick_off(rtwdev, tx_ring);
1265 struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[txch];
1266 struct rtw89_pci_dma_ring *bd_ring = &tx_ring->bd_ring;
1369 struct rtw89_pci_tx_ring *tx_ring,
1413 tx_ring->tx_cnt++;
1436 struct rtw89_pci_tx_ring *tx_ring,
1469 rtw89_pci_tx_bd_ring_update(rtwdev, tx_ring, 1);
1475 struct rtw89_pci_tx_ring *tx_ring,
1487 if (tx_ring->txch == RTW89_TXCH_CH12)
1488 return rtw89_pci_fwcmd_submit(rtwdev, tx_ring, txbd, tx_req);
1490 txwd = rtw89_pci_dequeue_txwd(tx_ring);
1497 ret = rtw89_pci_txwd_submit(rtwdev, tx_ring, txwd, tx_req);
1503 list_add_tail(&txwd->list, &tx_ring->busy_pages);
1511 rtw89_pci_tx_bd_ring_update(rtwdev, tx_ring, 1);
1516 rtw89_pci_enqueue_txwd(tx_ring, txwd);
1525 struct rtw89_pci_tx_ring *tx_ring;
1539 tx_ring = &rtwpci->tx_rings[txch];
1542 n_avail_txbd = rtw89_pci_get_avail_txbd_num(tx_ring);
1549 txbd = rtw89_pci_get_next_txbd(tx_ring);
1550 ret = rtw89_pci_txbd_submit(rtwdev, tx_ring, txbd, tx_req);
1630 struct rtw89_pci_tx_ring *tx_ring;
1645 tx_ring = &rtwpci->tx_rings[i];
1646 bd_ring = &tx_ring->bd_ring;
1693 struct rtw89_pci_tx_ring *tx_ring)
1695 rtw89_pci_release_busy_txwd(rtwdev, tx_ring);
1696 rtw89_pci_release_pending_txwd_skb(rtwdev, tx_ring);
1784 struct rtw89_pci_tx_ring *tx_ring;
1792 tx_ring = &rtwpci->tx_rings[i];
1793 tx_ring->bd_ring.addr.idx = low_power ?
3256 struct rtw89_pci_tx_ring *tx_ring)
3258 struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
3271 struct rtw89_pci_tx_ring *tx_ring)
3277 head = tx_ring->bd_ring.head;
3278 dma = tx_ring->bd_ring.dma;
3279 ring_sz = tx_ring->bd_ring.desc_size * tx_ring->bd_ring.len;
3282 tx_ring->bd_ring.head = NULL;
3290 struct rtw89_pci_tx_ring *tx_ring;
3296 tx_ring = &rtwpci->tx_rings[i];
3297 rtw89_pci_free_tx_wd_ring(rtwdev, pdev, tx_ring);
3298 rtw89_pci_free_tx_ring(rtwdev, pdev, tx_ring);
3383 struct rtw89_pci_tx_ring *tx_ring,
3386 struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring;
3424 rtw89_pci_enqueue_txwd(tx_ring, txwd);
3434 struct rtw89_pci_tx_ring *tx_ring,
3444 ret = rtw89_pci_alloc_tx_wd_ring(rtwdev, pdev, tx_ring, txch);
3462 INIT_LIST_HEAD(&tx_ring->busy_pages);
3463 tx_ring->bd_ring.head = head;
3464 tx_ring->bd_ring.dma = dma;
3465 tx_ring->bd_ring.len = len;
3466 tx_ring->bd_ring.desc_size = desc_size;
3467 tx_ring->bd_ring.addr = *txch_addr;
3468 tx_ring->bd_ring.wp = 0;
3469 tx_ring->bd_ring.rp = 0;
3470 tx_ring->txch = txch;
3475 rtw89_pci_free_tx_wd_ring(rtwdev, pdev, tx_ring);
3485 struct rtw89_pci_tx_ring *tx_ring;
3494 tx_ring = &rtwpci->tx_rings[i];
3497 ret = rtw89_pci_alloc_tx_ring(rtwdev, pdev, tx_ring,
3514 tx_ring = &rtwpci->tx_rings[i];
3515 rtw89_pci_free_tx_ring(rtwdev, pdev, tx_ring);