Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ena/ena_datapath.c
Show First 20 Lines • Show All 84 Lines • ▼ Show 20 Lines | ena_cleanup(void *arg, int pending) | ||||
ena_log_io(adapter->pdev, DBG, "MSI-X TX/RX routine\n"); | ena_log_io(adapter->pdev, DBG, "MSI-X TX/RX routine\n"); | ||||
tx_ring = que->tx_ring; | tx_ring = que->tx_ring; | ||||
rx_ring = que->rx_ring; | rx_ring = que->rx_ring; | ||||
qid = que->id; | qid = que->id; | ||||
ena_qid = ENA_IO_TXQ_IDX(qid); | ena_qid = ENA_IO_TXQ_IDX(qid); | ||||
io_cq = &adapter->ena_dev->io_cq_queues[ena_qid]; | io_cq = &adapter->ena_dev->io_cq_queues[ena_qid]; | ||||
atomic_store_8(&tx_ring->first_interrupt, true); | atomic_store_8(&tx_ring->first_interrupt, 1); | ||||
atomic_store_8(&rx_ring->first_interrupt, true); | atomic_store_8(&rx_ring->first_interrupt, 1); | ||||
for (i = 0; i < ENA_CLEAN_BUDGET; ++i) { | for (i = 0; i < ENA_CLEAN_BUDGET; ++i) { | ||||
rxc = ena_rx_cleanup(rx_ring); | rxc = ena_rx_cleanup(rx_ring); | ||||
txc = ena_tx_cleanup(tx_ring); | txc = ena_tx_cleanup(tx_ring); | ||||
if (unlikely((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)) | if (unlikely((if_getdrvflags(ifp) & IFF_DRV_RUNNING) == 0)) | ||||
return; | return; | ||||
▲ Show 20 Lines • Show All 1,052 Lines • Show Last 20 Lines |