Lines Matching defs:dma_buf
4936 qlnx_alloc_dmabuf(qlnx_host_t *ha, qlnx_dma_t *dma_buf)
4943 dma_buf->alignment,
4948 dma_buf->size, /* maxsize */
4950 dma_buf->size, /* maxsegsize */
4953 &dma_buf->dma_tag);
4959 ret = bus_dmamem_alloc(dma_buf->dma_tag,
4960 (void **)&dma_buf->dma_b,
4962 &dma_buf->dma_map);
4964 bus_dma_tag_destroy(dma_buf->dma_tag);
4969 ret = bus_dmamap_load(dma_buf->dma_tag,
4970 dma_buf->dma_map,
4971 dma_buf->dma_b,
4972 dma_buf->size,
4977 bus_dma_tag_destroy(dma_buf->dma_tag);
4978 bus_dmamem_free(dma_buf->dma_tag, dma_buf->dma_b,
4979 dma_buf->dma_map);
4984 dma_buf->dma_addr = b_addr;
4992 qlnx_free_dmabuf(qlnx_host_t *ha, qlnx_dma_t *dma_buf)
4994 bus_dmamap_unload(dma_buf->dma_tag, dma_buf->dma_map);
4995 bus_dmamem_free(dma_buf->dma_tag, dma_buf->dma_b, dma_buf->dma_map);
4996 bus_dma_tag_destroy(dma_buf->dma_tag);
5003 qlnx_dma_t dma_buf;
5011 memset(&dma_buf, 0, sizeof (qlnx_dma_t));
5013 dma_buf.size = size + PAGE_SIZE;
5014 dma_buf.alignment = 8;
5016 if (qlnx_alloc_dmabuf((qlnx_host_t *)ecore_dev, &dma_buf) != 0)
5018 bzero((uint8_t *)dma_buf.dma_b, dma_buf.size);
5020 *phys = dma_buf.dma_addr;
5022 dma_p = (qlnx_dma_t *)((uint8_t *)dma_buf.dma_b + size);
5024 memcpy(dma_p, &dma_buf, sizeof(qlnx_dma_t));
5027 (void *)dma_buf.dma_map, (void *)dma_buf.dma_tag,
5028 dma_buf.dma_b, (void *)dma_buf.dma_addr, size);
5030 return (dma_buf.dma_b);
5037 qlnx_dma_t dma_buf, *dma_p;
5053 dma_buf = *dma_p;
5056 qlnx_free_dmabuf((qlnx_host_t *)ecore_dev, &dma_buf);