On Wed, May 30, 2012 at 08:39:13AM -0700, Linus Torvalds wrote:
On Wed, May 30, 2012 at 1:27 AM, Daniel Vetter daniel@ffwll.ch wrote:
Ok, Chris couldn't reproduce this on his mba. Can you please boot with drm.debug=0xe, reproduce the noise and then attach the full dmesg?
Hmm. Now *I* can't reproduce it either.
I have updated my system in the meantime, so maybe this is related to that. However, I suspect it's more likely that it's some race condition, because when I got it, I got a *lot* of it, but they were all very tightly bunched together:
[ 1588.996413] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1588.996650] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.000983] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.001225] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.005975] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.006218] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.010980] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.011224] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.015976] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.016211] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.020986] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0() [ 1589.021232] WARNING: at drivers/gpu/drm/i915/intel_dp.c:350 intel_dp_check_edp+0x5d/0xb0()
ie that's 12 of those warnings (each of them with that huge backtrace etc), but they are all within 0.03 seconds of each other. So I suspect it needs to hit some particular timing window, and I was just (un)lucky.
Because when I try it now with DRM debugging, I can't hit it. And just to make sure, I re-did the test without debugging too (in case the debugging would have changed timing), but can't reproduce it that way either.
Meh, I've been totally blind. Note to self: Next time around actually look at the backtrace. And I dunno how that escaped our dear QA that long ...
Below patch should shut this up (and might even fix an edp panel not getting up again after having been switched off).
Yours, Daniel ---
From c56769c92f684d708b05052ec4f4555ea25da4de Mon Sep 17 00:00:00 2001
From: Daniel Vetter daniel.vetter@ffwll.ch Date: Thu, 7 Jun 2012 08:59:49 +0200 Subject: [PATCH] drm/i915: enable edp vdd in intel_dp_detect
We need this for dp aux communication. This issue can fill the dmesg with WARN spam when the panel is disable (e.g. while reconfiguring the mode or while resuming).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50808 Reported-by: Linus Torvalds torvalds@linux-foundation.org Bugreport: http://permalink.gmane.org/gmane.comp.video.dri.devel/69695 Cc: stable@vger.kernel.org Signed-Off-by: Daniel Vetter daniel.vetter@ffwll.ch --- drivers/gpu/drm/i915/intel_dp.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 296cfc2..9a7edcf 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -2165,6 +2165,7 @@ intel_dp_detect(struct drm_connector *connector, bool force) if (status != connector_status_connected) return status;
+ ironlake_edp_panel_vdd_on(intel_dp); intel_dp_probe_oui(intel_dp);
if (intel_dp->force_audio != HDMI_AUDIO_AUTO) { @@ -2177,6 +2178,7 @@ intel_dp_detect(struct drm_connector *connector, bool force) kfree(edid); } } + ironlake_edp_panel_vdd_off(intel_dp, false);
return connector_status_connected; }