aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/805-display-0026-drm-imx-hdp-add-colorspace-property.patch
blob: 40d956ccc30bf1cb6a45875b4b7405f82518f684 (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
35
36
37
38
39
From 55ebf12c54a53319d6a890eb499b68565242c3c4 Mon Sep 17 00:00:00 2001
From: Laurentiu Palcu <laurentiu.palcu@nxp.com>
Date: Thu, 7 Nov 2019 15:09:11 +0200
Subject: [PATCH] drm/imx/hdp: add colorspace property

iMX8MQ has the ability to adjust the DCSS output pipe gamut and nonlinearity
depending on the HDMI connector capability. Userspace can explicitly set this
property if it decides, based on EDID parsing, that the sink supports REC.2020
and it wants to switch when it plays HDR10 content.

Otherwise, the kernel will use the default settings specified in the HDMI
specifications.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
---
 drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
@@ -356,11 +356,17 @@ static int cdns_hdmi_bridge_attach(struc
 	drm_connector_init(bridge->dev, connector, &cdns_hdmi_connector_funcs,
 			   DRM_MODE_CONNECTOR_HDMIA);
 
-	if (!strncmp("imx8mq-hdmi", mhdp->plat_data->plat_name, 11))
+	if (!strncmp("imx8mq-hdmi", mhdp->plat_data->plat_name, 11)) {
 		drm_object_attach_property(&connector->base,
 					   config->hdr_output_metadata_property,
 					   0);
 
+		if (!drm_mode_create_colorspace_property(connector))
+			drm_object_attach_property(&connector->base,
+						connector->colorspace_property,
+						0);
+	}
+
 	drm_connector_attach_encoder(connector, encoder);
 
 	return 0;