<br><br><div class="gmail_quote">On Thu, Jan 12, 2012 at 20:57, Jesse Barnes <span dir="ltr"><<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On Thu, 12 Jan 2012 17:29:38 -0200<br>
Eugeni Dodonov <<a href="mailto:eugeni@dodonov.net">eugeni@dodonov.net</a>> wrote:<br>
<br>
> On Thu, Jan 12, 2012 at 17:25, Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>>wrote:<br>
><br>
> > On Thu, 12 Jan 2012 20:08:59 +0100<br>
> > Vincent Vanackere <<a href="mailto:vincent.vanackere@gmail.com">vincent.vanackere@gmail.com</a>> wrote:<br>
> > > > Thanks for the report... do you also have:<br>
> > > ><br>
> > > > commit 7a4198664d46b87025a64530f1530ab2bea54c19<br>
> > > > Author: Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>><br>
> > > > Date:   Tue Nov 15 10:28:53 2011 -0800<br>
> > > ><br>
> > > >    drm/i915: don't disable a PCH DPLL that's in use<br>
> > > ><br>
> > > ><br>
> > > > commit d8e70a254d8f2da141006e496a51502b79115e80<br>
> > > > Author: Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>><br>
> > > > Date:   Tue Nov 15 10:28:54 2011 -0800<br>
> > > ><br>
> > > >    drm/i915: only set the intel_crtc DPMS mode to on if the mode set<br>
> > > > succeeded<br>
> > > ><br>
> > > > in your tree?  Those are needed to fix some 3 pipe related bugs.<br>
> > > ><br>
> > > > --<br>
> > > > Jesse Barnes, Intel Open Source Technology Center<br>
> > > ><br>
> > ><br>
> > > Yes, these commits were present. To double-check I just tested the latest<br>
> > > tip at a429638cac1e5c656818a45aaff78df7b743004e and the problem is still<br>
> > > there.<br>
> ><br>
> > Stefan, you have the same machine?  I wonder if it's an eDP config; my<br>
> > t420 here works ok with current bits, but it uses LVDS.<br>
> ><br>
><br>
> If you are using eDP, you might be facing<br>
> <a href="https://bugs.freedesktop.org/show_bug.cgi?id=42263" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=42263</a> or<br>
> <a href="https://bugs.freedesktop.org/show_bug.cgi?id=42278" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=42278</a>.<br>
><br>
> Could you try with patch mentioned at<br>
> <a href="https://bugs.freedesktop.org/show_bug.cgi?id=42263" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=42263</a> reverted?<br>
<br>
</div></div>Also can you try this patch as a sanity check?  You may need to set up<br>
netconsole to capture the BUG_ON if you hit it.<br>
<div class="im"><br>
--<br>
Jesse Barnes, Intel Open Source Technology Center<br>
<br>
</div>diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c<br>
index 29743de..d01f403 100644<br>
--- a/drivers/gpu/drm/i915/intel_display.c<br>
+++ b/drivers/gpu/drm/i915/intel_display.c<br>
@@ -2921,6 +2921,7 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)<br>
                        temp &= ~(TRANSB_DPLLB_SEL);<br>
                        temp |= (TRANSB_DPLL_ENABLE | TRANSB_DPLLB_SEL);<br>
                } else if (pipe == 2) {<br>
+                       BUG_ON(!IS_IVYBRIDGE(dev));<br>
                        temp &= ~(TRANSC_DPLLB_SEL);<br>
                        temp |= (TRANSC_DPLL_ENABLE | transc_sel);<br>
                }<br>
@@ -3114,6 +3115,7 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)<br>
                        temp &= ~(TRANSB_DPLL_ENABLE | TRANSB_DPLLB_SEL);<br>
                        break;<br>
                case 2:<br>
+                       BUG_ON(!IS_IVYBRIDGE(dev));<br>
                        /* C shares PLL A or B */<br>
                        temp &= ~(TRANSC_DPLL_ENABLE | TRANSC_DPLLB_SEL);<br>
                        break;<br>
@@ -3126,6 +3128,8 @@ static void ironlake_crtc_disable(struct drm_crtc *crtc)<br>
        /* disable PCH DPLL */<br>
        if (!intel_crtc->no_pll)<br>
                intel_disable_pch_pll(dev_priv, pipe);<br>
+       else<br>
+               BUG_ON(!IS_IVYBRIDGE(dev));<br>
<br>
        /* Switch from PCDclk to Rawclk */<br>
        reg = FDI_RX_CTL(pipe);<br>
@@ -5787,6 +5791,8 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,<br>
                        udelay(150);<br>
                }<br>
        } else {<br>
+               BUG_ON(!IS_IVYBRIDGE(dev));<br>
+<br>
                if (dpll == (I915_READ(PCH_DPLL(0)) & 0x7fffffff) &&<br>
                    fp == I915_READ(PCH_FP0(0))) {<br>
                        intel_crtc->use_pll_a = true;<br>
<br>
</blockquote></div><br><br>Will try. In the meantime I'm attaching the dmesg of a faulty kernel using drm.debug=4 in case it helps.<br><br><br>