From: Lucas De Marchi Date: Thu, 13 Sep 2018 22:49:18 +0000 (-0700) Subject: freedreno: annotate public functions X-Git-Tag: android-x86-8.1-r1~48 X-Git-Url: http://git.osdn.net/view?p=android-x86%2Fexternal-libdrm.git;a=commitdiff_plain;h=9a1470fb410bbc84045929b1490366504c33bb59 freedreno: annotate public functions while read sym; do read f func line _ <<<$(cscope -d -L -1 $sym) if [ ! -z "$f" ]; then sed -i "${line}s/^/drm_public /" $f fi done < /tmp/a.txt In which /tmp/a.txt contains the public symbols from freedreno-symbol-check. The idea here will be to switch the default visibility to hidden so we don't export symbols we shouldn't. Signed-off-by: Lucas De Marchi Acked-by: Eric Engestrom --- diff --git a/freedreno/freedreno_bo.c b/freedreno/freedreno_bo.c index 6f4e27b3..efc5b71f 100644 --- a/freedreno/freedreno_bo.c +++ b/freedreno/freedreno_bo.c @@ -103,7 +103,7 @@ bo_new(struct fd_device *dev, uint32_t size, uint32_t flags, return bo; } -struct fd_bo * +drm_public struct fd_bo * fd_bo_new(struct fd_device *dev, uint32_t size, uint32_t flags) { struct fd_bo *bo = bo_new(dev, size, flags, &dev->bo_cache); @@ -126,7 +126,7 @@ fd_bo_new_ring(struct fd_device *dev, uint32_t size, uint32_t flags) return bo; } -struct fd_bo * +drm_public struct fd_bo * fd_bo_from_handle(struct fd_device *dev, uint32_t handle, uint32_t size) { struct fd_bo *bo = NULL; @@ -147,7 +147,7 @@ out_unlock: return bo; } -struct fd_bo * +drm_public struct fd_bo * fd_bo_from_dmabuf(struct fd_device *dev, int fd) { int ret, size; @@ -179,7 +179,7 @@ out_unlock: return bo; } -struct fd_bo * fd_bo_from_name(struct fd_device *dev, uint32_t name) +drm_public struct fd_bo * fd_bo_from_name(struct fd_device *dev, uint32_t name) { struct drm_gem_open req = { .name = name, @@ -214,23 +214,23 @@ out_unlock: return bo; } -uint64_t fd_bo_get_iova(struct fd_bo *bo) +drm_public uint64_t fd_bo_get_iova(struct fd_bo *bo) { return bo->funcs->iova(bo); } -void fd_bo_put_iova(struct fd_bo *bo) +drm_public void fd_bo_put_iova(struct fd_bo *bo) { /* currently a no-op */ } -struct fd_bo * fd_bo_ref(struct fd_bo *bo) +drm_public struct fd_bo * fd_bo_ref(struct fd_bo *bo) { atomic_inc(&bo->refcnt); return bo; } -void fd_bo_del(struct fd_bo *bo) +drm_public void fd_bo_del(struct fd_bo *bo) { struct fd_device *dev = bo->dev; @@ -275,7 +275,7 @@ drm_private void bo_del(struct fd_bo *bo) bo->funcs->destroy(bo); } -int fd_bo_get_name(struct fd_bo *bo, uint32_t *name) +drm_public int fd_bo_get_name(struct fd_bo *bo, uint32_t *name) { if (!bo->name) { struct drm_gem_flink req = { @@ -299,12 +299,12 @@ int fd_bo_get_name(struct fd_bo *bo, uint32_t *name) return 0; } -uint32_t fd_bo_handle(struct fd_bo *bo) +drm_public uint32_t fd_bo_handle(struct fd_bo *bo) { return bo->handle; } -int fd_bo_dmabuf(struct fd_bo *bo) +drm_public int fd_bo_dmabuf(struct fd_bo *bo) { int ret, prime_fd; @@ -320,12 +320,12 @@ int fd_bo_dmabuf(struct fd_bo *bo) return prime_fd; } -uint32_t fd_bo_size(struct fd_bo *bo) +drm_public uint32_t fd_bo_size(struct fd_bo *bo) { return bo->size; } -void * fd_bo_map(struct fd_bo *bo) +drm_public void * fd_bo_map(struct fd_bo *bo) { if (!bo->map) { uint64_t offset; @@ -347,18 +347,18 @@ void * fd_bo_map(struct fd_bo *bo) } /* a bit odd to take the pipe as an arg, but it's a, umm, quirk of kgsl.. */ -int fd_bo_cpu_prep(struct fd_bo *bo, struct fd_pipe *pipe, uint32_t op) +drm_public int fd_bo_cpu_prep(struct fd_bo *bo, struct fd_pipe *pipe, uint32_t op) { return bo->funcs->cpu_prep(bo, pipe, op); } -void fd_bo_cpu_fini(struct fd_bo *bo) +drm_public void fd_bo_cpu_fini(struct fd_bo *bo) { bo->funcs->cpu_fini(bo); } #if !HAVE_FREEDRENO_KGSL -struct fd_bo * fd_bo_from_fbdev(struct fd_pipe *pipe, int fbfd, uint32_t size) +drm_public struct fd_bo * fd_bo_from_fbdev(struct fd_pipe *pipe, int fbfd, uint32_t size) { return NULL; } diff --git a/freedreno/freedreno_device.c b/freedreno/freedreno_device.c index 001b05ad..ac234304 100644 --- a/freedreno/freedreno_device.c +++ b/freedreno/freedreno_device.c @@ -38,7 +38,7 @@ static pthread_mutex_t table_lock = PTHREAD_MUTEX_INITIALIZER; struct fd_device * kgsl_device_new(int fd); struct fd_device * msm_device_new(int fd); -struct fd_device * fd_device_new(int fd) +drm_public struct fd_device * fd_device_new(int fd) { struct fd_device *dev; drmVersionPtr version; @@ -90,7 +90,7 @@ out: /* like fd_device_new() but creates it's own private dup() of the fd * which is close()d when the device is finalized. */ -struct fd_device * fd_device_new_dup(int fd) +drm_public struct fd_device * fd_device_new_dup(int fd) { int dup_fd = dup(fd); struct fd_device *dev = fd_device_new(dup_fd); @@ -101,7 +101,7 @@ struct fd_device * fd_device_new_dup(int fd) return dev; } -struct fd_device * fd_device_ref(struct fd_device *dev) +drm_public struct fd_device * fd_device_ref(struct fd_device *dev) { atomic_inc(&dev->refcnt); return dev; @@ -125,7 +125,7 @@ drm_private void fd_device_del_locked(struct fd_device *dev) fd_device_del_impl(dev); } -void fd_device_del(struct fd_device *dev) +drm_public void fd_device_del(struct fd_device *dev) { if (!atomic_dec_and_test(&dev->refcnt)) return; @@ -134,12 +134,12 @@ void fd_device_del(struct fd_device *dev) pthread_mutex_unlock(&table_lock); } -int fd_device_fd(struct fd_device *dev) +drm_public int fd_device_fd(struct fd_device *dev) { return dev->fd; } -enum fd_version fd_device_version(struct fd_device *dev) +drm_public enum fd_version fd_device_version(struct fd_device *dev) { return dev->version; } diff --git a/freedreno/freedreno_pipe.c b/freedreno/freedreno_pipe.c index 30d231c7..e82e6448 100644 --- a/freedreno/freedreno_pipe.c +++ b/freedreno/freedreno_pipe.c @@ -33,7 +33,7 @@ * priority of zero is highest priority, and higher numeric values are * lower priorities */ -struct fd_pipe * +drm_public struct fd_pipe * fd_pipe_new2(struct fd_device *dev, enum fd_pipe_id id, uint32_t prio) { struct fd_pipe *pipe; @@ -65,37 +65,37 @@ fd_pipe_new2(struct fd_device *dev, enum fd_pipe_id id, uint32_t prio) return pipe; } -struct fd_pipe * +drm_public struct fd_pipe * fd_pipe_new(struct fd_device *dev, enum fd_pipe_id id) { return fd_pipe_new2(dev, id, 1); } -struct fd_pipe * fd_pipe_ref(struct fd_pipe *pipe) +drm_public struct fd_pipe * fd_pipe_ref(struct fd_pipe *pipe) { atomic_inc(&pipe->refcnt); return pipe; } -void fd_pipe_del(struct fd_pipe *pipe) +drm_public void fd_pipe_del(struct fd_pipe *pipe) { if (!atomic_dec_and_test(&pipe->refcnt)) return; pipe->funcs->destroy(pipe); } -int fd_pipe_get_param(struct fd_pipe *pipe, +drm_public int fd_pipe_get_param(struct fd_pipe *pipe, enum fd_param_id param, uint64_t *value) { return pipe->funcs->get_param(pipe, param, value); } -int fd_pipe_wait(struct fd_pipe *pipe, uint32_t timestamp) +drm_public int fd_pipe_wait(struct fd_pipe *pipe, uint32_t timestamp) { return fd_pipe_wait_timeout(pipe, timestamp, ~0); } -int fd_pipe_wait_timeout(struct fd_pipe *pipe, uint32_t timestamp, +drm_public int fd_pipe_wait_timeout(struct fd_pipe *pipe, uint32_t timestamp, uint64_t timeout) { return pipe->funcs->wait(pipe, timestamp, timeout); diff --git a/freedreno/freedreno_ringbuffer.c b/freedreno/freedreno_ringbuffer.c index eb6cd0ca..1fa33b7a 100644 --- a/freedreno/freedreno_ringbuffer.c +++ b/freedreno/freedreno_ringbuffer.c @@ -52,13 +52,13 @@ ringbuffer_new(struct fd_pipe *pipe, uint32_t size, return ring; } -struct fd_ringbuffer * +drm_public struct fd_ringbuffer * fd_ringbuffer_new(struct fd_pipe *pipe, uint32_t size) { return ringbuffer_new(pipe, size, 0); } -struct fd_ringbuffer * +drm_public struct fd_ringbuffer * fd_ringbuffer_new_object(struct fd_pipe *pipe, uint32_t size) { /* we can't really support "growable" rb's in general for @@ -69,7 +69,7 @@ fd_ringbuffer_new_object(struct fd_pipe *pipe, uint32_t size) return ringbuffer_new(pipe, size, FD_RINGBUFFER_OBJECT); } -void fd_ringbuffer_del(struct fd_ringbuffer *ring) +drm_public void fd_ringbuffer_del(struct fd_ringbuffer *ring) { if (!(ring->flags & FD_RINGBUFFER_OBJECT)) fd_ringbuffer_reset(ring); @@ -80,7 +80,7 @@ void fd_ringbuffer_del(struct fd_ringbuffer *ring) * the IB source) as it's parent before emitting reloc's, to ensure * the bookkeeping works out properly. */ -void fd_ringbuffer_set_parent(struct fd_ringbuffer *ring, +drm_public void fd_ringbuffer_set_parent(struct fd_ringbuffer *ring, struct fd_ringbuffer *parent) { /* state objects should not be parented! */ @@ -88,7 +88,7 @@ void fd_ringbuffer_set_parent(struct fd_ringbuffer *ring, ring->parent = parent; } -void fd_ringbuffer_reset(struct fd_ringbuffer *ring) +drm_public void fd_ringbuffer_reset(struct fd_ringbuffer *ring) { uint32_t *start = ring->start; if (ring->pipe->id == FD_PIPE_2D) @@ -98,18 +98,18 @@ void fd_ringbuffer_reset(struct fd_ringbuffer *ring) ring->funcs->reset(ring); } -int fd_ringbuffer_flush(struct fd_ringbuffer *ring) +drm_public int fd_ringbuffer_flush(struct fd_ringbuffer *ring) { return ring->funcs->flush(ring, ring->last_start, -1, NULL); } -int fd_ringbuffer_flush2(struct fd_ringbuffer *ring, int in_fence_fd, +drm_public int fd_ringbuffer_flush2(struct fd_ringbuffer *ring, int in_fence_fd, int *out_fence_fd) { return ring->funcs->flush(ring, ring->last_start, in_fence_fd, out_fence_fd); } -void fd_ringbuffer_grow(struct fd_ringbuffer *ring, uint32_t ndwords) +drm_public void fd_ringbuffer_grow(struct fd_ringbuffer *ring, uint32_t ndwords) { assert(ring->funcs->grow); /* unsupported on kgsl */ @@ -125,25 +125,25 @@ void fd_ringbuffer_grow(struct fd_ringbuffer *ring, uint32_t ndwords) ring->cur = ring->last_start = ring->start; } -uint32_t fd_ringbuffer_timestamp(struct fd_ringbuffer *ring) +drm_public uint32_t fd_ringbuffer_timestamp(struct fd_ringbuffer *ring) { return ring->last_timestamp; } -void fd_ringbuffer_reloc(struct fd_ringbuffer *ring, +drm_public void fd_ringbuffer_reloc(struct fd_ringbuffer *ring, const struct fd_reloc *reloc) { assert(ring->pipe->gpu_id < 500); ring->funcs->emit_reloc(ring, reloc); } -void fd_ringbuffer_reloc2(struct fd_ringbuffer *ring, +drm_public void fd_ringbuffer_reloc2(struct fd_ringbuffer *ring, const struct fd_reloc *reloc) { ring->funcs->emit_reloc(ring, reloc); } -void fd_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring, +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; @@ -158,14 +158,14 @@ void fd_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring, ring->funcs->emit_reloc_ring(ring, target->ring, 0, submit_offset, size); } -uint32_t fd_ringbuffer_cmd_count(struct fd_ringbuffer *ring) +drm_public uint32_t fd_ringbuffer_cmd_count(struct fd_ringbuffer *ring) { if (!ring->funcs->cmd_count) return 1; return ring->funcs->cmd_count(ring); } -uint32_t +drm_public uint32_t fd_ringbuffer_emit_reloc_ring_full(struct fd_ringbuffer *ring, struct fd_ringbuffer *target, uint32_t cmd_idx) { @@ -173,7 +173,7 @@ fd_ringbuffer_emit_reloc_ring_full(struct fd_ringbuffer *ring, return ring->funcs->emit_reloc_ring(ring, target, cmd_idx, 0, size); } -uint32_t +drm_public uint32_t fd_ringbuffer_size(struct fd_ringbuffer *ring) { /* only really needed for stateobj ringbuffers, and won't really @@ -188,7 +188,7 @@ fd_ringbuffer_size(struct fd_ringbuffer *ring) * Deprecated ringmarker API: */ -struct fd_ringmarker * fd_ringmarker_new(struct fd_ringbuffer *ring) +drm_public struct fd_ringmarker * fd_ringmarker_new(struct fd_ringbuffer *ring) { struct fd_ringmarker *marker = NULL; @@ -205,23 +205,23 @@ struct fd_ringmarker * fd_ringmarker_new(struct fd_ringbuffer *ring) return marker; } -void fd_ringmarker_del(struct fd_ringmarker *marker) +drm_public void fd_ringmarker_del(struct fd_ringmarker *marker) { free(marker); } -void fd_ringmarker_mark(struct fd_ringmarker *marker) +drm_public void fd_ringmarker_mark(struct fd_ringmarker *marker) { marker->cur = marker->ring->cur; } -uint32_t fd_ringmarker_dwords(struct fd_ringmarker *start, +drm_public uint32_t fd_ringmarker_dwords(struct fd_ringmarker *start, struct fd_ringmarker *end) { return end->cur - start->cur; } -int fd_ringmarker_flush(struct fd_ringmarker *marker) +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);