Lines Matching refs:dmah
129 struct drm_dma_handle *dmah;
138 dmah = kmem_zalloc(sizeof(struct drm_dma_handle), KM_SLEEP);
141 DDI_DMA_SLEEP, NULL, &dmah->dma_hdl) != DDI_SUCCESS) {
146 if (ddi_dma_mem_alloc(dmah->dma_hdl, size, &hw_acc_attr,
148 DDI_DMA_SLEEP, NULL, (caddr_t *)&dmah->vaddr,
149 &dmah->real_sz, &dmah->acc_hdl) != DDI_SUCCESS) {
154 if (ddi_dma_addr_bind_handle(dmah->dma_hdl, NULL,
155 (caddr_t)dmah->vaddr, dmah->real_sz,
157 NULL, &dmah->cookie, &count) != DDI_DMA_MAPPED) {
163 (void) ddi_dma_unbind_handle(dmah->dma_hdl);
167 dmah->cookie_num = count;
169 dmah->paddr = dmah->cookie.dmac_address;
171 return (dmah);
174 ddi_dma_mem_free(&dmah->acc_hdl);
176 ddi_dma_free_handle(&dmah->dma_hdl);
178 kmem_free(dmah, sizeof (*dmah));
183 drm_pci_free(drm_dma_handle_t *dmah)
185 ASSERT(dmah != NULL);
187 (void) ddi_dma_unbind_handle(dmah->dma_hdl);
188 ddi_dma_mem_free(&dmah->acc_hdl);
189 ddi_dma_free_handle(&dmah->dma_hdl);
190 kmem_free(dmah, sizeof (drm_dma_handle_t));