Lines Matching refs:dma_p

353     uint_t bind_flags, struct dma_area *dma_p)  in mwl_alloc_dma_mem()  argument
361 DDI_DMA_SLEEP, NULL, &dma_p->dma_hdl); in mwl_alloc_dma_mem()
371 err = ddi_dma_mem_alloc(dma_p->dma_hdl, memsize, attr_p, in mwl_alloc_dma_mem()
372 alloc_flags, DDI_DMA_SLEEP, NULL, &dma_p->mem_va, in mwl_alloc_dma_mem()
373 &dma_p->alength, &dma_p->acc_hdl); in mwl_alloc_dma_mem()
383 err = ddi_dma_addr_bind_handle(dma_p->dma_hdl, NULL, in mwl_alloc_dma_mem()
384 dma_p->mem_va, dma_p->alength, bind_flags, in mwl_alloc_dma_mem()
385 DDI_DMA_SLEEP, NULL, &dma_p->cookie, &dma_p->ncookies); in mwl_alloc_dma_mem()
392 if (dma_p->ncookies != 1) { in mwl_alloc_dma_mem()
398 dma_p->nslots = ~0U; in mwl_alloc_dma_mem()
399 dma_p->size = ~0U; in mwl_alloc_dma_mem()
400 dma_p->token = ~0U; in mwl_alloc_dma_mem()
401 dma_p->offset = 0; in mwl_alloc_dma_mem()
406 (void) ddi_dma_unbind_handle(dma_p->dma_hdl); in mwl_alloc_dma_mem()
408 ddi_dma_mem_free(&dma_p->acc_hdl); in mwl_alloc_dma_mem()
410 ddi_dma_free_handle(&dma_p->dma_hdl); in mwl_alloc_dma_mem()
416 mwl_free_dma_mem(struct dma_area *dma_p) in mwl_free_dma_mem() argument
418 if (dma_p->dma_hdl != NULL) { in mwl_free_dma_mem()
419 (void) ddi_dma_unbind_handle(dma_p->dma_hdl); in mwl_free_dma_mem()
420 if (dma_p->acc_hdl != NULL) { in mwl_free_dma_mem()
421 ddi_dma_mem_free(&dma_p->acc_hdl); in mwl_free_dma_mem()
422 dma_p->acc_hdl = NULL; in mwl_free_dma_mem()
424 ddi_dma_free_handle(&dma_p->dma_hdl); in mwl_free_dma_mem()
425 dma_p->ncookies = 0; in mwl_free_dma_mem()
426 dma_p->dma_hdl = NULL; in mwl_free_dma_mem()