]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal
authorMarijn Suijten <marijn.suijten@somainline.org>
Tue, 6 Apr 2021 21:47:24 +0000 (23:47 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 19 May 2021 08:59:44 +0000 (10:59 +0200)
commit951b4d6761a326ac3fb3c57e1b03548eb943586f
tree1803c65a19c440964269f26db4658b6e5398d712
parent3364b739c3752f6208254daf7593c7f7fac08310
drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal

BugLink: https://bugs.launchpad.net/bugs/1928825
[ Upstream commit 2ad52bdb220de5ab348098e3482b01235d15a842 ]

Leaving this at a close-to-maximum register value 0xFFF0 means it takes
very long for the MDSS to generate a software vsync interrupt when the
hardware TE interrupt doesn't arrive.  Configuring this to double the
vtotal (like some downstream kernels) leads to a frame to take at most
twice before the vsync signal, until hardware TE comes up.

In this case the hardware interrupt responsible for providing this
signal - "disp-te" gpio - is not hooked up to the mdp5 vsync/pp logic at
all.  This solves severe panel update issues observed on at least the
Xperia Loire and Tone series, until said gpio is properly hooked up to
an irq.

Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210406214726.131534-2-marijn.suijten@somainline.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c