diff options
author | Rodrigo Vivi <rodrigo.vivi@gmail.com> | 2014-09-15 19:24:03 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-09-19 08:41:20 -0400 |
commit | bda0381e72028708b37695bf7d5b18ec956cf0a2 (patch) | |
tree | 733b0a965da30b7a829f66399635a79674b60c9a /drivers/gpu/drm | |
parent | 40bae736116233a7e46711a9d28fc72d0e7d33eb (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/drm')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 6 |
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; |