aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/805-display-0026-drm-imx-hdp-add-colorspace-property.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/805-display-0026-drm-imx-hdp-add-colorspace-property.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/805-display-0026-drm-imx-hdp-add-colorspace-property.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/805-display-0026-drm-imx-hdp-add-colorspace-property.patch b/target/linux/layerscape/patches-5.4/805-display-0026-drm-imx-hdp-add-colorspace-property.patch
new file mode 100644
index 0000000000..40d956ccc3
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/805-display-0026-drm-imx-hdp-add-colorspace-property.patch
@@ -0,0 +1,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;