diff options
author | Sven Schnelle <svens@stackframe.org> | 2011-06-23 13:43:52 +0200 |
---|---|---|
committer | Sven Schnelle <svens@stackframe.org> | 2011-06-23 14:12:26 +0200 |
commit | d8b60a0f2d6b0f2fad071328aaa211a63c57c191 (patch) | |
tree | f8ed596a2cfe46315f3c567657f61d3dc7611617 /src | |
parent | f8aa185c6f85337d1fa2c517c0a1143095815983 (diff) |
T60: undock on external power loss
If power is unplugged/lost, we should undock the docking station.
The power loss can also be caused by the fact that the user removed
the thinkpad from the docking station without pressing the Undock button/hotkey
first. Without undocking it on this event, the thinkpad LPC switch will still
connect the Docking connector, which causes crashes when docking it again.
Change-Id: I9ed783e491827bde20264868eab2b3a79c232922
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/62
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src')
-rw-r--r-- | src/ec/lenovo/h8/acpi/ec.asl | 3 | ||||
-rw-r--r-- | src/mainboard/lenovo/t60/acpi/dock.asl | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/ec/lenovo/h8/acpi/ec.asl b/src/ec/lenovo/h8/acpi/ec.asl index 3ba4aa9819..368afa828d 100644 --- a/src/ec/lenovo/h8/acpi/ec.asl +++ b/src/ec/lenovo/h8/acpi/ec.asl @@ -35,6 +35,8 @@ Device(EC) HSPA, 1, Offset (0x0C), LEDS, 8, /* LED state */ + Offset (0x2a), + EVNT, 8, /* write will trigger EC event */ Offset (0x3a), AMUT, 1, /* Audio Mute */ Offset (0x3B), @@ -109,6 +111,7 @@ Device(EC) Method(_Q27, 0, NotSerialized) { Notify (AC, 0x80) + Store(0x50, EVNT) } Method(_Q2A, 0, NotSerialized) diff --git a/src/mainboard/lenovo/t60/acpi/dock.asl b/src/mainboard/lenovo/t60/acpi/dock.asl index ae9d19e405..ba50609f3e 100644 --- a/src/mainboard/lenovo/t60/acpi/dock.asl +++ b/src/mainboard/lenovo/t60/acpi/dock.asl @@ -88,4 +88,11 @@ Scope(\_SB.PCI0.LPCB.EC) Notify(\_SB.DOCK, 3) } } + + Method(_Q50, 0, NotSerialized) + { + if (\_SB.DOCK._STA()) { + Notify(\_SB.DOCK, 1) + } + } } |