From: Daniel Vetter Date: Fri, 1 Nov 2013 09:50:23 +0000 (+0100) Subject: drm/i915: Enable DP port CRC for the "auto" source on g4x/vlv X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=26756809583c1023dcbc896261105c1e289d262b;p=linux-beck.git drm/i915: Enable DP port CRC for the "auto" source on g4x/vlv Now that DP port CRCs are stable, we can use it for generic CRC tests. Yay, the auto CRC source should now work everywhere! Reviewed-by: Damien Lespiau Signed-off-by: Daniel Vetter --- diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 82c58eb1aa66..7008aacfc3c9 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c @@ -1990,6 +1990,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_device *dev, enum pipe pipe, { struct intel_encoder *encoder; struct intel_crtc *crtc; + struct intel_digital_port *dig_port; int ret = 0; *source = INTEL_PIPE_CRC_SOURCE_PIPE; @@ -2011,8 +2012,22 @@ static int i9xx_pipe_crc_auto_source(struct drm_device *dev, enum pipe pipe, break; case INTEL_OUTPUT_DISPLAYPORT: case INTEL_OUTPUT_EDP: - /* We can't get stable CRCs for DP ports somehow. */ - ret = -ENODEV; + dig_port = enc_to_dig_port(&encoder->base); + switch (dig_port->port) { + case PORT_B: + *source = INTEL_PIPE_CRC_SOURCE_DP_B; + break; + case PORT_C: + *source = INTEL_PIPE_CRC_SOURCE_DP_C; + break; + case PORT_D: + *source = INTEL_PIPE_CRC_SOURCE_DP_D; + break; + default: + WARN(1, "nonexisting DP port %c\n", + port_name(dig_port->port)); + break; + } break; } }