lkml.org 
[lkml]   [2012]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: i915 regression on 3.6-rc1: lid blanks screen
On Sun, 5 Aug 2012, Takashi Iwai wrote:
> At Sat, 4 Aug 2012 10:01:13 -0700 (PDT),
> Hugh Dickins wrote:
> >
> > Sorry to report that with 3.6-rc1, closing and opening the lid on
> > this ThinkPad T420s leaves the screen blank, and I have to reboot.
> >
> > I understand there's also an nVidia graphics device in here,
> > but I have that configured out, preferring to use the i915:
> >
> > 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
> > Subsystem: Lenovo Device 21d3
> > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
> > Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
> > Latency: 0
> > Interrupt: pin A routed to IRQ 41
> > Region 0: Memory at f1400000 (64-bit, non-prefetchable) [size=4M]
> > Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
> > Region 4: I/O ports at 5000 [size=64]
> > Expansion ROM at <unassigned> [disabled]
> > Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
> > Address: fee0100c Data: 41c2
> > Capabilities: [d0] Power Management version 2
> > Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
> > Capabilities: [a4] PCI Advanced Features
> > AFCap: TP+ FLR+
> > AFCtrl: FLR-
> > AFStatus: TP-
> > Kernel driver in use: i915
> >
> > Bisection led to this commit, and reverting indeed gets my screen back:
> >
> > commit 520c41cf2fa029d1e8b923ac2026f96664f17c4b
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date: Wed Jul 11 16:27:52 2012 +0200
> >
> > drm/i915/lvds: ditch ->prepare special case
...
>
> Hm, it's surprising.
>
> Could you check whether the counter-part intel_lvds_enable() is
> called? If the prepare callback affects, it must be from the mode
> setting (drm_crtc_helper_set_mode()).

Yes, I put a dump_stack() in both, and intel_lvds_enable() gets called
about 0.28 seconds after the intel_lvds_disable() when I lift the lid;
but with no video display until I revert that commit.

Hugh

>
>
> Takashi
>
> >
> > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> > index 49f09a8..e05c0d3 100644
> > --- a/drivers/gpu/drm/i915/intel_lvds.c
> > +++ b/drivers/gpu/drm/i915/intel_lvds.c
> > @@ -409,13 +409,7 @@ static void intel_lvds_prepare(struct drm_encoder *encoder)
> > {
> > struct intel_lvds *intel_lvds = to_intel_lvds(encoder);
> >
> > - /*
> > - * Prior to Ironlake, we must disable the pipe if we want to adjust
> > - * the panel fitter. However at all other times we can just reset
> > - * the registers regardless.
> > - */
> > - if (!HAS_PCH_SPLIT(encoder->dev) && intel_lvds->pfit_dirty)
> > - intel_lvds_disable(intel_lvds);
> > + intel_lvds_disable(intel_lvds);
> > }
> >
> > static void intel_lvds_commit(struct drm_encoder *encoder)


\
 
 \ /
  Last update: 2012-08-06 07:03    [W:0.105 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site