Nico Huber has submitted this change. ( https://review.coreboot.org/c/libgfxinit/+/48770 )
Change subject: gma: actually enable/disable backlight with new backlight control ......................................................................
gma: actually enable/disable backlight with new backlight control
In order to enable or disable the backlight on platforms with the new backlight control, both enable bits in the PWM register and the PP_CONTROL register need to bet set. Currently, the code only sets one or the other.
Also, reverse the order in the disable case so that PWM gets disabled after the backlight enable bit in PP_CONTROL.
Tested successfully on Clevo L141CU (CML).
Change-Id: Ib3827e744e86a9d29e09da3c5fd44d226f0b41b5 Signed-off-by: Michael Niewöhner foss@mniewoehner.de Reviewed-on: https://review.coreboot.org/c/libgfxinit/+/48770 Tested-by: Nico Huber nico.h@gmx.de Reviewed-by: Nico Huber nico.h@gmx.de Reviewed-by: Angel Pons th3fanbus@gmail.com --- M common/hw-gfx-gma-panel.adb 1 file changed, 8 insertions(+), 8 deletions(-)
Approvals: Nico Huber: Verified; Looks good to me, approved Angel Pons: Looks good to me, approved
diff --git a/common/hw-gfx-gma-panel.adb b/common/hw-gfx-gma-panel.adb index e343deb..532bf67 100644 --- a/common/hw-gfx-gma-panel.adb +++ b/common/hw-gfx-gma-panel.adb @@ -428,11 +428,11 @@ Registers.Set_Mask (Register => BLC (Panel).CTL, Mask => BXT_BLC_PWM_CTL_ENABLE); - else - Registers.Set_Mask - (Register => PP (Panel).CONTROL, - Mask => PCH_PP_CONTROL_BACKLIGHT_ENABLE); end if; + + Registers.Set_Mask + (Register => PP (Panel).CONTROL, + Mask => PCH_PP_CONTROL_BACKLIGHT_ENABLE); end Backlight_On;
procedure Backlight_Off (Panel : Panel_Control) is @@ -443,14 +443,14 @@
pragma Debug (Debug.Put_Line (GNAT.Source_Info.Enclosing_Entity));
+ Registers.Unset_Mask + (Register => PP (Panel).CONTROL, + Mask => PCH_PP_CONTROL_BACKLIGHT_ENABLE); + if Config.Has_New_Backlight_Control then Registers.Unset_Mask (Register => BLC (Panel).CTL, Mask => BXT_BLC_PWM_CTL_ENABLE); - else - Registers.Unset_Mask - (Register => PP (Panel).CONTROL, - Mask => PCH_PP_CONTROL_BACKLIGHT_ENABLE); end if; end Backlight_Off;