_DOS in video.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've been investigating some backlight vs. lidswitch problems with my HP
Compaq nc6432 laptop, and have been digging in video.c

At start of the video driver, the _DOS method is executed, and similarly
when the driver is unloaded.
(From the Ubuntu Gutsy kernel.. hopefully this isn't disto-patched)

1706 static int acpi_video_bus_start_devices(struct acpi_video_bus
*video)
1707 {
1708 return acpi_video_bus_DOS(video, 1, 0);
1709 }
1710 
1711 static int acpi_video_bus_stop_devices(struct acpi_video_bus
*video)
1712 {
1713 return acpi_video_bus_DOS(video, 0, 1);
1714 }


It seems to me - as I understand the driver, is that we want to tell the
BIOS specifically NOT to process AC brightness changes, or display
switches (which on my laptop appears to effect LID switch backlight
blanking too).

It seems that the video.c driver has this reversed, and actually lets
the BIOS keep doing these things after video.ko is loaded. Similarly,
when unloading video.ko, my laptop stops switching the backlight on/off
for lid events.

I've reversed the sense of the acpi_video_bus_DOS() calls for my own
testing, and it seems to be ok. There is unfortunately DSDT brokenness
which means it still doesn't work satisfactorily, but I'm debugging that
with a DSDT override now. I get lid notifications, but there is a delay
before /proc/acpi/button/lid/*/state "catches up" - which breaks
userspace that checks this state when it sees an event.

It very much looks like this delay is due to various sleep statements in
the DSDT when not internally handling the backlight etc.. There are also
a lot of OS specific paths in the DSDT for this code, making things even
more fun to trace.

Kind Regards,

-- 
Peter Clifton

Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA

Tel: +44 (0)7729 980173 - (No signal in the lab!)

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux