Bug 12257

Summary: Internal panel of Notebook R51 not driven when booted with lid closed
Product: xorg Reporter: Ulrich Gemkow <gemkow>
Component: Driver/RadeonAssignee: xf86-video-ati maintainers <xorg-driver-ati>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Log file when Notebook booted with lid closed
none
Log file when Notebook booted with lid open
none
output of xrandr --verbose, same in both cases
none
Boot with lid closed, lid closed
none
Boot with lid closed, lid opened
none
Boot with lid open, then only DVI active
none
Boot with lid open, then LVDS active
none
current git, boot with lid closed none

Description Ulrich Gemkow 2007-09-02 08:50:29 UTC
We are using Notebooks of Type Thinkpad R51.

When booting the NB with its lid open, both displays - the
internal panel and the external LC-Display - show the X11
content after starting X11. All is fine.

When booting the NB with its lid closed and later on opening
the lid nothing is displayed on the internal panel, it remains
dark. The backlight is switched on when opening.

So it seems the BIOS makes some init when the lid is open
on boot which is missing in the other case.

The interesting part is that this worked with a snapshot of
the driver from 12/23/2006: With this driver we could boot
the notebook with lid closed and the internal panel was
usable after opening the lid.

Appended are the log-files for both cases - booted with lid
open and booted with lid closed and the output of xrandr
which shows the same output in both cases.
Comment 1 Ulrich Gemkow 2007-09-02 08:51:30 UTC
Created attachment 11386 [details]
Log file when Notebook booted with lid closed
Comment 2 Ulrich Gemkow 2007-09-02 08:52:18 UTC
Created attachment 11387 [details]
Log file when Notebook booted with lid open
Comment 3 Ulrich Gemkow 2007-09-02 08:53:30 UTC
Created attachment 11388 [details]
output of xrandr --verbose, same in both cases
Comment 4 Alex Deucher 2007-09-08 20:16:18 UTC
Can you dump the contents of LVDS_GEN_CNTL and LVDS_PLL_CNTL using radeontool in each instance?  When the laptop boots with the lid closed the bios probably doesn't init the all of the panel regs correctly.  Unfortunately, we rely on the bios for some of that as each panel may need slightly different settings for the bits in question; as such we don't set those bits explicitly in the driver.
Comment 5 Ulrich Gemkow 2007-09-12 03:35:59 UTC
Dumping the register content of LVDS_GEN_CNTL and LVDS_PLL_CNTL in the
different cases gives the following results:

Old driver (git from 12/06) has the same value in both registers
when booted with lid open and booted with lid closed:
on boot (same value in both cases):

LVDS_GEN_CNTL (02d0)    0x003dffa5
LVDS_PLL_CNTL (02d4)    0x0001128a

...and the was ok.

Current git gives the following:

Boot with lid open:
 - only internal display active
   LVDS_GEN_CNTL (02d0)    0x003dffa5
   LVDS_PLL_CNTL (02d4)    0x0001328a
 - only external display active
   LVDS_GEN_CNTL (02d0)    0x0035ffa6
   LVDS_PLL_CNTL (02d4)    0x0001328a

Boot with lid closed
 - lid closed
   LVDS_GEN_CNTL (02d0)    0x003dffa5
   LVDS_PLL_CNTL (02d4)    0x0001128a
 - lid open
   LVDS_GEN_CNTL (02d0)    0x003dffa5
   LVDS_PLL_CNTL (02d4)    0x0001128a

Unfortunately the obvious solution (executing
radeontool regset LVDS_PLL_CNTL 0x0001328a) does
not work - the internal displays remains dark.
Maybe this is too late when setting this "manually".

Can you give some hint where in the driver the
regset should be placed? Then I will try further.
Comment 6 Alex Deucher 2007-09-18 17:13:13 UTC
Can you try again with latest ati git master?
Comment 7 Ulrich Gemkow 2007-09-20 14:46:44 UTC
I tried with git from today and unfortunately it did not work,
the behaviour is unchanged. But thanks for your efforts! 

Comment 8 Alex Deucher 2007-09-23 10:55:33 UTC
can you get me a reg dump (radeontool regmatch '*') from the old working driver and the current git driver when booted with the lid closed?
Comment 9 Ulrich Gemkow 2007-09-23 12:25:24 UTC
Sure, please find attached

register dump with driver from git around 12/23/06
 Boot with lid open:
  - only internal display active
   -> registers-old-boot_lid_opened-only_LVDS_active.txt
  - only external display active
   -> registers-old-boot_lid_opened-only_DVI_active.txt
 Boot with lid closed
  - lid closed
   -> registers-old-boot_lid_closed-now_lid_closed.txt
  - lid open
   -> registers-old-boot_lid_closed-now_lid_opened.txt

register dump with driver from git around 09/13/07
 Boot with lid closed
  -> registers-git-boot_lid_closed.txt
Comment 10 Ulrich Gemkow 2007-09-23 12:28:04 UTC
Created attachment 11695 [details]
Boot with lid closed, lid closed
Comment 11 Ulrich Gemkow 2007-09-23 12:28:30 UTC
Created attachment 11696 [details]
Boot with lid closed, lid opened
Comment 12 Ulrich Gemkow 2007-09-23 12:29:11 UTC
Created attachment 11697 [details]
Boot with lid open, then only DVI active
Comment 13 Ulrich Gemkow 2007-09-23 12:29:39 UTC
Created attachment 11698 [details]
Boot with lid open, then LVDS active
Comment 14 Ulrich Gemkow 2007-09-23 12:30:05 UTC
Created attachment 11699 [details]
current git, boot with lid closed
Comment 15 Ulrich Gemkow 2007-09-25 01:36:54 UTC
We tried with latest git (yesterday) and this bug seems to be fixed.
Comment 16 Alex Deucher 2007-09-25 06:07:15 UTC
Excellent.  I did make some changes to LVDS_PLL_CNTL, so that may have done the trick.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.