config_valid variable is used to signal the activation of the CVAL
request when the vsync interrupt has fired. malidp_set_and_wait_config_valid()
uses the variable in wait_event_interruptible_timeout without clearing it
first, so the wait is skipped.

Cc: Brian Starkey <Brian.Starkey at arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau at arm.com>
---
 drivers/gpu/drm/arm/malidp_drv.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c
index 82171d2..87c9249 100644
--- a/drivers/gpu/drm/arm/malidp_drv.c
+++ b/drivers/gpu/drm/arm/malidp_drv.c
@@ -42,6 +42,7 @@ static int malidp_set_and_wait_config_valid(struct drm_device 
*drm)
        struct malidp_hw_device *hwdev = malidp->dev;
        int ret;

+       atomic_set(&malidp->config_valid, 0);
        hwdev->set_config_valid(hwdev);
        /* don't wait for config_valid flag if we are in config mode */
        if (hwdev->in_config_mode(hwdev))
-- 
2.9.0

Reply via email to