Revert "dma-buf: Report signaled links inside dma-fence-chain"
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Thu, 25 Jun 2020 12:34:42 +0000 (15:34 +0300)
committerChristian König <christian.koenig@amd.com>
Thu, 2 Jul 2020 13:21:24 +0000 (15:21 +0200)
This reverts commit 5de376bb434f80a13138f0ebedc8351ab73d8b0d.

This change breaks synchronization of a timeline.
dma_fence_chain_find_seqno() might be a bit of a confusing name but
this function is not trying to find a particular seqno, is supposed to
give a fence to wait on for a particular point in the timeline.

In a timeline, a particular value is reached when all the points up to
and including that value have signaled.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/372958/
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/dma-buf/dma-fence-chain.c

index c435bbb..3d12350 100644 (file)
@@ -99,12 +99,6 @@ int dma_fence_chain_find_seqno(struct dma_fence **pfence, uint64_t seqno)
                return -EINVAL;
 
        dma_fence_chain_for_each(*pfence, &chain->base) {
-               if ((*pfence)->seqno < seqno) { /* already signaled */
-                       dma_fence_put(*pfence);
-                       *pfence = NULL;
-                       break;
-               }
-
                if ((*pfence)->context != chain->base.context ||
                    to_dma_fence_chain(*pfence)->prev_seqno < seqno)
                        break;
@@ -228,7 +222,6 @@ EXPORT_SYMBOL(dma_fence_chain_ops);
  * @chain: the chain node to initialize
  * @prev: the previous fence
  * @fence: the current fence
- * @seqno: the sequence number (syncpt) of the fence within the chain
  *
  * Initialize a new chain node and either start a new chain or add the node to
  * the existing chain of the previous fence.