Lines Matching refs:dmah
219 drm_dma_handle_t *dmah;
232 dmah = kmem_zalloc(sizeof (drm_dma_handle_t), KM_SLEEP);
234 DDI_DMA_SLEEP, NULL, &dmah->dma_hdl)) {
239 if (ret = ddi_dma_mem_alloc(dmah->dma_hdl, size, &hw_acc_attr,
241 DDI_DMA_SLEEP, NULL, (caddr_t *)&dmah->vaddr,
242 &dmah->real_sz, &dmah->acc_hdl)) {
247 ret = ddi_dma_addr_bind_handle(dmah->dma_hdl, NULL,
248 (caddr_t)dmah->vaddr, dmah->real_sz,
250 DDI_DMA_SLEEP, NULL, &dmah->cookie, &count);
257 (void) ddi_dma_unbind_handle(dmah->dma_hdl);
261 dmah->cookie_num = count;
263 dmah->paddr = dmah->cookie.dmac_address;
265 return (dmah);
268 ddi_dma_mem_free(&dmah->acc_hdl);
270 ddi_dma_free_handle(&dmah->dma_hdl);
272 kmem_free(dmah, sizeof (*dmah));
281 drm_pci_free(drm_device_t *dev, drm_dma_handle_t *dmah)
283 ASSERT(dmah != NULL);
284 (void) ddi_dma_unbind_handle(dmah->dma_hdl);
285 ddi_dma_mem_free(&dmah->acc_hdl);
286 ddi_dma_free_handle(&dmah->dma_hdl);
287 kmem_free(dmah, sizeof (drm_dma_handle_t));