Lines Matching refs: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)
153 oce_dma_free(sc, &ring->dma);
154 free(ring, M_DEVBUF);
163 oce_ring_buffer_t *ring;
165 ring = malloc(sizeof(oce_ring_buffer_t), M_DEVBUF, M_NOWAIT | M_ZERO);
166 if (ring == NULL)
169 ring->item_size = item_size;
170 ring->num_items = q_len;
177 size, 8, 4096, 0, NULL, NULL, &ring->dma.tag);
181 rc = bus_dmamem_alloc(ring->dma.tag,
182 &ring->dma.ptr,
184 &ring->dma.map);
188 bzero(ring->dma.ptr, size);
189 bus_dmamap_sync(ring->dma.tag, ring->dma.map,
191 ring->dma.paddr = 0;
193 return ring;
196 oce_dma_free(sc, &ring->dma);
197 free(ring, M_DEVBUF);
198 ring = NULL;
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)
248 bus_dmamap_load(ring->dma.tag,
249 ring->dma.map,
250 ring->dma.ptr,
251 ring->item_size * ring->num_items,