On Thu, 27 Dec 2007, Henrique de Moraes Holschuh wrote: > On Wed, 26 Dec 2007, Matthew Garrett wrote: > > On Wed, Dec 26, 2007 at 02:10:27PM -0800, Andrew Morton wrote: > > > > > Vice versa for me. The thinkpad_acpi driver in 2.6.23 _does_ work, > > > but its interface vanished in 2.6.24-rc5 and the acpi driver does not > > > work. > > > > As I said, the interface for the ACPI backlight driver is confusing. 10 > > will only work if the firmware supports it - have you tried other > > values? > > Not on a thinkpad. The AML code is not that stupid, it rounds down to the > nearest supported value. It takes a brightness percentage (0 to 100), maps > it through a table to get the visual brightness -> hardware brightness curve > right (it is non-linear), then does what thinkpad-acpi does to set backlight > brightness. Bah, I spoke too soon. Latest round of BIOSes seems to have broken this, either that or I completely misunderstood the older AML code. Rounding to the nearest supplied _BCL value before we call _BCM apparently will be needed on thinkpads as well. Oh, just another datapoint for Andrew: your thinkpad backlight firmware behaves differently before and after something calls _BCL. And I believe it also behaves differently before Linux boots (my guess is that it changes behaviour when ACPI inits), so it is getting more and more complicated to debug this thing without direct access to one such thinkpad. I heavily recommend calling the ACPI _BCL method (e.g. by loading ACPI video and unloading it later if you don't want it), so that at least you have a small chance of things working consistently :) The AML code is supposed to just issue normal ACPI events and leave the backlight hardware alone after you call _BCL. But if X.org is messing with the BIOS scratch registers, not even ACPI video.c will work, as the SMBIOS crap the thinkpad AML code calls to implement BQC/BCQ and BCM will be disabled. In that case, X.org has to be able to modify the hardware directly (through xbacklight) in order to get anything done. I am seriously considering a call to _BCM in thinkpad-acpi, to make sure we get a more-or-less sane thinkpad behaviour on these newer Lenovo BIOSes, even if the user doesn't want to use ACPI video.c for some reason. -- "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