[Intel-gfx] [v2 2/2] drm/i915: Attach colorspace property and enable modeset
Sharma, Shashank
shashank.sharma at intel.com
Sat Nov 3 06:21:15 UTC 2018
Regards
Shashank
On 10/31/2018 5:35 PM, Uma Shankar wrote:
> This patch attaches the colorspace connector property to the
> hdmi connector. Based on colorspace change, modeset will be
> triggered to switch to new colorspace.
>
> Based on colorspace property value create an infoframe
> with appropriate colorspace. This can be used to send an
> infoframe packet with proper colorspace value set which
> will help to enable wider color gamut like BT2020 on sink.
>
> v2: Merged the changes of creating infoframe as well to this
> patch as per Maarten's suggestion.
>
> Signed-off-by: Uma Shankar <uma.shankar at intel.com>
> ---
> drivers/gpu/drm/i915/intel_atomic.c | 1 +
> drivers/gpu/drm/i915/intel_hdmi.c | 5 +++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_atomic.c b/drivers/gpu/drm/i915/intel_atomic.c
> index a5a2c8f..35ef70a 100644
> --- a/drivers/gpu/drm/i915/intel_atomic.c
> +++ b/drivers/gpu/drm/i915/intel_atomic.c
> @@ -125,6 +125,7 @@ int intel_digital_connector_atomic_check(struct drm_connector *conn,
> */
> if (new_conn_state->force_audio != old_conn_state->force_audio ||
> new_conn_state->broadcast_rgb != old_conn_state->broadcast_rgb ||
> + new_state->colorspace != old_state->colorspace ||
> new_conn_state->base.picture_aspect_ratio != old_conn_state->base.picture_aspect_ratio ||
> new_conn_state->base.content_type != old_conn_state->base.content_type ||
> new_conn_state->base.scaling_mode != old_conn_state->base.scaling_mode)
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index 129b880..8a41fb3 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -486,6 +486,8 @@ static void intel_hdmi_set_avi_infoframe(struct intel_encoder *encoder,
> else
> frame.avi.colorspace = HDMI_COLORSPACE_RGB;
>
> + frame.avi.extended_colorimetry = conn_state->colorspace;
> +
We must also set the date byte 2 bits C1-C0 (colorimetry part) to
indicate the use of extended colorimetry bits, so that monitor will
refer to extended colorimetry data, else it wont even bother looking at it:
Extended Colorimetry Information Valid (colorimetry indicated in bits
EC0, EC1, and EC2)
Its right now set to dafault 0-0 I guess, indicating No data We should
also set it to a default value now, when we have started bothering about
gamut.
Regards
Shashank
> drm_hdmi_avi_infoframe_quant_range(&frame.avi, adjusted_mode,
> crtc_state->limited_color_range ?
> HDMI_QUANTIZATION_RANGE_LIMITED :
> @@ -2125,6 +2127,9 @@ static void intel_hdmi_destroy(struct drm_connector *connector)
> intel_attach_broadcast_rgb_property(connector);
> intel_attach_aspect_ratio_property(connector);
> drm_connector_attach_content_type_property(connector);
> + drm_object_attach_property(&connector->base,
> + connector->dev->mode_config.colorspace_property,
> + COLORIMETRY_ITU_709);
> connector->state->picture_aspect_ratio = HDMI_PICTURE_ASPECT_NONE;
> }
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx/attachments/20181103/3dcd79c5/attachment.html>
More information about the Intel-gfx
mailing list