diff options
author | Jenny TC <jenny.tc@intel.com> | 2015-07-24 15:04:06 +0530 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-01-28 20:45:28 +0100 |
commit | 01be52eca9c1c207613c8d4070a1982ddac9af2f (patch) | |
tree | 2b85fd47349e9c03aa8bd37ab1fc3793dc355d20 | |
parent | 060bc7941f645c9bba27ec618591bc3f1ce89685 (diff) |
soc/braswell/acpi/DPTF: Write TCHG state on AC connect.
DPTF should update the charger cooling device state during
boot time and every 3 seconds after boot. But 3 seconds polling
doesn't seems to be working with current version of DPTF.
This impacts charging since DPTF writes states 4 when charger
is not connected at boot time. On connecting the charger,
DPTF doesn't write 0 to enable charging. This issue is addressed
by calling the PPPC function to read cooling device state and passing
the value to SPPC to set cooling device state. This doesn't
compromise safety since DPTF can override this value
later based on the platform thermal condition. Also this provides
additional safety measure in the unlikely event that DPTF crashes
and is not re-spawned by OS. With this patch even after DPTF crashes,
if the power adapter is plugged it would still allow the system to
charge correctly.
Original-Reviewed-on: https://chromium-review.googlesource.com/288460
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Original-Tested-by: Jenny Tc <jenny.tc@intel.com>
Change-Id: I50c7666b86e45d5ab537a9d4149e6c71eba04e50
Signed-off-by: Hannah Williams <hannah.williams@intel.com>
Reviewed-on: https://review.coreboot.org/12729
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r-- | src/soc/intel/braswell/acpi/dptf/charger.asl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/soc/intel/braswell/acpi/dptf/charger.asl b/src/soc/intel/braswell/acpi/dptf/charger.asl index 7c7f62fb57..a808591b2a 100644 --- a/src/soc/intel/braswell/acpi/dptf/charger.asl +++ b/src/soc/intel/braswell/acpi/dptf/charger.asl @@ -28,7 +28,7 @@ Device (TCHG) Decrement (Local0) /* Check if charging is disabled (AC removed) */ - If (LEqual (\PWRS, Zero)) { + If (LEqual (\_SB.PCI0.LPCB.EC0.ACEX, Zero)) { /* Return last power state */ Return (Local0) } Else { |