blob: c63ae916838e7f2dc326222046a15e60bb9462d4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
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;
|