drm/vc4: Workaround for crtc scanout device problem
authorHoegeun Kwon <hoegeun.kwon@samsung.com>
Thu, 7 Sep 2017 07:24:56 +0000 (16:24 +0900)
committerHoegeun Kwon <hoegeun.kwon@samsung.com>
Mon, 6 Jul 2020 09:06:06 +0000 (18:06 +0900)
Currently, the crtc device does not start a scanout, the time of
vblank is always calculated as future value. As a workaround, always
change vpos to a positive number.

Change-Id: I02527a0cfbd03d7713fa992d8ee039ffc8e0c5de
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
drivers/gpu/drm/vc4/vc4_crtc.c

index c230c0a..7925b7d 100644 (file)
@@ -174,7 +174,13 @@ bool vc4_crtc_get_scanoutpos(struct drm_device *dev, unsigned int crtc_id,
                 * contention on event_lock or vblank_time lock in
                 * the core.
                 */
-               *vpos = -vblank_lines;
+               /*
+                * The scanout does not occur due to device problem.
+                * Fixed vpos to a positive value with workaround.
+                * TODO. This issue should be corrected.
+                * We should check the scanout action of the crtc device.
+                */
+               *vpos = vblank_lines;
 
                if (stime)
                        *stime = vc4_crtc->t_vblank;