linux-samsung-r9q2/drivers/gpu/drm/vc4
Dom Cobley 247a631f9c
drm/vc4: crtc: Increase setup cost in core clock calculation to handle extreme reduced blanking
The formula that determines the core clock requirement based on pixel
clock and blanking has been determined experimentally to minimise the
clock while supporting all modes we've seen.

A new reduced blanking mode (4kp60 at 533MHz rather than the standard
594MHz) has been seen that doesn't produce a high enough clock and
results in "flip_done timed out" error.

Increase the setup cost in the formula to make this work. The result is
a reduced blanking mode increases by up to 7MHz while leaving the
standard timing
mode untouched

Link: https://github.com/raspberrypi/linux/issues/4446
Fixes: 16e101051f ("drm/vc4: Increase the core clock based on HVS load")
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20230127145558.446123-1-maxime@cerno.tech
2023-02-09 09:59:10 +01:00
..
Kconfig drm/vc4: hdmi: Depends on CONFIG_PM 2022-08-18 17:14:58 +02:00
Makefile drm/vc4: hdmi: Add PHY init and disable function 2020-09-07 18:06:04 +02:00
vc4_bo.c drm/vc4: bo: Fix unused variable warning 2023-01-13 17:37:48 +01:00
vc4_crtc.c drm/vc4: crtc: Increase setup cost in core clock calculation to handle extreme reduced blanking 2023-02-09 09:59:10 +01:00
vc4_debugfs.c drm/vc4: debugfs: Simplify debugfs registration 2022-07-13 10:46:13 +02:00
vc4_dpi.c drm/vc4: debugfs: Simplify debugfs registration 2022-07-13 10:46:13 +02:00
vc4_drv.c Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
vc4_drv.h drm/vc4: hdmi: Add more checks for 4k resolutions 2022-10-28 13:03:20 +02:00
vc4_dsi.c drm/vc4: debugfs: Simplify debugfs registration 2022-07-13 10:46:13 +02:00
vc4_fence.c drm/vc4: Remove unecessary dma_fence_ops 2018-07-03 13:14:10 +02:00
vc4_gem.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
vc4_hdmi.c drm/vc4: hdmi: Always enable GCP with AVMUTE cleared 2023-02-09 09:58:25 +01:00
vc4_hdmi.h Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
vc4_hdmi_phy.c drm/vc4: hdmi: Rename pixel_rate variable 2022-03-24 13:43:59 +01:00
vc4_hdmi_regs.h drm/vc4: hdmi: Add MISC_CONTROL register for vc4 2022-06-28 14:56:08 +02:00
vc4_hvs.c drm/vc4: hdmi: Add more checks for 4k resolutions 2022-10-28 13:03:20 +02:00
vc4_irq.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
vc4_kms.c Linux 6.1-rc6 2022-11-24 11:05:43 +10:00
vc4_packet.h drm/vc4: Add support for drawing 3D frames. 2015-12-07 20:05:10 -08:00
vc4_perfmon.c drm/vc4: perfmon: Add missing mutex_destroy 2022-07-13 10:46:13 +02:00
vc4_plane.c drm/vc4: Fix YUV plane handling when planes are in different buffers 2023-02-09 09:58:09 +01:00
vc4_qpu_defines.h drm/vc4: Fix definition of QPU_R_MS_REV_FLAGS 2016-07-15 15:19:52 -07:00
vc4_regs.h drm/vc4: drop unexpected word "the" in the comments 2022-06-22 09:22:55 +02:00
vc4_render_cl.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
vc4_trace.h drm/vc4: add tracepoints for CL submissions 2022-03-17 15:12:25 +01:00
vc4_trace_points.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
vc4_txp.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
vc4_v3d.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
vc4_validate.c drm/gem: rename struct drm_gem_dma_object.{paddr => dma_addr} 2022-08-03 18:32:27 +02:00
vc4_validate_shaders.c drm/gem: rename GEM CMA helpers to GEM DMA helpers 2022-08-03 18:31:49 +02:00
vc4_vec.c drm/vc4: vec: Fix definition of PAL-M mode 2022-10-10 13:59:52 +02:00