Christoph Grenz (christophg+cb@grenz-bonn.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3603
-gerrit
commit afff4d2e00cafa909444569bb2a6bebb7672de58 Author: Christoph Grenz christophg+cb@grenz-bonn.de Date: Thu Jul 4 02:54:04 2013 +0200
w83627hf/acpi: Fix type error in floppy drive enumeration code
The enumeration method tried to evaluate an one-byte OperationRegion instead of a field in this OperationRegion, which resulted in an AE_TYPE error at runtime. Indexing the OperationRegion with a single field fixes this error.
Change-Id: I15dd7aa6ecafb3a215d165d2b721003446815025 Signed-off-by: Christoph Grenz christophg+cb@grenz-bonn.de --- src/superio/winbond/w83627hf/acpi/superio.asl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/superio/winbond/w83627hf/acpi/superio.asl b/src/superio/winbond/w83627hf/acpi/superio.asl index 5058d89..e8c031a 100644 --- a/src/superio/winbond/w83627hf/acpi/superio.asl +++ b/src/superio/winbond/w83627hf/acpi/superio.asl @@ -350,6 +350,10 @@ Device(SIO) { DATA, 8, } OperationRegion (FIO2, SystemIO, 0x3F7, 0x01) + Field (FIO2, ByteAcc, NoLock, Preserve) + { + SIFR, 8 + }
CreateByteField (_FDE, 1, FD1) CreateByteField (_FDE, 4, FD2) @@ -359,25 +363,25 @@ Device(SIO) { Store(One, ACT1) Store(0, SELE) Sleep(0x64) - If (FIO2) { Store (One, FD1) } + If (SIFR) { Store (One, FD1) }
Store(Zero, ACT1) Store(One, ACT2) Store(1, SELE) Sleep(0x64) - If (FIO2) { Store (One, FD2) } + If (SIFR) { Store (One, FD2) }
Store(Zero, ACT2) Store(One, ACT3) Store(2, SELE) Sleep(0x64) - If (FIO2) { Store (One, FD3) } + If (SIFR) { Store (One, FD3) }
Store(Zero, ACT3) Store(One, ACT4) Store(3, SELE) Sleep(0x64) - If (FIO2) { Store (One, FD4) } + If (SIFR) { Store (One, FD4) } Store(Zero, ACT4) Store(Zero, SELE) #endif