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

Function iflib_dma_free

freebsd/net/iflib.c:1475–1492  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1473}
1474
1475void
1476iflib_dma_free(iflib_dma_info_t dma)
1477{
1478 if (dma->idi_tag == NULL)
1479 return;
1480 if (dma->idi_paddr != IF_BAD_DMA) {
1481 bus_dmamap_sync(dma->idi_tag, dma->idi_map,
1482 BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE);
1483 bus_dmamap_unload(dma->idi_tag, dma->idi_map);
1484 dma->idi_paddr = IF_BAD_DMA;
1485 }
1486 if (dma->idi_vaddr != NULL) {
1487 bus_dmamem_free(dma->idi_tag, dma->idi_vaddr, dma->idi_map);
1488 dma->idi_vaddr = NULL;
1489 }
1490 bus_dma_tag_destroy(dma->idi_tag);
1491 dma->idi_tag = NULL;
1492}
1493
1494void
1495iflib_dma_free_multi(iflib_dma_info_t *dmalist, int count)

Callers 3

iflib_dma_free_multiFunction · 0.85
iflib_tx_structures_freeFunction · 0.85
iflib_rx_structures_freeFunction · 0.85

Calls 4

bus_dmamap_syncFunction · 0.50
bus_dmamap_unloadFunction · 0.50
bus_dmamem_freeFunction · 0.50
bus_dma_tag_destroyFunction · 0.50

Tested by

no test coverage detected