Lines Matching full:ring
145 * @brief Destroy a ring buffer
147 * @param ring ring buffer
151 oce_destroy_ring_buffer(POCE_SOFTC sc, oce_ring_buffer_t *ring) in oce_destroy_ring_buffer() argument
153 oce_dma_free(sc, &ring->dma); in oce_destroy_ring_buffer()
154 free(ring, M_DEVBUF); in oce_destroy_ring_buffer()
163 oce_ring_buffer_t *ring; in oce_create_ring_buffer() local
165 ring = malloc(sizeof(oce_ring_buffer_t), M_DEVBUF, M_NOWAIT | M_ZERO); in oce_create_ring_buffer()
166 if (ring == NULL) in oce_create_ring_buffer()
169 ring->item_size = item_size; in oce_create_ring_buffer()
170 ring->num_items = q_len; in oce_create_ring_buffer()
177 size, 8, 4096, 0, NULL, NULL, &ring->dma.tag); in oce_create_ring_buffer()
181 rc = bus_dmamem_alloc(ring->dma.tag, in oce_create_ring_buffer()
182 &ring->dma.ptr, in oce_create_ring_buffer()
184 &ring->dma.map); in oce_create_ring_buffer()
188 bzero(ring->dma.ptr, size); in oce_create_ring_buffer()
189 bus_dmamap_sync(ring->dma.tag, ring->dma.map, in oce_create_ring_buffer()
191 ring->dma.paddr = 0; in oce_create_ring_buffer()
193 return ring; in oce_create_ring_buffer()
196 oce_dma_free(sc, &ring->dma); in oce_create_ring_buffer()
197 free(ring, M_DEVBUF); in oce_create_ring_buffer()
198 ring = NULL; in oce_create_ring_buffer()
209 * @brief Map ring buffer
234 * @brief Load bus dma map for a ring buffer
235 * @param ring ring buffer pointer
240 oce_page_list(oce_ring_buffer_t *ring, struct phys_addr *pa_list) in oce_page_list() argument
248 bus_dmamap_load(ring->dma.tag, in oce_page_list()
249 ring->dma.map, in oce_page_list()
250 ring->dma.ptr, in oce_page_list()
251 ring->item_size * ring->num_items, in oce_page_list()