https://bugzilla.kernel.org/show_bug.cgi?id=42833
--- Comment #12 from Lee, Chun-Yi <j...@novell.com> 2012-03-20 03:58:03 --- (In reply to comment #11) > (In reply to comment #9) > > I'm confused by the ACPI brightness control implement on this machine. > > > > Method (_BCM, 1, NotSerialized) > > { > > If (LEqual (BOWN, Zero)) > > { > > Store (Subtract (Divide (Arg0, 0x0A, ), > > One), > > Local0) > > Store (Local0, BRTN) > > Acquire (^^^^LPCB.EC0.MUT1, 0xFFFF) > > Store (Local0, ^^^^LPCB.EC0.BLVL) > > Release (^^^^LPCB.EC0.MUT1) > > > > If (LEqual (OSYS, 0x03E8)) > > { > > /* update IGD LBES field in case it's > > "Linux" > > */ > > } > > > > If (LLess (OSYS, 0x07D6)) > > { > > /* Need wmi support if it is not Vista or > > Win7 > > */ > > } > > } > > } > > Does this mean that updating EC0.BLVL can change the backlight in Windows > > Vista > > and Win7? Or windows Vista and Win7 doesn't use ACPI backlight control at > > all? > > > > Hi, Lukacs, > > will you please check > > 1) if the brightness works when you boot the kernel with both > > acpi_osi="!Windows 2009" and acpi_osi="!Windows 2006" ? > > 2) if the brightness works when you boot the kernel with acpi_osi="Linux"? > > Both with acpi_osi="!Windows 2009" and with acpi_osi="!Windows 2006" boot the > system, but the problem still exist. > Yes, you are not the first one, that because Acer ODM provide a broken _BCM implementation: "BIOS guy" should do something like this: Method (AINT, 2, NotSerialized) { ... If (LEqual (Arg0, One)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) Or (BCLP, 0x80000000, BCLP) <=== touch BCLP register Store (0x02, ASLC) } Method (_BCM, 1, NotSerialized) { If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64))) { AINT (One, Arg0) <=== call AINT method Store (Arg0, BRTL) } } Just for reference, they should do that when EC didn't wire to backlight. But, Why they didn't find _BCM not work? My guess is: Because the backlight control is through WDDM driver on Windows platform but not through standard ACPI method _BCM. They only test Windows platform, so, they didn't find _BCM broken. And, they also didn't really follow Microsoft WDDM spec: http://msdn.microsoft.com/en-us/windows/hardware/gg487382.aspx Per spec, ODM should keep _BCM works fine for any other OS didn't support WDDM driver, but they didn't. At last year, I told Acer PM one time for this issue, they said will check but finally didn't response me. > Luckily with acpi_osi="Linux" everything works fine just like with > "acpi_backlight=vendor", however, when the system boots it starts with the > lowest backlight level. I prefer "acpi_backlight=vendor" but not acpi_osi="Linux", because ODM didn't test the code path with acpi_osi="Linux", they always only test Windows platform. -- Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ acpi-bugzilla mailing list acpi-bugzilla@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla