Merge branch 'drm-intel-fixes' into drm-intel-next
authorKeith Packard <keithp@keithp.com>
Wed, 3 Aug 2011 17:41:19 +0000 (10:41 -0700)
committerKeith Packard <keithp@keithp.com>
Wed, 3 Aug 2011 17:41:19 +0000 (10:41 -0700)
drivers/gpu/drm/i915/intel_dp.c

index 84bfdd1434f5c34c767bd97f4fceb10c77fc2228..0feae908bb37f7bc8cbc642ea12f96a6cabf467a 100644 (file)
@@ -317,9 +317,17 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
        else
                precharge = 5;
 
-       if (I915_READ(ch_ctl) & DP_AUX_CH_CTL_SEND_BUSY) {
-               DRM_ERROR("dp_aux_ch not started status 0x%08x\n",
-                         I915_READ(ch_ctl));
+       /* Try to wait for any previous AUX channel activity */
+       for (try = 0; try < 3; try++) {
+               status = I915_READ(ch_ctl);
+               if ((status & DP_AUX_CH_CTL_SEND_BUSY) == 0)
+                       break;
+               msleep(1);
+       }
+
+       if (try == 3) {
+               WARN(1, "dp_aux_ch not started status 0x%08x\n",
+                    I915_READ(ch_ctl));
                return -EBUSY;
        }
 
@@ -1690,7 +1698,6 @@ intel_dp_detect(struct drm_connector *connector, bool force)
        struct edid *edid = NULL;
 
        intel_dp->has_audio = false;
-       memset(intel_dp->dpcd, 0, sizeof(intel_dp->dpcd));
 
        if (HAS_PCH_SPLIT(dev))
                status = ironlake_dp_detect(intel_dp);
This page took 0.030608 seconds and 5 git commands to generate.