drm/vc4_hdmi: Force a modeset when Broadcast RGB setting changes

Without this the change is not visible until the next modeset

Signed-off-by: Dom Cobley <popcornmix@gmail.com>
This commit is contained in:
Dom Cobley
2022-05-05 18:50:04 +01:00
committed by popcornmix
parent 427c6bd883
commit 2d80ef9986

View File

@@ -345,14 +345,17 @@ static int vc4_hdmi_connector_atomic_check(struct drm_connector *connector,
{ {
struct drm_connector_state *old_state = struct drm_connector_state *old_state =
drm_atomic_get_old_connector_state(state, connector); drm_atomic_get_old_connector_state(state, connector);
struct vc4_hdmi_connector_state *old_vc4_state = conn_state_to_vc4_hdmi_conn_state(old_state);
struct drm_connector_state *new_state = struct drm_connector_state *new_state =
drm_atomic_get_new_connector_state(state, connector); drm_atomic_get_new_connector_state(state, connector);
struct vc4_hdmi_connector_state *new_vc4_state = conn_state_to_vc4_hdmi_conn_state(new_state);
struct drm_crtc *crtc = new_state->crtc; struct drm_crtc *crtc = new_state->crtc;
if (!crtc) if (!crtc)
return 0; return 0;
if (old_state->colorspace != new_state->colorspace || if (old_state->colorspace != new_state->colorspace ||
old_vc4_state->broadcast_rgb != new_vc4_state->broadcast_rgb ||
!drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) { !drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) {
struct drm_crtc_state *crtc_state; struct drm_crtc_state *crtc_state;