You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
From da02a33c186db04986166659caafb0c2da5bf7f0 Mon Sep 17 00:00:00 2001
|
|
From: Laurentiu Palcu <laurentiu.palcu@nxp.com>
|
|
Date: Fri, 15 Nov 2019 10:00:55 +0200
|
|
Subject: [PATCH] drm/imx/hdp: force a mode set when colorspace is changed
|
|
|
|
If the userspace changes the connector Colorspace property, we need to force a
|
|
modeset, so that the entire pipeline is properly configured.
|
|
|
|
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
|
|
---
|
|
drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c | 6 ++++--
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
|
|
+++ b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
|
|
@@ -314,14 +314,16 @@ static int cdns_hdmi_connector_atomic_ch
|
|
struct drm_crtc_state *new_crtc_state;
|
|
|
|
if (!blob_equal(new_con_state->hdr_output_metadata,
|
|
- old_con_state->hdr_output_metadata)) {
|
|
+ old_con_state->hdr_output_metadata) ||
|
|
+ new_con_state->colorspace != old_con_state->colorspace) {
|
|
new_crtc_state = drm_atomic_get_crtc_state(state, crtc);
|
|
if (IS_ERR(new_crtc_state))
|
|
return PTR_ERR(new_crtc_state);
|
|
|
|
new_crtc_state->mode_changed =
|
|
!new_con_state->hdr_output_metadata ||
|
|
- !old_con_state->hdr_output_metadata;
|
|
+ !old_con_state->hdr_output_metadata ||
|
|
+ new_con_state->colorspace != old_con_state->colorspace;
|
|
}
|
|
|
|
return 0;
|