drm/vc4: kms: Don't disable the muxing of an active CRTC 06/246706/1
authorMaxime Ripard <maxime@cerno.tech>
Tue, 3 Nov 2020 08:09:17 +0000 (17:09 +0900)
committerHoegeun Kwon <hoegeun.kwon@samsung.com>
Tue, 3 Nov 2020 08:09:17 +0000 (17:09 +0900)
commit27140845d2a14c4b3e94802fd6ff750fb30d48eb
tree85379dc52e8900288f5b0fbd51c18916b7caf18a
parent5a8a9828f9ee1fca4b545cb0eba095c7143da937
drm/vc4: kms: Don't disable the muxing of an active CRTC

The current HVS muxing code will consider the CRTCs in a given state to
setup their muxing in the HVS, and disable the other CRTCs muxes.

However, it's valid to only update a single CRTC with a state, and in this
situation we would mux out a CRTC that was enabled but left untouched by
the new state.

Fix this by setting a flag on the CRTC state when the muxing has been
changed, and only change the muxing configuration when that flag is there.

Fixes: 87ebcd42fb7b ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
[hoegeun.kwon: Needed to fix page flip issue of dual hdmi and for enable
force hotplug configure. ]
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Change-Id: I5c9fb79c9ad07caa8fe77ea724f35c955df6edcf
drivers/gpu/drm/vc4/vc4_drv.h
drivers/gpu/drm/vc4/vc4_kms.c