Lines Matching refs:dma_buf

4937 qlnx_alloc_dmabuf(qlnx_host_t *ha, qlnx_dma_t *dma_buf)  in qlnx_alloc_dmabuf()  argument
4944 dma_buf->alignment, in qlnx_alloc_dmabuf()
4949 dma_buf->size, /* maxsize */ in qlnx_alloc_dmabuf()
4951 dma_buf->size, /* maxsegsize */ in qlnx_alloc_dmabuf()
4954 &dma_buf->dma_tag); in qlnx_alloc_dmabuf()
4960 ret = bus_dmamem_alloc(dma_buf->dma_tag, in qlnx_alloc_dmabuf()
4961 (void **)&dma_buf->dma_b, in qlnx_alloc_dmabuf()
4963 &dma_buf->dma_map); in qlnx_alloc_dmabuf()
4965 bus_dma_tag_destroy(dma_buf->dma_tag); in qlnx_alloc_dmabuf()
4970 ret = bus_dmamap_load(dma_buf->dma_tag, in qlnx_alloc_dmabuf()
4971 dma_buf->dma_map, in qlnx_alloc_dmabuf()
4972 dma_buf->dma_b, in qlnx_alloc_dmabuf()
4973 dma_buf->size, in qlnx_alloc_dmabuf()
4978 bus_dma_tag_destroy(dma_buf->dma_tag); in qlnx_alloc_dmabuf()
4979 bus_dmamem_free(dma_buf->dma_tag, dma_buf->dma_b, in qlnx_alloc_dmabuf()
4980 dma_buf->dma_map); in qlnx_alloc_dmabuf()
4985 dma_buf->dma_addr = b_addr; in qlnx_alloc_dmabuf()
4993 qlnx_free_dmabuf(qlnx_host_t *ha, qlnx_dma_t *dma_buf) in qlnx_free_dmabuf() argument
4995 bus_dmamap_unload(dma_buf->dma_tag, dma_buf->dma_map); in qlnx_free_dmabuf()
4996 bus_dmamem_free(dma_buf->dma_tag, dma_buf->dma_b, dma_buf->dma_map); in qlnx_free_dmabuf()
4997 bus_dma_tag_destroy(dma_buf->dma_tag); in qlnx_free_dmabuf()
5004 qlnx_dma_t dma_buf; in qlnx_dma_alloc_coherent() local
5012 memset(&dma_buf, 0, sizeof (qlnx_dma_t)); in qlnx_dma_alloc_coherent()
5014 dma_buf.size = size + PAGE_SIZE; in qlnx_dma_alloc_coherent()
5015 dma_buf.alignment = 8; in qlnx_dma_alloc_coherent()
5017 if (qlnx_alloc_dmabuf((qlnx_host_t *)ecore_dev, &dma_buf) != 0) in qlnx_dma_alloc_coherent()
5019 bzero((uint8_t *)dma_buf.dma_b, dma_buf.size); in qlnx_dma_alloc_coherent()
5021 *phys = dma_buf.dma_addr; in qlnx_dma_alloc_coherent()
5023 dma_p = (qlnx_dma_t *)((uint8_t *)dma_buf.dma_b + size); in qlnx_dma_alloc_coherent()
5025 memcpy(dma_p, &dma_buf, sizeof(qlnx_dma_t)); in qlnx_dma_alloc_coherent()
5028 (void *)dma_buf.dma_map, (void *)dma_buf.dma_tag, in qlnx_dma_alloc_coherent()
5029 dma_buf.dma_b, (void *)dma_buf.dma_addr, size); in qlnx_dma_alloc_coherent()
5031 return (dma_buf.dma_b); in qlnx_dma_alloc_coherent()
5038 qlnx_dma_t dma_buf, *dma_p; in qlnx_dma_free_coherent() local
5054 dma_buf = *dma_p; in qlnx_dma_free_coherent()
5057 qlnx_free_dmabuf((qlnx_host_t *)ecore_dev, &dma_buf); in qlnx_dma_free_coherent()