[Intel-gfx] I915 regression : black screen at boot / Sandybridge Mobile (GT2)
Vincent Vanackere
vincent.vanackere at gmail.com
Thu Jan 12 21:37:11 CET 2012
On Thu, Jan 12, 2012 at 21:17, Jesse Barnes <jbarnes at virtuousgeek.org>wrote:
> On Thu, 12 Jan 2012 21:13:40 +0100
> Vincent Vanackere <vincent.vanackere at gmail.com> wrote:
>
> > On Thu, Jan 12, 2012 at 20:57, Jesse Barnes <jbarnes at virtuousgeek.org
> >wrote:
> >
> > > On Thu, 12 Jan 2012 17:29:38 -0200
> > > Eugeni Dodonov <eugeni at dodonov.net> wrote:
> > >
> > > > On Thu, Jan 12, 2012 at 17:25, Jesse Barnes <
> jbarnes at virtuousgeek.org
> > > >wrote:
> > > >
> > > > > On Thu, 12 Jan 2012 20:08:59 +0100
> > > > > Vincent Vanackere <vincent.vanackere at gmail.com> wrote:
> > > > > > > Thanks for the report... do you also have:
> > > > > > >
> > > > > > > commit 7a4198664d46b87025a64530f1530ab2bea54c19
> > > > > > > Author: Jesse Barnes <jbarnes at virtuousgeek.org>
> > > > > > > Date: Tue Nov 15 10:28:53 2011 -0800
> > > > > > >
> > > > > > > drm/i915: don't disable a PCH DPLL that's in use
> > > > > > >
> > > > > > >
> > > > > > > commit d8e70a254d8f2da141006e496a51502b79115e80
> > > > > > > Author: Jesse Barnes <jbarnes at virtuousgeek.org>
> > > > > > > Date: Tue Nov 15 10:28:54 2011 -0800
> > > > > > >
> > > > > > > drm/i915: only set the intel_crtc DPMS mode to on if the
> mode
> > > set
> > > > > > > succeeded
> > > > > > >
> > > > > > > in your tree? Those are needed to fix some 3 pipe related
> bugs.
> > > > > > >
> > > > > > > --
> > > > > > > Jesse Barnes, Intel Open Source Technology Center
> > > > > > >
> > > > > >
> > > > > > Yes, these commits were present. To double-check I just tested
> the
> > > latest
> > > > > > tip at a429638cac1e5c656818a45aaff78df7b743004e and the problem
> is
> > > still
> > > > > > there.
> > > > >
> > > > > Stefan, you have the same machine? I wonder if it's an eDP
> config; my
> > > > > t420 here works ok with current bits, but it uses LVDS.
> > > > >
> > > >
> > > > If you are using eDP, you might be facing
> > > > https://bugs.freedesktop.org/show_bug.cgi?id=42263 or
> > > > https://bugs.freedesktop.org/show_bug.cgi?id=42278.
> > > >
> > > > Could you try with patch mentioned at
> > > > https://bugs.freedesktop.org/show_bug.cgi?id=42263 reverted?
> > >
> > > Also can you try this patch as a sanity check? You may need to set up
> > > netconsole to capture the BUG_ON if you hit it.
> > >
> > > --
> > > Jesse Barnes, Intel Open Source Technology Center
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_display.c
> > > b/drivers/gpu/drm/i915/intel_display.c
> > > index 29743de..d01f403 100644
> > > --- a/drivers/gpu/drm/i915/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/intel_display.c
> > > @@ -2921,6 +2921,7 @@ static void ironlake_pch_enable(struct drm_crtc
> > > *crtc)
> > > temp &= ~(TRANSB_DPLLB_SEL);
> > > temp |= (TRANSB_DPLL_ENABLE | TRANSB_DPLLB_SEL);
> > > } else if (pipe == 2) {
> > > + BUG_ON(!IS_IVYBRIDGE(dev));
> > > temp &= ~(TRANSC_DPLLB_SEL);
> > > temp |= (TRANSC_DPLL_ENABLE | transc_sel);
> > > }
> > > @@ -3114,6 +3115,7 @@ static void ironlake_crtc_disable(struct drm_crtc
> > > *crtc)
> > > temp &= ~(TRANSB_DPLL_ENABLE |
> TRANSB_DPLLB_SEL);
> > > break;
> > > case 2:
> > > + BUG_ON(!IS_IVYBRIDGE(dev));
> > > /* C shares PLL A or B */
> > > temp &= ~(TRANSC_DPLL_ENABLE |
> TRANSC_DPLLB_SEL);
> > > break;
> > > @@ -3126,6 +3128,8 @@ static void ironlake_crtc_disable(struct drm_crtc
> > > *crtc)
> > > /* disable PCH DPLL */
> > > if (!intel_crtc->no_pll)
> > > intel_disable_pch_pll(dev_priv, pipe);
> > > + else
> > > + BUG_ON(!IS_IVYBRIDGE(dev));
> > >
> > > /* Switch from PCDclk to Rawclk */
> > > reg = FDI_RX_CTL(pipe);
> > > @@ -5787,6 +5791,8 @@ static int ironlake_crtc_mode_set(struct drm_crtc
> > > *crtc,
> > > udelay(150);
> > > }
> > > } else {
> > > + BUG_ON(!IS_IVYBRIDGE(dev));
> > > +
> > > if (dpll == (I915_READ(PCH_DPLL(0)) & 0x7fffffff) &&
> > > fp == I915_READ(PCH_FP0(0))) {
> > > intel_crtc->use_pll_a = true;
> > >
> > >
> >
> > Will try. In the meantime I'm attaching the dmesg of a faulty kernel
> using
> > drm.debug=4 in case it helps.
>
> Another one to try... need to check if we're masking out the port
> selection bits correctly...
>
> --
> Jesse Barnes, Intel Open Source Technology Center
>
> @@ -5808,12 +5814,15 @@ static int ironlake_crtc_mode_set(struct drm_crtc
> *crtc,
> if (is_lvds) {
> temp = I915_READ(PCH_LVDS);
> temp |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP;
> - if (HAS_PCH_CPT(dev))
> + if (HAS_PCH_CPT(dev)) {
> + temp &= ~PORT_TRANS_SEL_MASK;
> temp |= PORT_TRANS_SEL_CPT(pipe);
> - else if (pipe == 1)
> - temp |= LVDS_PIPEB_SELECT;
> - else
> - temp &= ~LVDS_PIPEB_SELECT;
> + } else {
> + if (pipe == 1)
> + temp |= LVDS_PIPEB_SELECT;
> + else
> + temp &= ~LVDS_PIPEB_SELECT;
> + }
>
> /* set the corresponsding LVDS_BORDER bit */
> temp |= dev_priv->lvds_border_bits;
>
>
Against which tree do these patches apply ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120112/a1cb1146/attachment.html>
More information about the Intel-gfx
mailing list