Lines Matching full:rx
50 q->rx.shmem = (void *)(shmem + shmem_section_size); in eth_ivshmem_queue_init()
52 q->rx.shmem = (void *)shmem; in eth_ivshmem_queue_init()
58 vring_init(&q->rx.vring, vring_desc_len, q->rx.shmem, ETH_IVSHMEM_VRING_ALIGNMENT); in eth_ivshmem_queue_init()
66 q->tx.vring.used = q->rx.vring.used; in eth_ivshmem_queue_init()
67 q->rx.vring.used = tmp_used; in eth_ivshmem_queue_init()
85 q->rx.avail_idx = 0; in eth_ivshmem_queue_reset()
86 q->rx.used_idx = 0; in eth_ivshmem_queue_reset()
174 struct vring_desc *desc = &q->rx.vring.desc[avail_desc_idx]; in eth_ivshmem_queue_rx()
187 *data = (uint8_t *)q->rx.shmem + q->vring_header_size + offset; in eth_ivshmem_queue_rx()
202 uint16_t used_idx = q->rx.used_idx % q->desc_max_len; in eth_ivshmem_queue_rx_complete()
204 q->rx.used_idx++; in eth_ivshmem_queue_rx_complete()
205 q->rx.vring.used->ring[used_idx].id = avail_desc_idx; in eth_ivshmem_queue_rx_complete()
206 q->rx.vring.used->ring[used_idx].len = 1; in eth_ivshmem_queue_rx_complete()
207 VRING_FLUSH(q->rx.vring.used->ring[used_idx]); in eth_ivshmem_queue_rx_complete()
210 q->rx.vring.used->idx = q->rx.used_idx; in eth_ivshmem_queue_rx_complete()
211 VRING_FLUSH(q->rx.vring.used->idx); in eth_ivshmem_queue_rx_complete()
214 q->rx.avail_idx++; in eth_ivshmem_queue_rx_complete()
215 vring_avail_event(&q->rx.vring) = q->rx.avail_idx; in eth_ivshmem_queue_rx_complete()
216 VRING_FLUSH(vring_avail_event(&q->rx.vring)); in eth_ivshmem_queue_rx_complete()
315 VRING_INVALIDATE(q->rx.vring.avail->idx); in get_rx_avail_desc_idx()
317 uint16_t avail_idx = q->rx.vring.avail->idx; in get_rx_avail_desc_idx()
319 if (avail_idx == q->rx.avail_idx) { in get_rx_avail_desc_idx()
323 VRING_INVALIDATE(q->rx.vring.avail->ring[q->rx.avail_idx % q->desc_max_len]); in get_rx_avail_desc_idx()
324 *avail_desc_idx = q->rx.vring.avail->ring[q->rx.avail_idx % q->desc_max_len]; in get_rx_avail_desc_idx()