disp: msm: sde: add changes to fix the sde fence signaled logic

This change allows signalling of sde fences when sequence number is
less than done_count. In current scenario, fence is not signaled as
the subtraction result is not typecasted to int before updating
the status causing the UI thread to block on sde fence.

Change-Id: I3ca62222e0c67223b9eaf299474a2c282d761d3a
Signed-off-by: Jayaprakash Madisetty <jmadiset@codeaurora.org>
This commit is contained in:
Jayaprakash Madisetty 2021-06-01 12:28:40 +05:30
commit 85ea12542f

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2021, The Linux Foundation. All rights reserved.
*/
#define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
@ -131,7 +131,7 @@ static bool sde_fence_signaled(struct dma_fence *fence)
struct sde_fence *f = to_sde_fence(fence);
bool status;
status = (int)((fence->seqno - f->ctx->done_count) <= 0);
status = ((int)(fence->seqno - f->ctx->done_count) <= 0);
SDE_DEBUG("status:%d fence seq:%d and timeline:%d\n",
status, fence->seqno, f->ctx->done_count);
return status;