Radeon 3650HD laptop LVDS lid open/closed detection problem

Pasi Kärkkäinen pasik at iki.fi
Sun Sep 19 22:53:32 PDT 2010


On Sun, Sep 19, 2010 at 11:56:27PM -0400, Alex Deucher wrote:
> On Sun, Sep 19, 2010 at 10:56 AM, Pasi Kärkkäinen <pasik at iki.fi> wrote:
> > On Sun, Sep 19, 2010 at 03:25:47PM +0300, Pasi Kärkkäinen wrote:
> >> > >
> >> > > so "/proc/acpi/button/lid/LID/state" seems to work properly on my laptop,
> >> > > but is there a way to monitor the state of the drm/kms outputs from /proc, /sys or from somewhere?
> >> > >
> >> > > I'd like to see the state before X is started, and verify what happens when GDM is started etc..
> >> > > (ie. if outputs are enabled/active or not).
> >> > >
> >> >
> >> > Ah, found it:
> >> >
> >> > $ ls /sys/class/drm/card0
> >> > card0-DVI-D-1        card0-LVDS-1  dev     power      uevent
> >> > card0-HDMI Type A-1  card0-VGA-1   device  subsystem
> >> >
> >> > $ cat /sys/class/drm/card0/card0-LVDS-1/status
> >> > connected
> >> >
> >> > $ cat /sys/class/drm/card0/card0-LVDS-1/enabled
> >> > enabled
> >> >
> >>
> >> So I added those to rc.local so that they get executed before GDM..
> >> and I booted up the laptop with the lid closed..
> >>
> >> And the result was: lid state "closed", lvds-status "connected" and lvds-enabled was "enabled"..
> >>
> >> Does that mean Fedora plymouth is doing it wrong,
> >> or is t possible the driver itself always enabled the lvds, even when the lid is closed?
> >>
> >
> > I did some more investigations. I'm currently using Fedora 13 Linux 2.6.34.6-47.fc13.x86_64 kernel.
> > I hacked the initrd image to echo debug stuff right after drm modules are loaded,
> > and *before* plymouth is started (and then sleep for some time so that I have time to see the debug values.)
> >
> > The result was this:
> >
> > acpi lid/state: closed
> > lvds-1/status: connected
> > lvds-1/enabled: enabled
> >
> > So to me it looks like the problem is in the driver itself..
> > lvds shouldn't get enabled (turned on) when the lid is closed..
> 
> As I've stated previously, the driver always reports LVDS as connected
> because it is always connected.  It's up to userspace to decide on
> what policy (enabled or disabled) to implement when the lid is open vs
> closed.
> 

Yep, I do realize it's always connected.

But the question was supposed to be more about the enabled/disabled part.. 
It isn't possible to check the acpi lid status from the driver? 

-- Pasi



More information about the dri-devel mailing list