dma-buf/sw_sync: move timeline_fence_ops around
authorGustavo Padovan <gustavo.padovan@collabora.com>
Sat, 29 Jul 2017 15:22:15 +0000 (12:22 -0300)
committerGustavo Padovan <gustavo.padovan@collabora.com>
Mon, 31 Jul 2017 17:10:33 +0000 (14:10 -0300)
We are going to use timeline_fence_signaled() in a internal function in
the next commit.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20170729152217.8362-1-gustavo@padovan.org
drivers/dma-buf/sw_sync.c

index af1bc84802e57dc47caf7ac17a6a006c430b6f0f..ef0cc08f5dfb740112c1d3456e2c08d58b868cbc 100644 (file)
@@ -125,6 +125,75 @@ static void sync_timeline_put(struct sync_timeline *obj)
        kref_put(&obj->kref, sync_timeline_free);
 }
 
+static const char *timeline_fence_get_driver_name(struct dma_fence *fence)
+{
+       return "sw_sync";
+}
+
+static const char *timeline_fence_get_timeline_name(struct dma_fence *fence)
+{
+       struct sync_timeline *parent = dma_fence_parent(fence);
+
+       return parent->name;
+}
+
+static void timeline_fence_release(struct dma_fence *fence)
+{
+       struct sync_pt *pt = dma_fence_to_sync_pt(fence);
+       struct sync_timeline *parent = dma_fence_parent(fence);
+
+       if (!list_empty(&pt->link)) {
+               unsigned long flags;
+
+               spin_lock_irqsave(fence->lock, flags);
+               if (!list_empty(&pt->link)) {
+                       list_del(&pt->link);
+                       rb_erase(&pt->node, &parent->pt_tree);
+               }
+               spin_unlock_irqrestore(fence->lock, flags);
+       }
+
+       sync_timeline_put(parent);
+       dma_fence_free(fence);
+}
+
+static bool timeline_fence_signaled(struct dma_fence *fence)
+{
+       struct sync_timeline *parent = dma_fence_parent(fence);
+
+       return !__dma_fence_is_later(fence->seqno, parent->value);
+}
+
+static bool timeline_fence_enable_signaling(struct dma_fence *fence)
+{
+       return true;
+}
+
+static void timeline_fence_value_str(struct dma_fence *fence,
+                                   char *str, int size)
+{
+       snprintf(str, size, "%d", fence->seqno);
+}
+
+static void timeline_fence_timeline_value_str(struct dma_fence *fence,
+                                            char *str, int size)
+{
+       struct sync_timeline *parent = dma_fence_parent(fence);
+
+       snprintf(str, size, "%d", parent->value);
+}
+
+static const struct dma_fence_ops timeline_fence_ops = {
+       .get_driver_name = timeline_fence_get_driver_name,
+       .get_timeline_name = timeline_fence_get_timeline_name,
+       .enable_signaling = timeline_fence_enable_signaling,
+       .signaled = timeline_fence_signaled,
+       .wait = dma_fence_default_wait,
+       .release = timeline_fence_release,
+       .fence_value_str = timeline_fence_value_str,
+       .timeline_value_str = timeline_fence_timeline_value_str,
+};
+
 /**
  * sync_timeline_signal() - signal a status change on a sync_timeline
  * @obj:       sync_timeline to signal
@@ -216,75 +285,6 @@ unlock:
        return pt;
 }
 
-static const char *timeline_fence_get_driver_name(struct dma_fence *fence)
-{
-       return "sw_sync";
-}
-
-static const char *timeline_fence_get_timeline_name(struct dma_fence *fence)
-{
-       struct sync_timeline *parent = dma_fence_parent(fence);
-
-       return parent->name;
-}
-
-static void timeline_fence_release(struct dma_fence *fence)
-{
-       struct sync_pt *pt = dma_fence_to_sync_pt(fence);
-       struct sync_timeline *parent = dma_fence_parent(fence);
-
-       if (!list_empty(&pt->link)) {
-               unsigned long flags;
-
-               spin_lock_irqsave(fence->lock, flags);
-               if (!list_empty(&pt->link)) {
-                       list_del(&pt->link);
-                       rb_erase(&pt->node, &parent->pt_tree);
-               }
-               spin_unlock_irqrestore(fence->lock, flags);
-       }
-
-       sync_timeline_put(parent);
-       dma_fence_free(fence);
-}
-
-static bool timeline_fence_signaled(struct dma_fence *fence)
-{
-       struct sync_timeline *parent = dma_fence_parent(fence);
-
-       return !__dma_fence_is_later(fence->seqno, parent->value);
-}
-
-static bool timeline_fence_enable_signaling(struct dma_fence *fence)
-{
-       return true;
-}
-
-static void timeline_fence_value_str(struct dma_fence *fence,
-                                   char *str, int size)
-{
-       snprintf(str, size, "%d", fence->seqno);
-}
-
-static void timeline_fence_timeline_value_str(struct dma_fence *fence,
-                                            char *str, int size)
-{
-       struct sync_timeline *parent = dma_fence_parent(fence);
-
-       snprintf(str, size, "%d", parent->value);
-}
-
-static const struct dma_fence_ops timeline_fence_ops = {
-       .get_driver_name = timeline_fence_get_driver_name,
-       .get_timeline_name = timeline_fence_get_timeline_name,
-       .enable_signaling = timeline_fence_enable_signaling,
-       .signaled = timeline_fence_signaled,
-       .wait = dma_fence_default_wait,
-       .release = timeline_fence_release,
-       .fence_value_str = timeline_fence_value_str,
-       .timeline_value_str = timeline_fence_timeline_value_str,
-};
-
 /*
  * *WARNING*
  *