i915 backlight failure on resume with 2.6.27

James Bottomley James.Bottomley at HansenPartnership.com
Tue Dec 2 13:39:34 PST 2008


On Tue, 2008-12-02 at 13:28 -0600, James Bottomley wrote:
> On Mon, 2008-12-01 at 11:42 -0600, James Bottomley wrote:
> > You probably remember the system, it's my fujitsu P7120 lifebook with
> > the funny backlight wiring.
> > 
> > Previously, suspend/resume was made to work by saving the PCI state
> > including the legacy backlight register setting (and worked just fine
> > when invoked with a hal quirk).
> > 
> > On FC9, with the 2.6.26 fedora kernels, hal no longer does anything and
> > relies on the i915 kernel driver.  This was perfectly fine, except that
> > the backlight was now being restored to full brightness on resume rather
> > than the setting on resume.  The other annoyance was that VT consoles
> > were now lost on resume (switching to them produces a black screen,
> > although switching back to vt7 where X is running is fine).
> > 
> > As of the 2.6.27 fedora kernels, the backlight is now off on resume,
> > which is even more annoying.  It can be turned on by doing a VT switch,
> > although all the console VTs are still blank, so there looks to be some
> > bug in the i915 driver that crept in between 2.6.26 and 2.6.27.
> 
> Jesse asked for the reg dump from xf86-video-intel-2.4.3, so here it is:

Actually, checking a boot with current git head (2.6.28-rc7) it seems
that all of the bugs are fixed (backlight turns on on resume and VT
console text comes back), so I'd say this is some type of Fedora bug.
It seems that the 2.6.27.5-41.fc9 kernel has some fairly hefty drm
updates:

jejb at mulgrave> diffstat -p1 drm-fedora9-rollup.patch 
 drivers/gpu/drm/Kconfig                    |    7 
 drivers/gpu/drm/Makefile                   |    5 
 drivers/gpu/drm/ati_pcigart.c              |    5 
 drivers/gpu/drm/drm_agpsupport.c           |  196 +-
 drivers/gpu/drm/drm_auth.c                 |   29 
 drivers/gpu/drm/drm_bo.c                   | 2725
+++++++++++++++++++++++++++++
 drivers/gpu/drm/drm_bo_lock.c              |  175 +
 drivers/gpu/drm/drm_bo_move.c              |  610 ++++++
 drivers/gpu/drm/drm_bufs.c                 |   69 
 drivers/gpu/drm/drm_context.c              |   11 
 drivers/gpu/drm/drm_crtc.c                 | 2451
++++++++++++++++++++++++++
 drivers/gpu/drm/drm_drv.c                  |  139 +
 drivers/gpu/drm/drm_edid.c                 |  491 +++++
 drivers/gpu/drm/drm_fence.c                |  824 ++++++++
 drivers/gpu/drm/drm_fops.c                 |  207 +-
 drivers/gpu/drm/drm_hashtab.c              |    4 
 drivers/gpu/drm/drm_ioctl.c                |   60 
 drivers/gpu/drm/drm_irq.c                  |   15 
 drivers/gpu/drm/drm_lock.c                 |   42 
 drivers/gpu/drm/drm_memory.c               |   69 
 drivers/gpu/drm/drm_mm.c                   |   13 
 drivers/gpu/drm/drm_modes.c                |  560 +++++
 drivers/gpu/drm/drm_object.c               |  293 +++
 drivers/gpu/drm/drm_proc.c                 |  103 +
 drivers/gpu/drm/drm_scatter.c              |    2 
 drivers/gpu/drm/drm_stub.c                 |  139 +
 drivers/gpu/drm/drm_sysfs.c                |   20 
 drivers/gpu/drm/drm_ttm.c                  |  464 ++++
 drivers/gpu/drm/drm_vm.c                   |  201 ++
 drivers/gpu/drm/i915/Makefile              |    2 
 drivers/gpu/drm/i915/i915_buffer.c         |  198 ++
 drivers/gpu/drm/i915/i915_dma.c            | 1091 +++++++++--
 drivers/gpu/drm/i915/i915_drv.c            |   35 
 drivers/gpu/drm/i915/i915_drv.h            |  854 ++++++++-
 drivers/gpu/drm/i915/i915_fence.c          |  269 ++
 drivers/gpu/drm/i915/i915_init.c           |  411 ++++
 drivers/gpu/drm/i915/i915_ioc32.c          |   60 
 drivers/gpu/drm/i915/i915_irq.c            |  397 +++-
 drivers/gpu/drm/i915/i915_mem.c            |   23 
 drivers/gpu/drm/i915/intel_crt.c           |  274 ++
 drivers/gpu/drm/i915/intel_display.c       | 1370 ++++++++++++++
 drivers/gpu/drm/i915/intel_fb.c            |  776 ++++++++
 drivers/gpu/drm/i915/intel_i2c.c           |  190 ++
 drivers/gpu/drm/i915/intel_lvds.c          |  509 +++++
 drivers/gpu/drm/i915/intel_modes.c         |   63 
 drivers/gpu/drm/i915/intel_sdvo.c          | 1168 ++++++++++++
 drivers/gpu/drm/i915/intel_sdvo_regs.h     |  328 +++
 drivers/gpu/drm/i915/intel_tv.c            | 1763 ++++++++++++++++++
 drivers/gpu/drm/nouveau/Makefile           |   16 
 drivers/gpu/drm/nouveau/nouveau_bo.c       |  296 +++
 drivers/gpu/drm/nouveau/nouveau_dma.c      |  172 +
 drivers/gpu/drm/nouveau/nouveau_dma.h      |   96 +
 drivers/gpu/drm/nouveau/nouveau_drm.h      |  170 +
 drivers/gpu/drm/nouveau/nouveau_drv.c      |  108 +
 drivers/gpu/drm/nouveau/nouveau_drv.h      |  606 ++++++
 drivers/gpu/drm/nouveau/nouveau_fence.c    |  119 +
 drivers/gpu/drm/nouveau/nouveau_fifo.c     |  598 ++++++
 drivers/gpu/drm/nouveau/nouveau_ioc32.c    |   68 
 drivers/gpu/drm/nouveau/nouveau_irq.c      |  511 +++++
 drivers/gpu/drm/nouveau/nouveau_mem.c      |  780 ++++++++
 drivers/gpu/drm/nouveau/nouveau_notifier.c |  165 +
 drivers/gpu/drm/nouveau/nouveau_object.c   | 1172 ++++++++++++
 drivers/gpu/drm/nouveau/nouveau_sgdma.c    |  341 +++
 drivers/gpu/drm/nouveau/nouveau_state.c    |  705 +++++++
 drivers/gpu/drm/nouveau/nouveau_swmthd.c   |  191 ++
 drivers/gpu/drm/nouveau/nouveau_swmthd.h   |   33 
 drivers/gpu/drm/nouveau/nv04_fb.c          |   23 
 drivers/gpu/drm/nouveau/nv04_fifo.c        |  138 +
 drivers/gpu/drm/nouveau/nv04_graph.c       |  516 +++++
 drivers/gpu/drm/nouveau/nv04_instmem.c     |  159 +
 drivers/gpu/drm/nouveau/nv04_mc.c          |   22 
 drivers/gpu/drm/nouveau/nv04_timer.c       |   53 
 drivers/gpu/drm/nouveau/nv10_fb.c          |   25 
 drivers/gpu/drm/nouveau/nv10_fifo.c        |  169 +
 drivers/gpu/drm/nouveau/nv10_graph.c       |  871 +++++++++
 drivers/gpu/drm/nouveau/nv20_graph.c       |  889 +++++++++
 drivers/gpu/drm/nouveau/nv40_fb.c          |   62 
 drivers/gpu/drm/nouveau/nv40_fifo.c        |  199 ++
 drivers/gpu/drm/nouveau/nv40_graph.c       | 2195
+++++++++++++++++++++++
 drivers/gpu/drm/nouveau/nv40_mc.c          |   38 
 drivers/gpu/drm/nouveau/nv50_fifo.c        |  339 +++
 drivers/gpu/drm/nouveau/nv50_graph.c       | 1056 +++++++++++
 drivers/gpu/drm/nouveau/nv50_instmem.c     |  324 +++
 drivers/gpu/drm/nouveau/nv50_mc.c          |   43 
 drivers/gpu/drm/radeon/radeon_cp.c         |   38 
 drivers/gpu/drm/radeon/radeon_drv.c        |    2 
 drivers/gpu/drm/radeon/radeon_drv.h        |   10 
 drivers/gpu/drm/radeon/radeon_state.c      |   59 
 include/drm/drm.h                          |  534 +++++
 include/drm/drmP.h                         |  195 +-
 include/drm/drm_crtc.h                     |  666 +++++++
 include/drm/drm_edid.h                     |  176 +
 include/drm/drm_objects.h                  |  768 ++++++++
 include/drm/drm_pciids.h                   |  262 ++
 include/drm/i915_drm.h                     |  139 +
 include/drm/intel_drv.h                    |   89 
 include/drm/nouveau_reg.h                  |  593 ++++++
 97 files changed, 35848 insertions(+), 661 deletions(-)

So it could be there's a bug somewhere in the intel part of that.

James





More information about the xorg mailing list