Lines Matching refs:dma

1431 	atge_dma_t *dma;  in atge_alloc_buffers()  local
1440 dma = atge_buf_alloc(r->r_atge, buflen, f); in atge_alloc_buffers()
1441 if (dma == NULL) { in atge_alloc_buffers()
1446 tbl[i] = dma; in atge_alloc_buffers()
1475 atge_dma_t *dma; in atge_alloc_a_dma_blk() local
1477 dma = kmem_zalloc(sizeof (atge_dma_t), KM_SLEEP); in atge_alloc_a_dma_blk()
1480 DDI_DMA_SLEEP, NULL, &dma->hdl); in atge_alloc_a_dma_blk()
1488 err = ddi_dma_mem_alloc(dma->hdl, in atge_alloc_a_dma_blk()
1490 &dma->addr, &dma->len, &dma->acchdl); in atge_alloc_a_dma_blk()
1495 ddi_dma_free_handle(&dma->hdl); in atge_alloc_a_dma_blk()
1499 err = ddi_dma_addr_bind_handle(dma->hdl, NULL, dma->addr, in atge_alloc_a_dma_blk()
1500 dma->len, d | DDI_DMA_CONSISTENT, DDI_DMA_SLEEP, in atge_alloc_a_dma_blk()
1501 NULL, &dma->cookie, &dma->count); in atge_alloc_a_dma_blk()
1506 ddi_dma_mem_free(&dma->acchdl); in atge_alloc_a_dma_blk()
1507 ddi_dma_free_handle(&dma->hdl); in atge_alloc_a_dma_blk()
1511 return (dma); in atge_alloc_a_dma_blk()
1513 kmem_free(dma, sizeof (atge_dma_t)); in atge_alloc_a_dma_blk()
1518 atge_free_a_dma_blk(atge_dma_t *dma) in atge_free_a_dma_blk() argument
1520 if (dma != NULL) { in atge_free_a_dma_blk()
1521 (void) ddi_dma_unbind_handle(dma->hdl); in atge_free_a_dma_blk()
1522 ddi_dma_mem_free(&dma->acchdl); in atge_free_a_dma_blk()
1523 ddi_dma_free_handle(&dma->hdl); in atge_free_a_dma_blk()
1524 kmem_free(dma, sizeof (atge_dma_t)); in atge_free_a_dma_blk()
1531 atge_dma_t *dma = NULL; in atge_buf_alloc() local
1534 dma = kmem_zalloc(sizeof (atge_dma_t), KM_SLEEP); in atge_buf_alloc()
1537 DDI_DMA_SLEEP, NULL, &dma->hdl); in atge_buf_alloc()
1545 err = ddi_dma_mem_alloc(dma->hdl, len, &atge_buf_attr, in atge_buf_alloc()
1546 DDI_DMA_STREAMING, DDI_DMA_SLEEP, NULL, &dma->addr, in atge_buf_alloc()
1547 &dma->len, &dma->acchdl); in atge_buf_alloc()
1552 ddi_dma_free_handle(&dma->hdl); in atge_buf_alloc()
1556 err = ddi_dma_addr_bind_handle(dma->hdl, NULL, dma->addr, dma->len, in atge_buf_alloc()
1557 (f | DDI_DMA_CONSISTENT), DDI_DMA_SLEEP, NULL, &dma->cookie, in atge_buf_alloc()
1558 &dma->count); in atge_buf_alloc()
1563 ddi_dma_mem_free(&dma->acchdl); in atge_buf_alloc()
1564 ddi_dma_free_handle(&dma->hdl); in atge_buf_alloc()
1571 ASSERT(dma->count == 1); in atge_buf_alloc()
1573 return (dma); in atge_buf_alloc()
1575 kmem_free(dma, sizeof (atge_dma_t)); in atge_buf_alloc()
1580 atge_buf_free(atge_dma_t *dma) in atge_buf_free() argument
1582 ASSERT(dma != NULL); in atge_buf_free()
1584 (void) ddi_dma_unbind_handle(dma->hdl); in atge_buf_free()
1585 ddi_dma_mem_free(&dma->acchdl); in atge_buf_free()
1586 ddi_dma_free_handle(&dma->hdl); in atge_buf_free()
1587 kmem_free(dma, sizeof (atge_dma_t)); in atge_buf_free()