Lines Matching defs:ring
107 static void * kgsl_ringbuffer_hostptr(struct fd_ringbuffer *ring)
109 struct kgsl_ringbuffer *kgsl_ring = to_kgsl_ringbuffer(ring);
113 static int kgsl_ringbuffer_flush(struct fd_ringbuffer *ring, uint32_t *last_start,
116 struct kgsl_ringbuffer *kgsl_ring = to_kgsl_ringbuffer(ring);
117 struct kgsl_pipe *kgsl_pipe = to_kgsl_pipe(ring->pipe);
118 uint32_t offset = (uint8_t *)last_start - (uint8_t *)ring->start;
122 .sizedwords = ring->cur - last_start,
138 if (ring->pipe->id == FD_PIPE_2D) {
140 uint32_t last_size = (uint32_t)(ring->cur - last_start);
155 ring->last_timestamp = req.timestamp;
156 ring->last_start = ring->cur;
163 static void kgsl_ringbuffer_emit_reloc(struct fd_ringbuffer *ring,
173 (*ring->cur++) = addr | r->or;
174 kgsl_pipe_add_submit(to_kgsl_pipe(ring->pipe), kgsl_bo);
177 static uint32_t kgsl_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring,
182 (*ring->cur++) = target_ring->bo->gpuaddr;
186 static void kgsl_ringbuffer_destroy(struct fd_ringbuffer *ring)
188 struct kgsl_ringbuffer *kgsl_ring = to_kgsl_ringbuffer(ring);
189 if (ring->last_timestamp)
190 fd_pipe_wait(ring->pipe, ring->last_timestamp);
208 struct fd_ringbuffer *ring = NULL;
218 ring = &kgsl_ring->base;
219 atomic_set(&ring->refcnt, 1);
221 ring->funcs = &funcs;
222 ring->size = size;
230 return ring;
232 if (ring)
233 fd_ringbuffer_del(ring);