[PATCH] drm/vkms: fix warning in vkms_get_vblank_timestamp

Sidong Yang realwakka at gmail.com
Tue Aug 25 14:42:48 UTC 2020


From: Sidong Yang <realwakka at gmail.com>, Haneen Mohammed <hamohammed.sa at gmail.com>

When vkms_get_vblank_timestamp() is called very first time without
enabling vblank before, vblank time has just intial value and it makes
warning message. this patch prevents warning message by setting vblank
time to current time.

Cc: Daniel Vetter <daniel at ffwll.ch>
Cc: Rodrigo Siqueira <rodrigosiqueiramelo at gmail.com>
Cc: Haneen Mohammed <hamohammed.sa at gmail.com>
Cc: Melissa Wen <melissa.srw at gmail.com>

Signed-off-by: Sidong Yang <realwakka at gmail.com>
---
 drivers/gpu/drm/vkms/vkms_crtc.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c
index ac85e17428f8..09c012d54d58 100644
--- a/drivers/gpu/drm/vkms/vkms_crtc.c
+++ b/drivers/gpu/drm/vkms/vkms_crtc.c
@@ -86,6 +86,11 @@ static bool vkms_get_vblank_timestamp(struct drm_crtc *crtc,
 	struct vkms_output *output = &vkmsdev->output;
 	struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
 
+	if (!READ_ONCE(vblank->enabled)) {
+		*vblank_time = ktime_get();
+		return true;
+	}
+
 	*vblank_time = READ_ONCE(output->vblank_hrtimer.node.expires);
 
 	if (WARN_ON(*vblank_time == vblank->time))
-- 
2.17.1



More information about the dri-devel mailing list