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)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 28 Aug 2015 19:04:16 +0000 (15:04 -0400)
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>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/radeon_audio.c

index fbc8d88..2c02e99 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));