Lines Matching refs:ring
149 * @brief Destroy a ring buffer
151 * @param ring ring buffer
155 oce_destroy_ring_buffer(POCE_SOFTC sc, oce_ring_buffer_t *ring)
157 oce_dma_free(sc, &ring->dma);
158 free(ring, M_DEVBUF);
169 oce_ring_buffer_t *ring;
172 ring = malloc(sizeof(oce_ring_buffer_t), M_DEVBUF, M_NOWAIT | M_ZERO);
173 if (ring == NULL)
176 ring->item_size = item_size;
177 ring->num_items = q_len;
184 size, 8, 4096, 0, NULL, NULL, &ring->dma.tag);
189 rc = bus_dmamem_alloc(ring->dma.tag,
190 &ring->dma.ptr,
192 &ring->dma.map);
196 bzero(ring->dma.ptr, size);
197 bus_dmamap_sync(ring->dma.tag, ring->dma.map,
199 ring->dma.paddr = 0;
201 return ring;
204 oce_dma_free(sc, &ring->dma);
205 free(ring, M_DEVBUF);
206 ring = NULL;
221 * @brief Map ring buffer
248 * @brief Load bus dma map for a ring buffer
249 * @param ring ring buffer pointer
254 oce_page_list(oce_ring_buffer_t *ring, struct phys_addr *pa_list)
262 bus_dmamap_load(ring->dma.tag,
263 ring->dma.map,
264 ring->dma.ptr,
265 ring->item_size * ring->num_items,