From 954a55b950cc13ba6685b71f32d26cb453bc8d06 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Thu, 27 Aug 2015 13:31:46 +0200 Subject: gma ACPI: Make brightness levels a per board setting Those are actually board specific. Keep the old value as defaults, though. The defaults are included by all affected boards. Change-Id: Ib865c7b4274f2ea3181a89fc52701b740f9bab7d Signed-off-by: Nico Huber Reviewed-on: http://review.coreboot.org/11705 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Vladimir Serbinenko --- src/drivers/intel/gma/acpi/brightness_levels.asl | 46 ---------------------- .../intel/gma/acpi/configure_brightness_levels.asl | 24 +++++++++++ .../intel/gma/acpi/default_brightness_levels.asl | 24 +++++++++++ src/drivers/intel/gma/acpi/non-pch.asl | 2 +- src/drivers/intel/gma/acpi/pch.asl | 2 +- src/mainboard/apple/macbookair4_2/dsdt.asl | 2 + src/mainboard/gigabyte/ga-b75m-d3h/dsdt.asl | 2 + src/mainboard/gigabyte/ga-b75m-d3v/dsdt.asl | 2 + src/mainboard/google/bolt/dsdt.asl | 2 + src/mainboard/google/butterfly/dsdt.asl | 2 + src/mainboard/google/falco/dsdt.asl | 2 + src/mainboard/google/link/dsdt.asl | 2 + src/mainboard/google/panther/dsdt.asl | 2 + src/mainboard/google/parrot/dsdt.asl | 2 + src/mainboard/google/peppy/dsdt.asl | 2 + src/mainboard/google/slippy/dsdt.asl | 2 + src/mainboard/google/stout/dsdt.asl | 2 + src/mainboard/intel/baskingridge/dsdt.asl | 2 + src/mainboard/intel/emeraldlake2/dsdt.asl | 2 + src/mainboard/kontron/ktqm77/dsdt.asl | 2 + src/mainboard/lenovo/t400/dsdt.asl | 2 + src/mainboard/lenovo/t420s/dsdt.asl | 2 + src/mainboard/lenovo/t430s/dsdt.asl | 2 + src/mainboard/lenovo/t520/dsdt.asl | 2 + src/mainboard/lenovo/t530/dsdt.asl | 2 + src/mainboard/lenovo/x200/dsdt.asl | 2 + src/mainboard/lenovo/x201/dsdt.asl | 2 + src/mainboard/lenovo/x220/dsdt.asl | 2 + src/mainboard/lenovo/x230/dsdt.asl | 2 + src/mainboard/packardbell/ms2290/dsdt.asl | 2 + src/mainboard/roda/rk9/dsdt.asl | 2 + src/mainboard/samsung/lumpy/dsdt.asl | 2 + src/mainboard/samsung/stumpy/dsdt.asl | 2 + util/autoport/sandybridge.go | 2 + 34 files changed, 108 insertions(+), 48 deletions(-) delete mode 100644 src/drivers/intel/gma/acpi/brightness_levels.asl create mode 100644 src/drivers/intel/gma/acpi/configure_brightness_levels.asl create mode 100644 src/drivers/intel/gma/acpi/default_brightness_levels.asl diff --git a/src/drivers/intel/gma/acpi/brightness_levels.asl b/src/drivers/intel/gma/acpi/brightness_levels.asl deleted file mode 100644 index d0e70a9418..0000000000 --- a/src/drivers/intel/gma/acpi/brightness_levels.asl +++ /dev/null @@ -1,46 +0,0 @@ - Name (BRIG, Package (0x12) - { - 100, /* default AC */ - 100, /* default Battery */ - 2, - 4, - 5, - 7, - 9, - 11, - 13, - 18, - 20, - 24, - 29, - 33, - 40, - 50, - 67, - 100, - }) - - Method (XBCM, 1, NotSerialized) - { - Store (Divide (Multiply (Arg0, BCLM), 100), BCLV) - } - - Method (XBQC, 0, NotSerialized) - { - /* Find value close to BCLV in BRIG (which must be ordered) */ - Store (BCLV, Local0) // Current value - Store (BCLM, Local1) // For calculations - Store (2, Local2) // Loop index - While (LLess (Local2, Subtract (SizeOf (BRIG), 1))) { - Store (DeRefOf (Index (BRIG, Local2)), Local3) - /* Use same calculation as XBCM, to get exact matches */ - Store (Divide (Multiply (Local3, Local1), 100), Local3) - - If (LLessEqual (Local0, Local3)) { - Return (DeRefOf (Index (BRIG, Local2))) - } - Add (Local2, 1, Local2) - } - /* Didn't find greater/equal value: use the last */ - Return (DeRefOf (Index (BRIG, Local2))) - } diff --git a/src/drivers/intel/gma/acpi/configure_brightness_levels.asl b/src/drivers/intel/gma/acpi/configure_brightness_levels.asl new file mode 100644 index 0000000000..38eb116c67 --- /dev/null +++ b/src/drivers/intel/gma/acpi/configure_brightness_levels.asl @@ -0,0 +1,24 @@ + Method (XBCM, 1, NotSerialized) + { + Store (Divide (Multiply (Arg0, BCLM), 100), BCLV) + } + + Method (XBQC, 0, NotSerialized) + { + /* Find value close to BCLV in BRIG (which must be ordered) */ + Store (BCLV, Local0) // Current value + Store (BCLM, Local1) // For calculations + Store (2, Local2) // Loop index + While (LLess (Local2, Subtract (SizeOf (BRIG), 1))) { + Store (DeRefOf (Index (BRIG, Local2)), Local3) + /* Use same calculation as XBCM, to get exact matches */ + Store (Divide (Multiply (Local3, Local1), 100), Local3) + + If (LLessEqual (Local0, Local3)) { + Return (DeRefOf (Index (BRIG, Local2))) + } + Add (Local2, 1, Local2) + } + /* Didn't find greater/equal value: use the last */ + Return (DeRefOf (Index (BRIG, Local2))) + } diff --git a/src/drivers/intel/gma/acpi/default_brightness_levels.asl b/src/drivers/intel/gma/acpi/default_brightness_levels.asl new file mode 100644 index 0000000000..6c6f35ee28 --- /dev/null +++ b/src/drivers/intel/gma/acpi/default_brightness_levels.asl @@ -0,0 +1,24 @@ +Scope (GFX0) +{ + Name (BRIG, Package (0x12) + { + 100, /* default AC */ + 100, /* default Battery */ + 2, + 4, + 5, + 7, + 9, + 11, + 13, + 18, + 20, + 24, + 29, + 33, + 40, + 50, + 67, + 100, + }) +} diff --git a/src/drivers/intel/gma/acpi/non-pch.asl b/src/drivers/intel/gma/acpi/non-pch.asl index 0e156272b1..983dc01f10 100644 --- a/src/drivers/intel/gma/acpi/non-pch.asl +++ b/src/drivers/intel/gma/acpi/non-pch.asl @@ -37,6 +37,6 @@ Device (GFX0) BCLM, 16, } -#include "brightness_levels.asl" +#include "configure_brightness_levels.asl" #include "common.asl" } diff --git a/src/drivers/intel/gma/acpi/pch.asl b/src/drivers/intel/gma/acpi/pch.asl index 98746e809d..bd59a43725 100644 --- a/src/drivers/intel/gma/acpi/pch.asl +++ b/src/drivers/intel/gma/acpi/pch.asl @@ -38,6 +38,6 @@ Device (GFX0) BCLM, 16 } -#include "brightness_levels.asl" +#include "configure_brightness_levels.asl" #include "common.asl" } diff --git a/src/mainboard/apple/macbookair4_2/dsdt.asl b/src/mainboard/apple/macbookair4_2/dsdt.asl index c46b7ad1ca..c63179795e 100644 --- a/src/mainboard/apple/macbookair4_2/dsdt.asl +++ b/src/mainboard/apple/macbookair4_2/dsdt.asl @@ -24,6 +24,8 @@ DefinitionBlock( #include #include #include + + #include } } } diff --git a/src/mainboard/gigabyte/ga-b75m-d3h/dsdt.asl b/src/mainboard/gigabyte/ga-b75m-d3h/dsdt.asl index 9350deae5d..10faccdc23 100644 --- a/src/mainboard/gigabyte/ga-b75m-d3h/dsdt.asl +++ b/src/mainboard/gigabyte/ga-b75m-d3h/dsdt.asl @@ -22,6 +22,8 @@ DefinitionBlock( #include #include #include + + #include } } } diff --git a/src/mainboard/gigabyte/ga-b75m-d3v/dsdt.asl b/src/mainboard/gigabyte/ga-b75m-d3v/dsdt.asl index 9350deae5d..10faccdc23 100644 --- a/src/mainboard/gigabyte/ga-b75m-d3v/dsdt.asl +++ b/src/mainboard/gigabyte/ga-b75m-d3v/dsdt.asl @@ -22,6 +22,8 @@ DefinitionBlock( #include #include #include + + #include } } } diff --git a/src/mainboard/google/bolt/dsdt.asl b/src/mainboard/google/bolt/dsdt.asl index 76998ba670..597f1a3430 100644 --- a/src/mainboard/google/bolt/dsdt.asl +++ b/src/mainboard/google/bolt/dsdt.asl @@ -47,6 +47,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/google/butterfly/dsdt.asl b/src/mainboard/google/butterfly/dsdt.asl index 365f89a6b5..aad9bdd93f 100644 --- a/src/mainboard/google/butterfly/dsdt.asl +++ b/src/mainboard/google/butterfly/dsdt.asl @@ -49,6 +49,8 @@ DefinitionBlock( #include #include #include "acpi/sandybridge_pci_irqs.asl" + + #include } } diff --git a/src/mainboard/google/falco/dsdt.asl b/src/mainboard/google/falco/dsdt.asl index c9e9bb061e..fcb7a3fca3 100644 --- a/src/mainboard/google/falco/dsdt.asl +++ b/src/mainboard/google/falco/dsdt.asl @@ -46,6 +46,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/google/link/dsdt.asl b/src/mainboard/google/link/dsdt.asl index 1b35193b61..905192da15 100644 --- a/src/mainboard/google/link/dsdt.asl +++ b/src/mainboard/google/link/dsdt.asl @@ -49,6 +49,8 @@ DefinitionBlock( #include #include #include "acpi/sandybridge_pci_irqs.asl" + + #include } } diff --git a/src/mainboard/google/panther/dsdt.asl b/src/mainboard/google/panther/dsdt.asl index e108717522..b77a40129b 100644 --- a/src/mainboard/google/panther/dsdt.asl +++ b/src/mainboard/google/panther/dsdt.asl @@ -46,6 +46,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/google/parrot/dsdt.asl b/src/mainboard/google/parrot/dsdt.asl index 365f89a6b5..aad9bdd93f 100644 --- a/src/mainboard/google/parrot/dsdt.asl +++ b/src/mainboard/google/parrot/dsdt.asl @@ -49,6 +49,8 @@ DefinitionBlock( #include #include #include "acpi/sandybridge_pci_irqs.asl" + + #include } } diff --git a/src/mainboard/google/peppy/dsdt.asl b/src/mainboard/google/peppy/dsdt.asl index 76998ba670..597f1a3430 100644 --- a/src/mainboard/google/peppy/dsdt.asl +++ b/src/mainboard/google/peppy/dsdt.asl @@ -47,6 +47,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/google/slippy/dsdt.asl b/src/mainboard/google/slippy/dsdt.asl index 76998ba670..597f1a3430 100644 --- a/src/mainboard/google/slippy/dsdt.asl +++ b/src/mainboard/google/slippy/dsdt.asl @@ -47,6 +47,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/google/stout/dsdt.asl b/src/mainboard/google/stout/dsdt.asl index c7ab62d094..7478869bb2 100644 --- a/src/mainboard/google/stout/dsdt.asl +++ b/src/mainboard/google/stout/dsdt.asl @@ -49,6 +49,8 @@ DefinitionBlock( #include #include #include "acpi/sandybridge_pci_irqs.asl" + + #include } } diff --git a/src/mainboard/intel/baskingridge/dsdt.asl b/src/mainboard/intel/baskingridge/dsdt.asl index b586e34cfe..7e37428fee 100644 --- a/src/mainboard/intel/baskingridge/dsdt.asl +++ b/src/mainboard/intel/baskingridge/dsdt.asl @@ -47,6 +47,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/intel/emeraldlake2/dsdt.asl b/src/mainboard/intel/emeraldlake2/dsdt.asl index b545838b72..b4afa3d62c 100644 --- a/src/mainboard/intel/emeraldlake2/dsdt.asl +++ b/src/mainboard/intel/emeraldlake2/dsdt.asl @@ -48,6 +48,8 @@ DefinitionBlock( #include #include #include + + #include } } diff --git a/src/mainboard/kontron/ktqm77/dsdt.asl b/src/mainboard/kontron/ktqm77/dsdt.asl index 9dbe7e5417..7a4b9b166c 100644 --- a/src/mainboard/kontron/ktqm77/dsdt.asl +++ b/src/mainboard/kontron/ktqm77/dsdt.asl @@ -49,6 +49,8 @@ DefinitionBlock( #include #include #include + + #include } } diff --git a/src/mainboard/lenovo/t400/dsdt.asl b/src/mainboard/lenovo/t400/dsdt.asl index 62747551fe..1d620579ef 100644 --- a/src/mainboard/lenovo/t400/dsdt.asl +++ b/src/mainboard/lenovo/t400/dsdt.asl @@ -47,6 +47,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/lenovo/t420s/dsdt.asl b/src/mainboard/lenovo/t420s/dsdt.asl index 64e4e9f95d..fb653ea6ab 100644 --- a/src/mainboard/lenovo/t420s/dsdt.asl +++ b/src/mainboard/lenovo/t420s/dsdt.asl @@ -51,6 +51,8 @@ DefinitionBlock( #include #include #include + + #include } } diff --git a/src/mainboard/lenovo/t430s/dsdt.asl b/src/mainboard/lenovo/t430s/dsdt.asl index 64e4e9f95d..fb653ea6ab 100644 --- a/src/mainboard/lenovo/t430s/dsdt.asl +++ b/src/mainboard/lenovo/t430s/dsdt.asl @@ -51,6 +51,8 @@ DefinitionBlock( #include #include #include + + #include } } diff --git a/src/mainboard/lenovo/t520/dsdt.asl b/src/mainboard/lenovo/t520/dsdt.asl index f5f3aceea1..9a75807e9e 100644 --- a/src/mainboard/lenovo/t520/dsdt.asl +++ b/src/mainboard/lenovo/t520/dsdt.asl @@ -50,6 +50,8 @@ DefinitionBlock( #include #include #include + + #include } } diff --git a/src/mainboard/lenovo/t530/dsdt.asl b/src/mainboard/lenovo/t530/dsdt.asl index f5f3aceea1..9a75807e9e 100644 --- a/src/mainboard/lenovo/t530/dsdt.asl +++ b/src/mainboard/lenovo/t530/dsdt.asl @@ -50,6 +50,8 @@ DefinitionBlock( #include #include #include + + #include } } diff --git a/src/mainboard/lenovo/x200/dsdt.asl b/src/mainboard/lenovo/x200/dsdt.asl index 5545c94420..110cada33c 100644 --- a/src/mainboard/lenovo/x200/dsdt.asl +++ b/src/mainboard/lenovo/x200/dsdt.asl @@ -47,6 +47,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/lenovo/x201/dsdt.asl b/src/mainboard/lenovo/x201/dsdt.asl index f2f0a8963c..15e85b2a61 100644 --- a/src/mainboard/lenovo/x201/dsdt.asl +++ b/src/mainboard/lenovo/x201/dsdt.asl @@ -50,6 +50,8 @@ DefinitionBlock( #include #include #include + + #include } Device (UNCR) { diff --git a/src/mainboard/lenovo/x220/dsdt.asl b/src/mainboard/lenovo/x220/dsdt.asl index f5f3aceea1..9a75807e9e 100644 --- a/src/mainboard/lenovo/x220/dsdt.asl +++ b/src/mainboard/lenovo/x220/dsdt.asl @@ -50,6 +50,8 @@ DefinitionBlock( #include #include #include + + #include } } diff --git a/src/mainboard/lenovo/x230/dsdt.asl b/src/mainboard/lenovo/x230/dsdt.asl index 1c71c3c2e1..1ef9f11c0d 100644 --- a/src/mainboard/lenovo/x230/dsdt.asl +++ b/src/mainboard/lenovo/x230/dsdt.asl @@ -50,6 +50,8 @@ DefinitionBlock( #include #include #include + + #include } } /* diff --git a/src/mainboard/packardbell/ms2290/dsdt.asl b/src/mainboard/packardbell/ms2290/dsdt.asl index c2d96f366d..b36f909476 100644 --- a/src/mainboard/packardbell/ms2290/dsdt.asl +++ b/src/mainboard/packardbell/ms2290/dsdt.asl @@ -44,6 +44,8 @@ DefinitionBlock( #include #include #include + + #include } Device (UNCR) { diff --git a/src/mainboard/roda/rk9/dsdt.asl b/src/mainboard/roda/rk9/dsdt.asl index c955c8603a..1a8644051b 100644 --- a/src/mainboard/roda/rk9/dsdt.asl +++ b/src/mainboard/roda/rk9/dsdt.asl @@ -49,6 +49,8 @@ DefinitionBlock( { #include #include + + #include } } diff --git a/src/mainboard/samsung/lumpy/dsdt.asl b/src/mainboard/samsung/lumpy/dsdt.asl index 107e1aad48..2e08be712b 100644 --- a/src/mainboard/samsung/lumpy/dsdt.asl +++ b/src/mainboard/samsung/lumpy/dsdt.asl @@ -51,6 +51,8 @@ DefinitionBlock( #include #include #include "acpi/sandybridge_pci_irqs.asl" + + #include } } diff --git a/src/mainboard/samsung/stumpy/dsdt.asl b/src/mainboard/samsung/stumpy/dsdt.asl index 365f89a6b5..aad9bdd93f 100644 --- a/src/mainboard/samsung/stumpy/dsdt.asl +++ b/src/mainboard/samsung/stumpy/dsdt.asl @@ -49,6 +49,8 @@ DefinitionBlock( #include #include #include "acpi/sandybridge_pci_irqs.asl" + + #include } } diff --git a/util/autoport/sandybridge.go b/util/autoport/sandybridge.go index a2afc6cb37..191c69f9e3 100644 --- a/util/autoport/sandybridge.go +++ b/util/autoport/sandybridge.go @@ -135,6 +135,8 @@ func (i sandybridgemc) Scan(ctx Context, addr PCIDevData) { DSDTPCI0Includes = append(DSDTPCI0Includes, DSDTInclude{ File: "northbridge/intel/sandybridge/acpi/sandybridge.asl", + }, DSDTInclude{ + File: "drivers/intel/gma/acpi/default_brightness_levels.asl", }) } -- cgit v1.2.3