aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorRodrigo Vivi <rodrigo.vivi@gmail.com>2014-09-15 19:24:03 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-09-19 08:41:20 -0400
commitbda0381e72028708b37695bf7d5b18ec956cf0a2 (patch)
tree733b0a965da30b7a829f66399635a79674b60c9a /drivers/gpu
parent40bae736116233a7e46711a9d28fc72d0e7d33eb (diff)
drm/i915: Use EIO instead of EAGAIN for sink CRC error.
If something while getting panel CRC this means that probably hw I/O error so hw is busted and try again shouldn't help much. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 72bf533596c8..59754451ae50 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -3800,21 +3800,21 @@ int intel_dp_sink_crc(struct intel_dp *intel_dp, u8 *crc)
3800 u8 buf[1]; 3800 u8 buf[1];
3801 3801
3802 if (drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, buf) < 0) 3802 if (drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_SINK_MISC, buf) < 0)
3803 return -EAGAIN; 3803 return -EIO;
3804 3804
3805 if (!(buf[0] & DP_TEST_CRC_SUPPORTED)) 3805 if (!(buf[0] & DP_TEST_CRC_SUPPORTED))
3806 return -ENOTTY; 3806 return -ENOTTY;
3807 3807
3808 if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 3808 if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK,
3809 DP_TEST_SINK_START) < 0) 3809 DP_TEST_SINK_START) < 0)
3810 return -EAGAIN; 3810 return -EIO;
3811 3811
3812 /* Wait 2 vblanks to be sure we will have the correct CRC value */ 3812 /* Wait 2 vblanks to be sure we will have the correct CRC value */
3813 intel_wait_for_vblank(dev, intel_crtc->pipe); 3813 intel_wait_for_vblank(dev, intel_crtc->pipe);
3814 intel_wait_for_vblank(dev, intel_crtc->pipe); 3814 intel_wait_for_vblank(dev, intel_crtc->pipe);
3815 3815
3816 if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0) 3816 if (drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_CRC_R_CR, crc, 6) < 0)
3817 return -EAGAIN; 3817 return -EIO;
3818 3818
3819 drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0); 3819 drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_SINK, 0);
3820 return 0; 3820 return 0;