diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0531-drm-vc4-hdmi-Signal-the-proper-colorimetry-info-in-t.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.10/950-0531-drm-vc4-hdmi-Signal-the-proper-colorimetry-info-in-t.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0531-drm-vc4-hdmi-Signal-the-proper-colorimetry-info-in-t.patch b/target/linux/bcm27xx/patches-5.10/950-0531-drm-vc4-hdmi-Signal-the-proper-colorimetry-info-in-t.patch new file mode 100644 index 0000000000..25ad2a2bb0 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.10/950-0531-drm-vc4-hdmi-Signal-the-proper-colorimetry-info-in-t.patch @@ -0,0 +1,50 @@ +From c1e98dfad80bdb512cd04c9ed5d989a5f0f6b13d Mon Sep 17 00:00:00 2001 +From: Maxime Ripard <maxime@cerno.tech> +Date: Fri, 9 Apr 2021 17:16:42 +0200 +Subject: [PATCH] drm/vc4: hdmi: Signal the proper colorimetry info in + the infoframe + +Our driver while supporting HDR didn't send the proper colorimetry info +in the AVI infoframe. + +Let's add the property needed so that the userspace can let us know what +the colorspace is supposed to be. + +Signed-off-by: Maxime Ripard <maxime@cerno.tech> +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -235,7 +235,8 @@ static int vc4_hdmi_connector_atomic_che + if (!crtc) + return 0; + +- if (!drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) { ++ if (old_state->colorspace != new_state->colorspace || ++ !drm_connector_atomic_hdr_metadata_equal(old_state, new_state)) { + struct drm_crtc_state *crtc_state; + + crtc_state = drm_atomic_get_crtc_state(state, crtc); +@@ -325,6 +326,11 @@ static int vc4_hdmi_connector_init(struc + if (ret) + return ret; + ++ ret = drm_mode_create_hdmi_colorspace_property(connector); ++ if (ret) ++ return ret; ++ ++ drm_connector_attach_colorspace_property(connector); + drm_connector_attach_tv_margin_properties(connector); + drm_connector_attach_max_bpc_property(connector, 8, 12); + +@@ -439,7 +445,7 @@ static void vc4_hdmi_set_avi_infoframe(s + vc4_encoder->limited_rgb_range ? + HDMI_QUANTIZATION_RANGE_LIMITED : + HDMI_QUANTIZATION_RANGE_FULL); +- ++ drm_hdmi_avi_infoframe_colorspace(&frame.avi, cstate); + drm_hdmi_avi_infoframe_bars(&frame.avi, cstate); + + vc4_hdmi_write_infoframe(encoder, &frame); |