]> Git Repo - linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
Merge branch 'fix/intel' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[linux.git] / drivers / gpu / drm / amd / amdgpu / amdgpu_sync.c
index 5c8d3022fb8705acaf643519e27b2e80a187f0eb..ed814e6d0207be9429d20f0289acab0c0c59e1d3 100644 (file)
@@ -34,7 +34,7 @@
 
 struct amdgpu_sync_entry {
        struct hlist_node       node;
-       struct fence            *fence;
+       struct dma_fence        *fence;
 };
 
 static struct kmem_cache *amdgpu_sync_slab;
@@ -60,7 +60,8 @@ void amdgpu_sync_create(struct amdgpu_sync *sync)
  *
  * Test if the fence was issued by us.
  */
-static bool amdgpu_sync_same_dev(struct amdgpu_device *adev, struct fence *f)
+static bool amdgpu_sync_same_dev(struct amdgpu_device *adev,
+                                struct dma_fence *f)
 {
        struct amd_sched_fence *s_fence = to_amd_sched_fence(f);
 
@@ -81,7 +82,7 @@ static bool amdgpu_sync_same_dev(struct amdgpu_device *adev, struct fence *f)
  *
  * Extract who originally created the fence.
  */
-static void *amdgpu_sync_get_owner(struct fence *f)
+static void *amdgpu_sync_get_owner(struct dma_fence *f)
 {
        struct amd_sched_fence *s_fence = to_amd_sched_fence(f);
 
@@ -99,13 +100,14 @@ static void *amdgpu_sync_get_owner(struct fence *f)
  *
  * Either keep the existing fence or the new one, depending which one is later.
  */
-static void amdgpu_sync_keep_later(struct fence **keep, struct fence *fence)
+static void amdgpu_sync_keep_later(struct dma_fence **keep,
+                                  struct dma_fence *fence)
 {
-       if (*keep && fence_is_later(*keep, fence))
+       if (*keep && dma_fence_is_later(*keep, fence))
                return;
 
-       fence_put(*keep);
-       *keep = fence_get(fence);
+       dma_fence_put(*keep);
+       *keep = dma_fence_get(fence);
 }
 
 /**
@@ -117,7 +119,7 @@ static void amdgpu_sync_keep_later(struct fence **keep, struct fence *fence)
  * Tries to add the fence to an existing hash entry. Returns true when an entry
  * was found, false otherwise.
  */
-static bool amdgpu_sync_add_later(struct amdgpu_sync *sync, struct fence *f)
+static bool amdgpu_sync_add_later(struct amdgpu_sync *sync, struct dma_fence *f)
 {
        struct amdgpu_sync_entry *e;
 
@@ -139,7 +141,7 @@ static bool amdgpu_sync_add_later(struct amdgpu_sync *sync, struct fence *f)
  *
  */
 int amdgpu_sync_fence(struct amdgpu_device *adev, struct amdgpu_sync *sync,
-                     struct fence *f)
+                     struct dma_fence *f)
 {
        struct amdgpu_sync_entry *e;
 
@@ -158,7 +160,7 @@ int amdgpu_sync_fence(struct amdgpu_device *adev, struct amdgpu_sync *sync,
                return -ENOMEM;
 
        hash_add(sync->fences, &e->node, f->context);
-       e->fence = fence_get(f);
+       e->fence = dma_fence_get(f);
        return 0;
 }
 
@@ -177,7 +179,7 @@ int amdgpu_sync_resv(struct amdgpu_device *adev,
                     void *owner)
 {
        struct reservation_object_list *flist;
-       struct fence *f;
+       struct dma_fence *f;
        void *fence_owner;
        unsigned i;
        int r = 0;
@@ -231,15 +233,15 @@ int amdgpu_sync_resv(struct amdgpu_device *adev,
  * Returns the next fence not signaled yet without removing it from the sync
  * object.
  */
-struct fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync,
-                                    struct amdgpu_ring *ring)
+struct dma_fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync,
+                                        struct amdgpu_ring *ring)
 {
        struct amdgpu_sync_entry *e;
        struct hlist_node *tmp;
        int i;
 
        hash_for_each_safe(sync->fences, i, tmp, e, node) {
-               struct fence *f = e->fence;
+               struct dma_fence *f = e->fence;
                struct amd_sched_fence *s_fence = to_amd_sched_fence(f);
 
                if (ring && s_fence) {
@@ -247,16 +249,16 @@ struct fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync,
                         * when they are scheduled.
                         */
                        if (s_fence->sched == &ring->sched) {
-                               if (fence_is_signaled(&s_fence->scheduled))
+                               if (dma_fence_is_signaled(&s_fence->scheduled))
                                        continue;
 
                                return &s_fence->scheduled;
                        }
                }
 
-               if (fence_is_signaled(f)) {
+               if (dma_fence_is_signaled(f)) {
                        hash_del(&e->node);
-                       fence_put(f);
+                       dma_fence_put(f);
                        kmem_cache_free(amdgpu_sync_slab, e);
                        continue;
                }
@@ -274,11 +276,11 @@ struct fence *amdgpu_sync_peek_fence(struct amdgpu_sync *sync,
  *
  * Get and removes the next fence from the sync object not signaled yet.
  */
-struct fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync)
+struct dma_fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync)
 {
        struct amdgpu_sync_entry *e;
        struct hlist_node *tmp;
-       struct fence *f;
+       struct dma_fence *f;
        int i;
 
        hash_for_each_safe(sync->fences, i, tmp, e, node) {
@@ -288,10 +290,10 @@ struct fence *amdgpu_sync_get_fence(struct amdgpu_sync *sync)
                hash_del(&e->node);
                kmem_cache_free(amdgpu_sync_slab, e);
 
-               if (!fence_is_signaled(f))
+               if (!dma_fence_is_signaled(f))
                        return f;
 
-               fence_put(f);
+               dma_fence_put(f);
        }
        return NULL;
 }
@@ -311,11 +313,11 @@ void amdgpu_sync_free(struct amdgpu_sync *sync)
 
        hash_for_each_safe(sync->fences, i, tmp, e, node) {
                hash_del(&e->node);
-               fence_put(e->fence);
+               dma_fence_put(e->fence);
                kmem_cache_free(amdgpu_sync_slab, e);
        }
 
-       fence_put(sync->last_vm_update);
+       dma_fence_put(sync->last_vm_update);
 }
 
 /**
This page took 0.0501 seconds and 4 git commands to generate.