summaryrefslogtreecommitdiff
path: root/src/drivers/intel/gma/acpi
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2018-08-23 16:40:55 +0200
committerMartin Roth <martinroth@google.com>2018-08-30 14:45:23 +0000
commit661907cdb4eda6c3d0044895b4cccfc10b6bd8ac (patch)
tree7d0b8fdb26b35c479dc86aba5ed5d6d661c8bc20 /src/drivers/intel/gma/acpi
parent6bbfb3bfd62e2d19b410c12b429eabc1f329833a (diff)
drivers/intel/gma: store uint8_t brightness values in mailbox3
The _BCM function requires a percentage value. While the brightness in mailbox3 requires a value in uint8_t. Meaning 255 = 100%. Previous implementation stored the percentage brightness value resulting in limiting the brightness to ~40% of it's maximum power. Only affects brightness control using mailbox3. Fixes: 6838aaebf9ec ("drvs/intel/gma/acpi: Add methods to use MBOX3") Change-Id: I290b5f5b2a8ee406e39e86d3e0de9997798d890d Signed-off-by: Alexander Couzens <lynxis@fe80.eu> Reviewed-on: https://review.coreboot.org/28345 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/drivers/intel/gma/acpi')
-rw-r--r--src/drivers/intel/gma/acpi/configure_brightness_levels.asl9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/drivers/intel/gma/acpi/configure_brightness_levels.asl b/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
index 8625f04a9f..0867c5ae06 100644
--- a/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
+++ b/src/drivers/intel/gma/acpi/configure_brightness_levels.asl
@@ -69,7 +69,14 @@
Return (Ones)
}
- Store (Or (Arg0, 0x80000000), BCLP)
+ /* BCLP requires brightness unsigned 8bit. 255 = 100 % */
+ Store (Divide (Multiply (Arg0, 255), 100), Local1)
+ If (LGreater(Local1, 255)) {
+ Store (255, Local1)
+ }
+ /* set valid bit */
+ Store (Or (Local1, 0x80000000), BCLP)
+
/* Request back-light change */
Store (0x2, ASLC)
/* Trigger IRQ */