]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/nouveau: set RGB quantization range to FULL
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Wed, 10 Nov 2021 15:58:42 +0000 (16:58 +0100)
committerKarol Herbst <kherbst@redhat.com>
Fri, 12 Nov 2021 22:46:05 +0000 (23:46 +0100)
The nouveau driver outputs full range RGB, but the AVI InfoFrame just says
'Default' instead of 'Full'.

Call drm_hdmi_avi_infoframe_quant_range to fill in the quantization field
of the AVI InfoFrame correctly. Now displays that advertise RGB Selectable
Quantization Range in their EDID will understand that full range is
transmitted by the HDMI output. This is consistent to how the Nvidia's
driver behaves.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/e9a4a58a-0500-50f6-58cc-938a253cedeb@xs4all.nl
drivers/gpu/drm/nouveau/dispnv50/disp.c

index 7b8992ea6fd65e6862be121ce53bc9936b46868a..23fa9ecc22967b250203a8a0c273fbe09b3faf49 100644 (file)
@@ -852,6 +852,9 @@ nv50_hdmi_enable(struct drm_encoder *encoder, struct nouveau_crtc *nv_crtc,
        ret = drm_hdmi_avi_infoframe_from_display_mode(&avi_frame.avi,
                                                       &nv_connector->base, mode);
        if (!ret) {
+               drm_hdmi_avi_infoframe_quant_range(&avi_frame.avi,
+                                                  &nv_connector->base, mode,
+                                                  HDMI_QUANTIZATION_RANGE_FULL);
                /* We have an AVI InfoFrame, populate it to the display */
                args.pwr.avi_infoframe_length
                        = hdmi_infoframe_pack(&avi_frame, args.infoframes, 17);