Lenovo BIOS engineer commented on Mar. 19 as:
"
//

I understand the situation. Since ThinkPad BIOS assumes that Windows 8
or later OS always uses the OS-driver initiated brightness control
method, so the brightness logic won't work if an OS declares it is Win8
but it uses OS-BIOS initiated brightness control method.

To workaround this, it would be better to change ASL code as below,
because BRNS() is only designed for 16-step brightness.

Please note that it is just a quick W/A.


If Linux Intel IGD driver has an option to change its behavior to OS-
driver initiated brightness control method as well as real Win8, it
would be easier.

Windows Intel IGD driver can change it to OS-driver mode with Bit8 of
FeatureTestControl = 0 in INF file.


----

    External( \_SB.PCI0.LPC.EC.BRCD, MethodObj )


    Method ( _BCM, 1 ) {

      If ( \WIN8 ) {

        \_SB.PCI0.VID.AINT( 1, \_SB.PCI0.LPC.EC.BRCD( Arg0 ) )

      } Else {

        Store( Match( \_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0, 2 ),
Local0 )

        If( LNotEqual( Local0, Ones ) ){                      // OS
requested value is found and we got index

            Subtract (Local0, 2, Local1)

            Store( Local1 , \BRLV )

            \_SB.PCI0.LPC.EC.BRNS( )

            \UCMS( TOGGLE_BIT_AND_UPDATE_CMOS )

      }

    }
"

** Attachment added: "code-changes.PNG"
   
https://bugs.launchpad.net/ubuntu/+source/linux-lts-raring/+bug/1270079/+attachment/4033205/+files/code-changes.PNG

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1270079

Title:
  [Lenovo T540p, W540] Backlight interfaces not fully working

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-lts-raring/+bug/1270079/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to