mirror_ubuntu-kernels/drivers/gpu/drm/vc4
Maxime Ripard 09c438139b
drm/vc4: hdmi: Implement finer-grained hooks
In order to prevent some pixels getting stuck in an unflushable FIFO on
bcm2711, we need to enable the HVS, the pixelvalve (the CRTC) and the HDMI
controller (the encoder) in an intertwined way, and with tight delays.

However, the atomic callbacks don't really provide a way to work with
either constraints, so we need to roll our own callbacks so that we can
provide those guarantees.

Since those callbacks have been implemented and called in the CRTC code, we
can just implement them in the HDMI driver now.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/2e9226d971117065f3b97e597f04f7fe2f0c134c.1599120059.git-series.maxime@cerno.tech
2020-09-07 18:14:54 +02:00
..
Kconfig drm/vc4: Fix Kconfig indentation 2019-11-25 10:04:41 +01:00
Makefile drm/vc4: hdmi: Add PHY init and disable function 2020-09-07 18:06:04 +02:00
vc4_bo.c drm/vc4: remove _unlocked suffix in drm_gem_object_put_unlocked 2020-05-19 22:31:35 +01:00
vc4_crtc.c drm/vc4: crtc: Add BCM2711 pixelvalves 2020-09-07 18:04:45 +02:00
vc4_debugfs.c drm: convert .debugfs_init() hook to return void. 2020-03-18 17:53:28 +01:00
vc4_dpi.c drm/vc4: Use simple encoder 2020-04-02 14:16:45 +02:00
vc4_drv.c drm/vc4: drv: Disable the CRTC at boot time 2020-09-07 18:04:36 +02:00
vc4_drv.h drm/vc4: hdmi: Remove vc4_dev hdmi pointer 2020-09-07 18:05:38 +02:00
vc4_dsi.c drm/vc4: Use simple encoder 2020-04-02 14:16:45 +02:00
vc4_fence.c drm/vc4: Remove unecessary dma_fence_ops 2018-07-03 13:14:10 +02:00
vc4_gem.c drm/vc4: remove _unlocked suffix in drm_gem_object_put_unlocked 2020-05-19 22:31:35 +01:00
vc4_hdmi_phy.c drm/vc4: hdmi: Add PHY RNG enable / disable function 2020-09-07 18:06:09 +02:00
vc4_hdmi_regs.h drm/vc4: hdmi: Implement a register layout abstraction 2020-09-07 18:05:52 +02:00
vc4_hdmi.c drm/vc4: hdmi: Implement finer-grained hooks 2020-09-07 18:14:54 +02:00
vc4_hdmi.h drm/vc4: hdmi: Deal with multiple ALSA cards 2020-09-07 18:14:53 +02:00
vc4_hvs.c drm/vc4: hvs: Introduce a function to get the assigned FIFO 2020-09-07 18:04:26 +02:00
vc4_irq.c drm/vc4: Allocate binner bo when starting to use the V3D 2019-05-23 17:32:21 +02:00
vc4_kms.c drm/vc4: crtc: Assign output to channel automatically 2020-09-07 18:02:51 +02:00
vc4_packet.h
vc4_perfmon.c drm/vc4: Disable V3D interactions if the v3d component didn't probe. 2019-04-03 12:49:18 -07:00
vc4_plane.c drm/vc4: plane: Create more planes 2020-09-07 18:02:08 +02:00
vc4_qpu_defines.h
vc4_regs.h drm/vc4: hdmi: Implement a register layout abstraction 2020-09-07 18:05:52 +02:00
vc4_render_cl.c drm/vc4: Make sure to emit a tile coordinates between two MSAA loads. 2019-04-01 09:33:38 -07:00
vc4_trace_points.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
vc4_trace.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
vc4_txp.c drm/vc4: crtc: Move the HVS gamma LUT setup to our init function 2020-09-07 18:03:39 +02:00
vc4_v3d.c drm/vc4: remove _unlocked suffix in drm_gem_object_put_unlocked 2020-05-19 22:31:35 +01:00
vc4_validate_shaders.c
vc4_validate.c
vc4_vec.c drm/vc4: Use simple encoder 2020-04-02 14:16:45 +02:00