Re: [ibm-acpi-devel] [PATCH 2/4] ACPI: thinkpad-acpi: support 16 levels of brightness (v2)

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

 



On Tue, 09 Oct 2007, Thomas Renninger wrote:
> On Mon, 2007-10-08 at 10:12 -0300, Henrique de Moraes Holschuh wrote:
> > Lenovo ThinkPads with ACPI Video brightness control often have 16
> > brightness levels in EC, and not just eight levels like older ThinkPads.
> > 
> > We detect the number of brightness levels by the presence of a _BCL method
> > with 18 entries (16 levels plus the on-battery and on-ac recommended
> > levels).  If _BCL is not there, we assume eight levels (T60, for example).
> > Otherwise we assume sixteen levels (T61, X61, etc).
> This is broken by design, pls don't add this to a mainline kernel.

The thinkpad design does not expose the number of levels anywhere else.  It
is either _BCL, or worse (BCLL, a package used by _BLC/_BCM/_BQC in
thinkpads).

> Correct is: If there is _BCL (and other video functions) don't touch any
> video or brightness functionality.

There is a later patch that does just that.  Why is it not enough?

> Thinkpad_acpi should try to register for the acpi device with the
> LNXVIDEO HID. If the probe/add function there is invoked, it can be sure
> that video module tries to load and is handling the stuff in a defined
> way and thinkpad_acpi should get its hands off.

Far more complicated, and in the *specific* case of thinkpad-acpi, where I
know exactly what to poke in 100% of the problem space ("thinkpads where
thinkpad-acpi would handle backlight"), it is probably not the best way to
go about it.

> -----------------------------------------------------------
> ThinkPad has implemented _BCL/_BCM/_BQC method for Vista. 
> These brightness control methods are not used on Windows XP. 

"and Linux did all sort of unspeakable evil things through them not so long
ago"...

And still does even with the latest kernel, I suppose, anywhere people is
feeding back brightness events into thinkpad-acpi's backlight control
through userspace (something that is *not* recommended, and *not* the right
thing to do in *any* thinkpad model IMO).

Granted, some thinkpad models probably require BIOS updates *and* one of the
latest kernels (or a video.c backport), to have proper backlight control.

> Now, I don't understand which point the brightness control is broken. 
> Does Suse call _BCM , but not handle Notify (video, 0x86/0x87)
> (Increase/Decrease Brightness) ?

I am not sure it is broken anymore, actually.  And I don't have the hardware
to test it.

> The BIOSs/Machine Type/Model/Support are too complicated. 
> Why don't you use assume BIOS supports _BCL/_BCM/_BQC if these methods
> are found in ACPI name space ?

That's exactly what I do :p

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh
-
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