linux-brain/drivers/gpu/drm/msm
Marijn Suijten c499817594 drm/msm/mdp5: Do not multiply vclk line count by 100
[ Upstream commit 377569f82ea8228c421cef4da33e056a900b58ca ]

Neither vtotal nor drm_mode_vrefresh contain a value that is
premultiplied by 100 making the x100 variable name incorrect and
resulting in vclks_line to become 100 times larger than it is supposed
to be.  The hardware counts 100 clockticks too many before tearcheck,
leading to severe panel issues on at least the Sony Xperia lineup.

This is likely an artifact from the original MDSS DSI panel driver where
the calculation [1] corrected for a premultiplied reference framerate by
100 [2].  It does not appear that the above values were ever
premultiplied in the history of the DRM MDP5 driver.

With this change applied the value written to the SYNC_CONFIG_VSYNC
register is now identical to downstream kernels.

[1]: https://source.codeaurora.org/quic/la/kernel/msm-3.18/tree/drivers/video/msm/mdss/mdss_mdp_intf_cmd.c?h=LA.UM.8.6.c26-02400-89xx.0#n288
[2]: https://source.codeaurora.org/quic/la/kernel/msm-3.18/tree/drivers/video/msm/mdss/mdss_dsi_panel.c?h=LA.UM.8.6.c26-02400-89xx.0#n1648

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Link: https://lore.kernel.org/r/20210406214726.131534-3-marijn.suijten@somainline.org
Signed-off-by: Rob Clark <robdclark@chromium.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-11 14:04:12 +02:00
..
adreno drm/msm: Fix a5xx/a6xx timestamps 2021-04-21 12:56:14 +02:00
disp drm/msm/mdp5: Do not multiply vclk line count by 100 2021-05-11 14:04:12 +02:00
dsi drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY) 2021-03-04 10:26:37 +01:00
edp treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
hdmi drm/msm/hdmi: Convert to use GPIO descriptors 2019-09-03 16:16:58 -07:00
Kconfig drm/msm: Remove Kconfig default 2019-09-03 16:16:59 -07:00
Makefile drm/msm: add atomic traces 2019-09-03 16:17:02 -07:00
NOTES
msm_atomic.c drm/msm: enable vblank during atomic commits 2020-09-09 19:12:21 +02:00
msm_atomic_trace.h drm/msm: add atomic traces 2019-09-03 16:17:02 -07:00
msm_atomic_tracepoints.c drm/msm: add atomic traces 2019-09-03 16:17:02 -07:00
msm_debugfs.c drm/msm: fix memleak on release 2019-12-13 08:42:54 +01:00
msm_debugfs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
msm_drv.c drm/msm: Set drvdata to NULL when msm_drm_init() fails 2021-04-14 08:24:16 +02:00
msm_drv.h drm/msm: async commit support 2019-09-03 16:17:01 -07:00
msm_fb.c drm/msm: drop use of drmP.h 2019-09-03 16:16:57 -07:00
msm_fbdev.c drm/msm: Transition console to msm framebuffer 2019-09-03 16:16:58 -07:00
msm_fence.c drm/msm: Ratelimit invalid-fence message 2021-04-10 13:34:31 +02:00
msm_fence.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
msm_gem.c drm/msm: Fix a null pointer access in msm_gem_shrinker_count() 2020-08-19 08:16:02 +02:00
msm_gem.h dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
msm_gem_prime.c drm/msm: drop use of drmP.h 2019-09-03 16:16:57 -07:00
msm_gem_shrinker.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
msm_gem_submit.c drm/msm: Use struct_size() helper 2019-09-03 16:16:58 -07:00
msm_gem_vma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
msm_gpu.c drm/msm: include linux/sched/task.h 2020-01-09 10:20:01 +01:00
msm_gpu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
msm_gpu_trace.h drm/msm: add atomic traces 2019-09-03 16:17:02 -07:00
msm_gpu_tracepoints.c drm/msm/gpu: Add trace events for tracking GPU submissions 2018-12-11 13:05:28 -05:00
msm_gpummu.c drm/msm: drop use of drmP.h 2019-09-03 16:16:57 -07:00
msm_iommu.c drm main pull request for v5.3-rc1 (sans mm changes) 2019-07-15 19:04:27 -07:00
msm_kms.h drm/msm/dpu: async commit support 2019-09-03 16:17:01 -07:00
msm_mmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
msm_perf.c drm/msm: drop use of drmP.h 2019-09-03 16:16:57 -07:00
msm_rd.c drm/msm: drop use of drmP.h 2019-09-03 16:16:57 -07:00
msm_ringbuffer.c drm/msm/gpu: make ringbuffer readonly 2020-09-17 13:47:56 +02:00
msm_ringbuffer.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
msm_submitqueue.c drm/msm: fix potential memleak in error branch 2020-07-22 09:32:51 +02:00