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

Function assign_dmadevs

dpdk/examples/dma/dmafwd.c:832–856  ·  view source on GitHub ↗

Using dmadev API functions. 8< */

Source from the content-addressed store, hash-verified

830
831/* Using dmadev API functions. 8< */
832static void
833assign_dmadevs(void)
834{
835 uint16_t nb_dmadev = 0;
836 int16_t dev_id = rte_dma_next_dev(0);
837 uint32_t i, j;
838
839 for (i = 0; i < cfg.nb_ports; i++) {
840 for (j = 0; j < cfg.ports[i].nb_queues; j++) {
841 if (dev_id == -1)
842 goto end;
843
844 cfg.ports[i].dmadev_ids[j] = dev_id;
845 configure_dmadev_queue(cfg.ports[i].dmadev_ids[j]);
846 dev_id = rte_dma_next_dev(dev_id + 1);
847 ++nb_dmadev;
848 }
849 }
850end:
851 if (nb_dmadev < cfg.nb_ports * cfg.ports[0].nb_queues)
852 rte_exit(EXIT_FAILURE,
853 "Not enough dmadevs (%u) for all queues (%u).\n",
854 nb_dmadev, cfg.nb_ports * cfg.ports[0].nb_queues);
855 RTE_LOG(INFO, DMA, "Number of used dmadevs: %u.\n", nb_dmadev);
856}
857/* >8 End of using dmadev API functions. */
858
859/* Assign ring structures for packet exchanging. 8< */

Callers 1

mainFunction · 0.85

Calls 3

rte_dma_next_devFunction · 0.85
rte_exitFunction · 0.85
configure_dmadev_queueFunction · 0.70

Tested by

no test coverage detected