OSDN Git Service

freedreno: remove deprecated ringmarker API
authorRob Clark <robclark@freedesktop.org>
Wed, 10 Oct 2018 14:47:17 +0000 (10:47 -0400)
committerRob Clark <robclark@freedesktop.org>
Sat, 13 Oct 2018 21:22:20 +0000 (17:22 -0400)
It's usage in mesa was removed more than two years ago.  And it stands
in the way of some optimizations needed to reduce the overhead of hw
stateobjs (ie. CP_SET_DRAW_STATE, where the # of cmds in the submit
ioctl goes up significantly).

Signed-off-by: Rob Clark <robclark@freedesktop.org>
freedreno/freedreno-symbol-check
freedreno/freedreno_priv.h
freedreno/freedreno_ringbuffer.c
freedreno/freedreno_ringbuffer.h

index 3216d48..978026c 100755 (executable)
@@ -57,12 +57,7 @@ fd_ringbuffer_reset
 fd_ringbuffer_set_parent
 fd_ringbuffer_size
 fd_ringbuffer_timestamp
-fd_ringmarker_del
-fd_ringmarker_dwords
-fd_ringmarker_flush
 fd_ringbuffer_flush2
-fd_ringmarker_mark
-fd_ringmarker_new
 EOF
 done)
 
index e997ef0..48cd638 100644 (file)
@@ -131,11 +131,6 @@ struct fd_pipe {
        const struct fd_pipe_funcs *funcs;
 };
 
-struct fd_ringmarker {
-       struct fd_ringbuffer *ring;
-       uint32_t *cur;
-};
-
 struct fd_ringbuffer_funcs {
        void * (*hostptr)(struct fd_ringbuffer *ring);
        int (*flush)(struct fd_ringbuffer *ring, uint32_t *last_start,
index 28fcc93..ddaa463 100644 (file)
@@ -155,21 +155,6 @@ drm_public void fd_ringbuffer_reloc2(struct fd_ringbuffer *ring,
        ring->funcs->emit_reloc(ring, reloc);
 }
 
-drm_public void fd_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring,
-               struct fd_ringmarker *target, struct fd_ringmarker *end)
-{
-       uint32_t submit_offset, size;
-
-       /* This function is deprecated and not supported on 64b devices: */
-       assert(ring->pipe->gpu_id < 500);
-       assert(target->ring == end->ring);
-
-       submit_offset = offset_bytes(target->cur, target->ring->start);
-       size = offset_bytes(end->cur, target->cur);
-
-       ring->funcs->emit_reloc_ring(ring, target->ring, 0, submit_offset, size);
-}
-
 drm_public uint32_t fd_ringbuffer_cmd_count(struct fd_ringbuffer *ring)
 {
        if (!ring->funcs->cmd_count)
@@ -196,45 +181,3 @@ fd_ringbuffer_size(struct fd_ringbuffer *ring)
        return offset_bytes(ring->cur, ring->start);
 }
 
-/*
- * Deprecated ringmarker API:
- */
-
-drm_public struct fd_ringmarker * fd_ringmarker_new(struct fd_ringbuffer *ring)
-{
-       struct fd_ringmarker *marker = NULL;
-
-       marker = calloc(1, sizeof(*marker));
-       if (!marker) {
-               ERROR_MSG("allocation failed");
-               return NULL;
-       }
-
-       marker->ring = ring;
-
-       marker->cur = marker->ring->cur;
-
-       return marker;
-}
-
-drm_public void fd_ringmarker_del(struct fd_ringmarker *marker)
-{
-       free(marker);
-}
-
-drm_public void fd_ringmarker_mark(struct fd_ringmarker *marker)
-{
-       marker->cur = marker->ring->cur;
-}
-
-drm_public uint32_t fd_ringmarker_dwords(struct fd_ringmarker *start,
-                                        struct fd_ringmarker *end)
-{
-       return end->cur - start->cur;
-}
-
-drm_public int fd_ringmarker_flush(struct fd_ringmarker *marker)
-{
-       struct fd_ringbuffer *ring = marker->ring;
-       return ring->funcs->flush(ring, marker->cur, -1, NULL);
-}
index ad615e8..3e951dc 100644 (file)
@@ -37,7 +37,6 @@
  */
 
 struct fd_ringbuffer_funcs;
-struct fd_ringmarker;
 
 enum fd_ringbuffer_flags {
 
@@ -134,18 +133,9 @@ struct fd_reloc {
 
 void fd_ringbuffer_reloc2(struct fd_ringbuffer *ring, const struct fd_reloc *reloc);
 will_be_deprecated void fd_ringbuffer_reloc(struct fd_ringbuffer *ring, const struct fd_reloc *reloc);
-will_be_deprecated void fd_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring,
-               struct fd_ringmarker *target, struct fd_ringmarker *end);
 uint32_t fd_ringbuffer_cmd_count(struct fd_ringbuffer *ring);
 uint32_t fd_ringbuffer_emit_reloc_ring_full(struct fd_ringbuffer *ring,
                struct fd_ringbuffer *target, uint32_t cmd_idx);
 uint32_t fd_ringbuffer_size(struct fd_ringbuffer *ring);
 
-will_be_deprecated struct fd_ringmarker * fd_ringmarker_new(struct fd_ringbuffer *ring);
-will_be_deprecated void fd_ringmarker_del(struct fd_ringmarker *marker);
-will_be_deprecated void fd_ringmarker_mark(struct fd_ringmarker *marker);
-will_be_deprecated uint32_t fd_ringmarker_dwords(struct fd_ringmarker *start,
-               struct fd_ringmarker *end);
-will_be_deprecated int fd_ringmarker_flush(struct fd_ringmarker *marker);
-
 #endif /* FREEDRENO_RINGBUFFER_H_ */