On Thu, Jan 12, 2012 at 21:17, Jesse Barnes <span dir="ltr"><<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Thu, 12 Jan 2012 21:13:40 +0100<br>
<div><div class="h5">Vincent Vanackere <<a href="mailto:vincent.vanackere@gmail.com">vincent.vanackere@gmail.com</a>> wrote:<br>
<br>
> On Thu, Jan 12, 2012 at 20:57, Jesse Barnes <<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>>wrote:<br>
><br>
> > 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><br>
> > >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<br>
> > 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<br>
> > latest<br>
> > > > > tip at a429638cac1e5c656818a45aaff78df7b743004e and the problem is<br>
> > 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>
> > 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>
> ><br>
> > --<br>
> > Jesse Barnes, Intel Open Source Technology Center<br>
> ><br>
> > diff --git a/drivers/gpu/drm/i915/intel_display.c<br>
> > 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<br>
> > *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<br>
> > *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<br>
> > *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<br>
> > *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>
> ><br>
><br>
> Will try. In the meantime I'm attaching the dmesg of a faulty kernel using<br>
> drm.debug=4 in case it helps.<br>
<br>
</div></div>Another one to try... need to check if we're masking out the port<br>
selection bits correctly...<br>
<div class="im"><br>
--<br>
Jesse Barnes, Intel Open Source Technology Center<br>
<br>
</div>@@ -5808,12 +5814,15 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,<br>
if (is_lvds) {<br>
temp = I915_READ(PCH_LVDS);<br>
temp |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP;<br>
- if (HAS_PCH_CPT(dev))<br>
+ if (HAS_PCH_CPT(dev)) {<br>
+ temp &= ~PORT_TRANS_SEL_MASK;<br>
temp |= PORT_TRANS_SEL_CPT(pipe);<br>
- else if (pipe == 1)<br>
- temp |= LVDS_PIPEB_SELECT;<br>
- else<br>
- temp &= ~LVDS_PIPEB_SELECT;<br>
+ } else {<br>
+ if (pipe == 1)<br>
+ temp |= LVDS_PIPEB_SELECT;<br>
+ else<br>
+ temp &= ~LVDS_PIPEB_SELECT;<br>
+ }<br>
<br>
/* set the corresponsding LVDS_BORDER bit */<br>
temp |= dev_priv->lvds_border_bits;<br>
<br>
</blockquote></div><br>Against which tree do these patches apply ?<br>