• Home
  • Raw
  • Download

Lines Matching refs:ring

110 static void * kgsl_ringbuffer_hostptr(struct fd_ringbuffer *ring)  in kgsl_ringbuffer_hostptr()  argument
112 struct kgsl_ringbuffer *kgsl_ring = to_kgsl_ringbuffer(ring); in kgsl_ringbuffer_hostptr()
116 static int kgsl_ringbuffer_flush(struct fd_ringbuffer *ring, uint32_t *last_start) in kgsl_ringbuffer_flush() argument
118 struct kgsl_ringbuffer *kgsl_ring = to_kgsl_ringbuffer(ring); in kgsl_ringbuffer_flush()
119 struct kgsl_pipe *kgsl_pipe = to_kgsl_pipe(ring->pipe); in kgsl_ringbuffer_flush()
120 uint32_t offset = (uint8_t *)last_start - (uint8_t *)ring->start; in kgsl_ringbuffer_flush()
124 .sizedwords = ring->cur - last_start, in kgsl_ringbuffer_flush()
137 if (ring->pipe->id == FD_PIPE_2D) { in kgsl_ringbuffer_flush()
139 uint32_t last_size = (uint32_t)(ring->cur - last_start); in kgsl_ringbuffer_flush()
154 ring->last_timestamp = req.timestamp; in kgsl_ringbuffer_flush()
155 ring->last_start = ring->cur; in kgsl_ringbuffer_flush()
162 static void kgsl_ringbuffer_emit_reloc(struct fd_ringbuffer *ring, in kgsl_ringbuffer_emit_reloc() argument
172 (*ring->cur++) = addr | r->or; in kgsl_ringbuffer_emit_reloc()
173 kgsl_pipe_add_submit(to_kgsl_pipe(ring->pipe), kgsl_bo); in kgsl_ringbuffer_emit_reloc()
176 static void kgsl_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring, in kgsl_ringbuffer_emit_reloc_ring() argument
179 struct kgsl_ringbuffer *target_ring = to_kgsl_ringbuffer(target->ring); in kgsl_ringbuffer_emit_reloc_ring()
180 (*ring->cur++) = target_ring->bo->gpuaddr + in kgsl_ringbuffer_emit_reloc_ring()
181 (uint8_t *)target->cur - (uint8_t *)target->ring->start; in kgsl_ringbuffer_emit_reloc_ring()
184 static void kgsl_ringbuffer_destroy(struct fd_ringbuffer *ring) in kgsl_ringbuffer_destroy() argument
186 struct kgsl_ringbuffer *kgsl_ring = to_kgsl_ringbuffer(ring); in kgsl_ringbuffer_destroy()
187 if (ring->last_timestamp) in kgsl_ringbuffer_destroy()
188 fd_pipe_wait(ring->pipe, ring->last_timestamp); in kgsl_ringbuffer_destroy()
206 struct fd_ringbuffer *ring = NULL; in kgsl_ringbuffer_new() local
214 ring = &kgsl_ring->base; in kgsl_ringbuffer_new()
215 ring->funcs = &funcs; in kgsl_ringbuffer_new()
223 return ring; in kgsl_ringbuffer_new()
225 if (ring) in kgsl_ringbuffer_new()
226 fd_ringbuffer_del(ring); in kgsl_ringbuffer_new()