linux_dsm_epyc7002/drivers/gpu/drm/sun4i
Chen-Yu Tsai e8d5bbf7f4 drm/sun4i: tcon: get TCON ID and matching engine with remote endpoint ID
The device tree binding for sun4i-drm says:

    For all connections between components up to the TCONs in the display
    pipeline, when there are multiple components of the same type at the
    same depth, the local endpoint ID must be the same as the remote
    component's index. For example, if the remote endpoint is Frontend 1,
    then the local endpoint ID must be 1.

We should be able to get the TCON's ID directly from any of the remote
endpoints from its input port. With the ID, we can then go through the
list of registered engines and find a matching one by ID.

However the A31 device tree is incorrect. We assumed that there were no
cross pipeline connections between the backends and TCONs. As a result,
in all the endpoints between the backends and TCONs of the second
display pipeline, the endpoint IDs were incorrectly set to 0, when in
fact they should've been set to 1.

To maintain compatibility with this incorrect device tree, we first
check if the TCON's input port has 1 or many endpoints. If there are
more than 1, then it is likely a fixed version, and we can proceed
with the new method. If there is only 1 endpoint, then it is possibly
an incorrect version, or it could be the SoC only has one pipeline.
In either case we fall back to using the old method of traversing
the input connections to find a matching engine, and then get its
ID.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170908075016.18657-5-wens@csie.org
2017-09-09 17:24:35 +02:00
..
Kconfig drm/sun4i: Add HDMI support 2017-06-01 09:50:01 +02:00
Makefile drm/sun4i: Add HDMI support 2017-06-01 09:50:01 +02:00
sun4i_backend.c drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_backend.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_crtc.c drm: Convert atomic drivers from CRTC .disable() to .atomic_disable() 2017-06-30 14:53:15 +02:00
sun4i_crtc.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_dotclock.c drm/sun4i: dotclock: Round to closest clock rate 2016-09-20 09:19:31 +02:00
sun4i_dotclock.h
sun4i_drv.c drm/sun4i: add components in breadth first traversal order 2017-09-09 17:23:56 +02:00
sun4i_drv.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_framebuffer.c drm/sun4i: Move drm_mode_config_cleanup call to main driver 2017-03-07 22:15:14 +01:00
sun4i_framebuffer.h
sun4i_hdmi_ddc_clk.c drm/sun4i: Add HDMI support 2017-06-01 09:50:01 +02:00
sun4i_hdmi_enc.c drm: Nuke drm_atomic_helper_connector_dpms 2017-08-08 14:48:48 +02:00
sun4i_hdmi_tmds_clk.c drm/sun4i: Add HDMI support 2017-06-01 09:50:01 +02:00
sun4i_hdmi.h drm/sun4i: Add HDMI support 2017-06-01 09:50:01 +02:00
sun4i_layer.c drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
sun4i_layer.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00
sun4i_rgb.c drm/sun4i: make drm_connector_funcs structures const 2017-08-09 18:37:17 +02:00
sun4i_rgb.h drm/sun4i: rgb: Pass tcon pointer when initializing RGB encoder 2017-03-07 22:18:24 +01:00
sun4i_tcon.c drm/sun4i: tcon: get TCON ID and matching engine with remote endpoint ID 2017-09-09 17:24:35 +02:00
sun4i_tcon.h drm/sun4i: tcon: Change vertical total size computation inconsistency 2017-06-01 09:49:58 +02:00
sun4i_tv.c drm/sun4i: make drm_connector_funcs structures const 2017-08-09 18:37:17 +02:00
sun6i_drc.c Merge tag 'drm-misc-next-2016-11-16' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2016-11-17 08:02:46 +10:00
sun8i_layer.c drm: Plumb modifiers through plane init 2017-08-01 17:50:06 +01:00
sun8i_layer.h drm/sun4i: add support for Allwinner DE2 mixers 2017-06-01 09:49:54 +02:00
sun8i_mixer.c drm/sun4i: add support for Allwinner DE2 mixers 2017-06-01 09:49:54 +02:00
sun8i_mixer.h drm/sun4i: add support for Allwinner DE2 mixers 2017-06-01 09:49:54 +02:00
sunxi_engine.h drm/sun4i: abstract a engine type 2017-06-01 09:47:23 +02:00