Lines Matching refs:dmah
55 drm_dma_handle_t *dmah = arg; in drm_pci_busdma_callback() local
61 dmah->busaddr = segs[0].ds_addr; in drm_pci_busdma_callback()
70 drm_dma_handle_t *dmah; in drm_pci_alloc() local
80 dmah = malloc(sizeof(drm_dma_handle_t), DRM_MEM_DMA, M_ZERO | M_NOWAIT); in drm_pci_alloc()
81 if (dmah == NULL) in drm_pci_alloc()
96 &dmah->tag); in drm_pci_alloc()
98 free(dmah, DRM_MEM_DMA); in drm_pci_alloc()
102 ret = bus_dmamem_alloc(dmah->tag, &dmah->vaddr, in drm_pci_alloc()
103 BUS_DMA_WAITOK | BUS_DMA_ZERO | BUS_DMA_NOCACHE, &dmah->map); in drm_pci_alloc()
105 bus_dma_tag_destroy(dmah->tag); in drm_pci_alloc()
106 free(dmah, DRM_MEM_DMA); in drm_pci_alloc()
110 ret = bus_dmamap_load(dmah->tag, dmah->map, dmah->vaddr, size, in drm_pci_alloc()
111 drm_pci_busdma_callback, dmah, BUS_DMA_NOWAIT); in drm_pci_alloc()
113 bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map); in drm_pci_alloc()
114 bus_dma_tag_destroy(dmah->tag); in drm_pci_alloc()
115 free(dmah, DRM_MEM_DMA); in drm_pci_alloc()
119 return dmah; in drm_pci_alloc()
129 void __drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) in __drm_pci_free() argument
131 if (dmah == NULL) in __drm_pci_free()
134 bus_dmamap_unload(dmah->tag, dmah->map); in __drm_pci_free()
135 bus_dmamem_free(dmah->tag, dmah->vaddr, dmah->map); in __drm_pci_free()
136 bus_dma_tag_destroy(dmah->tag); in __drm_pci_free()
142 void drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) in drm_pci_free() argument
144 __drm_pci_free(dev, dmah); in drm_pci_free()
145 free(dmah, DRM_MEM_DMA); in drm_pci_free()