From f77516cb6dcc4671938475926d2ee55952cd2eec Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Tue, 8 Dec 2015 14:00:07 -0700 Subject: ACPI: Work around IASL warning reading/writing same register The newer versions of IASL are unhappy when an operator has the same object as both source and destination. The warning can be completely disabled with a command line argument, but in general, I'd really rather not just disable warnings. The bits in this register are write 1 to clear, so reading and writing the same register is what we want to do. Instead, store it in a temporary register then write it in a second operation. Fixes warning: dsdt.aml 1396: Store(PWST, PWST) Warning 3023 - ^ Duplicate value in list (Source is the same as Target) Change-Id: I52d73d4431db237be83016d67cd397f31b53d9c6 Signed-off-by: Martin Roth Reviewed-on: https://review.coreboot.org/12691 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer --- src/mainboard/asus/kgpe-d16/acpi/pm_ctrl.asl | 3 ++- src/mainboard/asus/m4a78-em/dsdt.asl | 3 ++- src/mainboard/asus/m4a785-m/dsdt.asl | 3 ++- src/mainboard/asus/m4a785t-m/dsdt.asl | 3 ++- src/mainboard/asus/m5a88-v/dsdt.asl | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) (limited to 'src/mainboard/asus') diff --git a/src/mainboard/asus/kgpe-d16/acpi/pm_ctrl.asl b/src/mainboard/asus/kgpe-d16/acpi/pm_ctrl.asl index c9bc0a99c1..b5a7ed9ba2 100644 --- a/src/mainboard/asus/kgpe-d16/acpi/pm_ctrl.asl +++ b/src/mainboard/asus/kgpe-d16/acpi/pm_ctrl.asl @@ -256,7 +256,8 @@ Method(\_WAK, 1) { /* Configure southbridge for wake */ /* Arbitrarily clear PciExpWakeStatus */ - Store(PWST, PWST) + Store(PWST, Local1) + Store(Local1, PWST) Store (0x22, DBG8) diff --git a/src/mainboard/asus/m4a78-em/dsdt.asl b/src/mainboard/asus/m4a78-em/dsdt.asl index 3d82d25ea7..28c8c4ab73 100644 --- a/src/mainboard/asus/m4a78-em/dsdt.asl +++ b/src/mainboard/asus/m4a78-em/dsdt.asl @@ -937,7 +937,8 @@ DefinitionBlock ( } /* Arbitrarily clear PciExpWakeStatus */ - Store(PWST, PWST) + Store(PWST, Local1) + Store(Local1, PWST) /* if(DeRefOf(Index(WKST,0))) { * Store(0, Index(WKST,1)) diff --git a/src/mainboard/asus/m4a785-m/dsdt.asl b/src/mainboard/asus/m4a785-m/dsdt.asl index 3d82d25ea7..28c8c4ab73 100644 --- a/src/mainboard/asus/m4a785-m/dsdt.asl +++ b/src/mainboard/asus/m4a785-m/dsdt.asl @@ -937,7 +937,8 @@ DefinitionBlock ( } /* Arbitrarily clear PciExpWakeStatus */ - Store(PWST, PWST) + Store(PWST, Local1) + Store(Local1, PWST) /* if(DeRefOf(Index(WKST,0))) { * Store(0, Index(WKST,1)) diff --git a/src/mainboard/asus/m4a785t-m/dsdt.asl b/src/mainboard/asus/m4a785t-m/dsdt.asl index 07bf4014c3..6adb8cabfa 100644 --- a/src/mainboard/asus/m4a785t-m/dsdt.asl +++ b/src/mainboard/asus/m4a785t-m/dsdt.asl @@ -937,7 +937,8 @@ DefinitionBlock ( } /* Arbitrarily clear PciExpWakeStatus */ - Store(PWST, PWST) + Store(PWST, Local1) + Store(Local1, PWST) /* if(DeRefOf(Index(WKST,0))) { * Store(0, Index(WKST,1)) diff --git a/src/mainboard/asus/m5a88-v/dsdt.asl b/src/mainboard/asus/m5a88-v/dsdt.asl index 04042bdb37..f9a17589e0 100644 --- a/src/mainboard/asus/m5a88-v/dsdt.asl +++ b/src/mainboard/asus/m5a88-v/dsdt.asl @@ -931,7 +931,8 @@ DefinitionBlock ( } /* Arbitrarily clear PciExpWakeStatus */ - Store(PWST, PWST) + Store(PWST, Local1) + Store(Local1, PWST) /* if(DeRefOf(Index(WKST,0))) { * Store(0, Index(WKST,1)) -- cgit v1.2.3