From 661907cdb4eda6c3d0044895b4cccfc10b6bd8ac Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Thu, 23 Aug 2018 16:40:55 +0200 Subject: 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 Reviewed-on: https://review.coreboot.org/28345 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Nico Huber Reviewed-by: Felix Held --- src/drivers/intel/gma/acpi/configure_brightness_levels.asl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/drivers/intel/gma') 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 */ -- cgit v1.2.3