]> git.baikalelectronics.ru Git - kernel.git/commit
drm: rcar-du: Disable all planes when stopping the CRTC
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 14 May 2015 12:01:47 +0000 (15:01 +0300)
committerLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tue, 16 Jun 2015 11:15:47 +0000 (14:15 +0300)
commitc8d9fe2dbd02782e6785ed555993d5f1be6347f2
treef34624cd2350948ceed84ad0e3f22d7f22db67cc
parentef6173983d23b980a6fe480d8bbdf64dc66bba56
drm: rcar-du: Disable all planes when stopping the CRTC

The DSnPR plane configuration registers are updated on vblank, and no
vblank will occur once the CRTC is stopped. We thus can't only disable
planes right before starting the CRTC as it would start scanning out
immediately from old frame buffers until the next vblank.

Fix the problem by disabling all planes when stopping the CRTC and wait
for the change to take effect. This increases the CRTC stop delay,
especially when multiple CRTCs are stopped in one operation as we now
wait for one vblank per CRTC. Whether this can be improved needs to be
researched.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
drivers/gpu/drm/rcar-du/rcar_du_crtc.c