aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/805-display-0025-drm-imx-hdp-add-hdr10-metadata-property.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-03-21 01:16:48 +0000
committerPaul Spooren <mail@aparcar.org>2022-03-21 11:36:30 +0000
commit3a14580411adfb75f9a44eded9f41245b9e44606 (patch)
treec3002cc1a0948bfedc4475d7276da0b3ebd4775c /target/linux/layerscape/patches-5.4/805-display-0025-drm-imx-hdp-add-hdr10-metadata-property.patch
parent9f9477b2751231d57cdd8c227149b88c93491d93 (diff)
downloadupstream-3a14580411adfb75f9a44eded9f41245b9e44606.tar.gz
upstream-3a14580411adfb75f9a44eded9f41245b9e44606.tar.bz2
upstream-3a14580411adfb75f9a44eded9f41245b9e44606.zip
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'target/linux/layerscape/patches-5.4/805-display-0025-drm-imx-hdp-add-hdr10-metadata-property.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/805-display-0025-drm-imx-hdp-add-hdr10-metadata-property.patch173
1 files changed, 0 insertions, 173 deletions
diff --git a/target/linux/layerscape/patches-5.4/805-display-0025-drm-imx-hdp-add-hdr10-metadata-property.patch b/target/linux/layerscape/patches-5.4/805-display-0025-drm-imx-hdp-add-hdr10-metadata-property.patch
deleted file mode 100644
index 6ce4263a3f..0000000000
--- a/target/linux/layerscape/patches-5.4/805-display-0025-drm-imx-hdp-add-hdr10-metadata-property.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From 7c5c4f891ce4746b52d95d9340c7cae063a48350 Mon Sep 17 00:00:00 2001
-From: Laurentiu Palcu <laurentiu.palcu@nxp.com>
-Date: Mon, 4 Nov 2019 13:18:48 +0200
-Subject: [PATCH] drm/imx/hdp: add hdr10 metadata property
-
-The HDR_OUTPUT_METADATA property is needed in order for userspace to instruct
-the sink to switch to HDR10 mode.
-
-Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
----
- drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c | 72 +++++++++++++++++++++++++
- drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c | 4 ++
- include/drm/bridge/cdns-mhdp-common.h | 1 +
- 3 files changed, 77 insertions(+)
-
---- a/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
-+++ b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
-@@ -170,6 +170,35 @@ static void hdmi_vendor_info_set(struct
- cdns_mhdp_infoframe_set(mhdp, 3, sizeof(buf), buf, HDMI_INFOFRAME_TYPE_VENDOR);
- }
-
-+static void hdmi_drm_info_set(struct cdns_mhdp_device *mhdp)
-+{
-+ struct drm_connector_state *conn_state;
-+ struct hdmi_drm_infoframe frame;
-+ u8 buf[32];
-+ int ret;
-+
-+ conn_state = mhdp->connector.base.state;
-+
-+ if (!conn_state->hdr_output_metadata)
-+ return;
-+
-+ ret = drm_hdmi_infoframe_set_hdr_metadata(&frame, conn_state);
-+ if (ret < 0) {
-+ DRM_DEBUG_KMS("couldn't set HDR metadata in infoframe\n");
-+ return;
-+ }
-+
-+ ret = hdmi_drm_infoframe_pack(&frame, buf + 1, sizeof(buf) - 1);
-+ if (ret < 0) {
-+ DRM_DEBUG_KMS("couldn't pack HDR infoframe\n");
-+ return;
-+ }
-+
-+ buf[0] = 0;
-+ cdns_mhdp_infoframe_set(mhdp, 3, sizeof(buf),
-+ buf, HDMI_INFOFRAME_TYPE_DRM);
-+}
-+
- void cdns_hdmi_mode_set(struct cdns_mhdp_device *mhdp)
- {
- struct drm_display_mode *mode = &mhdp->mode;
-@@ -207,6 +236,8 @@ void cdns_hdmi_mode_set(struct cdns_mhdp
- /* vendor info frame is enable only when HDMI1.4 4K mode */
- hdmi_vendor_info_set(mhdp, mode);
-
-+ hdmi_drm_info_set(mhdp);
-+
- ret = cdns_hdmi_mode_config(mhdp, mode, &mhdp->video_info);
- if (ret < 0) {
- DRM_ERROR("CDN_API_HDMITX_SetVic_blocking ret = %d\n", ret);
-@@ -262,6 +293,40 @@ static int cdns_hdmi_connector_get_modes
- return num_modes;
- }
-
-+static bool blob_equal(const struct drm_property_blob *a,
-+ const struct drm_property_blob *b)
-+{
-+ if (a && b)
-+ return a->length == b->length &&
-+ !memcmp(a->data, b->data, a->length);
-+
-+ return !a == !b;
-+}
-+
-+static int cdns_hdmi_connector_atomic_check(struct drm_connector *connector,
-+ struct drm_atomic_state *state)
-+{
-+ struct drm_connector_state *new_con_state =
-+ drm_atomic_get_new_connector_state(state, connector);
-+ struct drm_connector_state *old_con_state =
-+ drm_atomic_get_old_connector_state(state, connector);
-+ struct drm_crtc *crtc = new_con_state->crtc;
-+ struct drm_crtc_state *new_crtc_state;
-+
-+ if (!blob_equal(new_con_state->hdr_output_metadata,
-+ old_con_state->hdr_output_metadata)) {
-+ 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;
-+ }
-+
-+ return 0;
-+}
-+
- static const struct drm_connector_funcs cdns_hdmi_connector_funcs = {
- .fill_modes = drm_helper_probe_single_connector_modes,
- .detect = cdns_hdmi_connector_detect,
-@@ -273,11 +338,13 @@ static const struct drm_connector_funcs
-
- static const struct drm_connector_helper_funcs cdns_hdmi_connector_helper_funcs = {
- .get_modes = cdns_hdmi_connector_get_modes,
-+ .atomic_check = cdns_hdmi_connector_atomic_check,
- };
-
- static int cdns_hdmi_bridge_attach(struct drm_bridge *bridge)
- {
- struct cdns_mhdp_device *mhdp = bridge->driver_private;
-+ struct drm_mode_config *config = &bridge->dev->mode_config;
- struct drm_encoder *encoder = bridge->encoder;
- struct drm_connector *connector = &mhdp->connector.base;
-
-@@ -289,6 +356,11 @@ 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))
-+ drm_object_attach_property(&connector->base,
-+ config->hdr_output_metadata_property,
-+ 0);
-+
- drm_connector_attach_encoder(connector, encoder);
-
- return 0;
---- a/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c
-+++ b/drivers/gpu/drm/imx/cdn-mhdp-imxdrv.c
-@@ -54,6 +54,7 @@ static const struct drm_encoder_funcs cd
- };
-
- static struct cdns_plat_data imx8mq_hdmi_drv_data = {
-+ .plat_name = "imx8mq-hdmi",
- .bind = cdns_hdmi_bind,
- .unbind = cdns_hdmi_unbind,
- .phy_set = cdns_hdmi_phy_set_imx8mq,
-@@ -61,6 +62,7 @@ static struct cdns_plat_data imx8mq_hdmi
- };
-
- static struct cdns_plat_data imx8mq_dp_drv_data = {
-+ .plat_name = "imx8mq-dp",
- .bind = cdns_dp_bind,
- .unbind = cdns_dp_unbind,
- .phy_set = cdns_dp_phy_set_imx8mq,
-@@ -68,6 +70,7 @@ static struct cdns_plat_data imx8mq_dp_d
- };
-
- static struct cdns_plat_data imx8qm_hdmi_drv_data = {
-+ .plat_name = "imx8qm-hdmi",
- .bind = cdns_hdmi_bind,
- .unbind = cdns_hdmi_unbind,
- .phy_set = cdns_hdmi_phy_set_imx8qm,
-@@ -81,6 +84,7 @@ static struct cdns_plat_data imx8qm_hdmi
- };
-
- static struct cdns_plat_data imx8qm_dp_drv_data = {
-+ .plat_name = "imx8qm-dp",
- .bind = cdns_dp_bind,
- .unbind = cdns_dp_unbind,
- .phy_set = cdns_dp_phy_set_imx8qm,
---- a/include/drm/bridge/cdns-mhdp-common.h
-+++ b/include/drm/bridge/cdns-mhdp-common.h
-@@ -652,6 +652,7 @@ struct cdns_plat_data {
- int bus_type;
- int video_format;
- char is_dp;
-+ char *plat_name;
- };
-
- struct cdns_mhdp_device {