Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Revert "dma-buf: Report signaled links inside dma-fence-chain"

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>

authored by

Lionel Landwerlin and committed by
Christian König
91fac86d 55dd37e5

-7
-7
drivers/dma-buf/dma-fence-chain.c
··· 99 99 return -EINVAL; 100 100 101 101 dma_fence_chain_for_each(*pfence, &chain->base) { 102 - if ((*pfence)->seqno < seqno) { /* already signaled */ 103 - dma_fence_put(*pfence); 104 - *pfence = NULL; 105 - break; 106 - } 107 - 108 102 if ((*pfence)->context != chain->base.context || 109 103 to_dma_fence_chain(*pfence)->prev_seqno < seqno) 110 104 break; ··· 222 228 * @chain: the chain node to initialize 223 229 * @prev: the previous fence 224 230 * @fence: the current fence 225 - * @seqno: the sequence number (syncpt) of the fence within the chain 226 231 * 227 232 * Initialize a new chain node and either start a new chain or add the node to 228 233 * the existing chain of the previous fence.