]> git.hungrycats.org Git - linux/commitdiff
drm/radeon: fix HDMI quantization_range for pre-DCE5 asics
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 27 Aug 2015 13:52:22 +0000 (09:52 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Sep 2015 17:05:26 +0000 (10:05 -0700)
commit 86b7709d48f0df8796bddd7e1ce45c6fb7a7c6ec upstream.

Support for output_csc is only available on DCE5 and newer so
don't mess with the HDMI quantization_range on pre-DCE5 asics.

bug:
https://bugs.freedesktop.org/show_bug.cgi?id=83226

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/radeon_audio.c

index 59b3d3221294c8e117e832b856ca995ce2039636..d77dd1430d58b644a13cbdb900c45279ffe222de 100644 (file)
@@ -522,13 +522,15 @@ static int radeon_audio_set_avi_packet(struct drm_encoder *encoder,
                return err;
        }
 
-       if (drm_rgb_quant_range_selectable(radeon_connector_edid(connector))) {
-               if (radeon_encoder->output_csc == RADEON_OUTPUT_CSC_TVRGB)
-                       frame.quantization_range = HDMI_QUANTIZATION_RANGE_LIMITED;
-               else
-                       frame.quantization_range = HDMI_QUANTIZATION_RANGE_FULL;
-       } else {
-               frame.quantization_range = HDMI_QUANTIZATION_RANGE_DEFAULT;
+       if (radeon_encoder->output_csc != RADEON_OUTPUT_CSC_BYPASS) {
+               if (drm_rgb_quant_range_selectable(radeon_connector_edid(connector))) {
+                       if (radeon_encoder->output_csc == RADEON_OUTPUT_CSC_TVRGB)
+                               frame.quantization_range = HDMI_QUANTIZATION_RANGE_LIMITED;
+                       else
+                               frame.quantization_range = HDMI_QUANTIZATION_RANGE_FULL;
+               } else {
+                       frame.quantization_range = HDMI_QUANTIZATION_RANGE_DEFAULT;
+               }
        }
 
        err = hdmi_avi_infoframe_pack(&frame, buffer, sizeof(buffer));