MCPcopy Create free account
hub / github.com/F-Stack/f-stack / dma_enqueue

Function dma_enqueue

dpdk/examples/dma/dmafwd.c:348–369  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

346}
347
348static inline uint32_t
349dma_enqueue(struct rte_mbuf *pkts[], struct rte_mbuf *pkts_copy[],
350 uint32_t num, uint32_t step, uint16_t dev_id)
351{
352 uint32_t i, k, m, n;
353
354 k = 0;
355 for (i = 0; i < num; i += m) {
356
357 m = RTE_MIN(step, num - i);
358 n = dma_enqueue_packets(pkts + i, pkts_copy + i, m, dev_id);
359 k += n;
360 if (n > 0)
361 rte_dma_submit(dev_id, 0);
362
363 /* don't try to enqueue more if HW queue is full */
364 if (n != m)
365 break;
366 }
367
368 return k;
369}
370
371static inline uint32_t
372dma_dequeue(struct rte_mbuf *src[], struct rte_mbuf *dst[], uint32_t num,

Callers 1

dma_rx_portFunction · 0.85

Calls 2

dma_enqueue_packetsFunction · 0.85
rte_dma_submitFunction · 0.85

Tested by

no test coverage detected