Lines Matching refs:dmah
56 drm_dma_handle_t *dmah = arg;
62 dmah->busaddr = segs[0].ds_addr;
71 drm_dma_handle_t *dmah;
81 dmah = malloc(sizeof(drm_dma_handle_t), DRM_MEM_DMA, M_ZERO | M_NOWAIT);
82 if (dmah == NULL)
97 &dmah->tag);
99 free(dmah, DRM_MEM_DMA);
103 ret = bus_dmamem_alloc(dmah->tag, &dmah->vaddr,
104 BUS_DMA_WAITOK | BUS_DMA_ZERO | BUS_DMA_NOCACHE, &dmah->map);
106 bus_dma_tag_destroy(dmah->tag);
107 free(dmah, DRM_MEM_DMA);
111 ret = bus_dmamap_load(dmah->tag, dmah->map, dmah->vaddr, size,
112 drm_pci_busdma_callback, dmah, BUS_DMA_NOWAIT);
114 bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map);
115 bus_dma_tag_destroy(dmah->tag);
116 free(dmah, DRM_MEM_DMA);
120 return dmah;
130 void __drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah)
132 if (dmah == NULL)
135 bus_dmamap_unload(dmah->tag, dmah->map);
136 bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map);
137 bus_dma_tag_destroy(dmah->tag);
143 void drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah)
145 __drm_pci_free(dev, dmah);
146 free(dmah, DRM_MEM_DMA);