[coreboot-gerrit] Patch set updated for coreboot: ec/lenovo/h8: do not reset volume on s3 wakeup

Christopher Spinrath (christopher.spinrath@rwth-aachen.de) gerrit at coreboot.org
Wed Mar 30 15:50:11 CEST 2016


Christopher Spinrath (christopher.spinrath at rwth-aachen.de) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14183

-gerrit

commit 2f85bbb47aedff1b35494c29493c5b3ac92d3c0d
Author: Christopher Spinrath <christopher.spinrath at rwth-aachen.de>
Date:   Thu Mar 24 20:45:13 2016 +0100

    ec/lenovo/h8: do not reset volume on s3 wakeup
    
    On s3 wakeup h8_enable is called which resets the (audio) volume. But the
    volume should be the same as before the s3 state. In particular, userland
    programs (e.g. pulseaudio) may be out of sync, if the volume can be changed
    by hardware buttons also emitting acpi events. Hence, do not reset the
    volume on s3 wakeup.
    
    Tested on a Lenovo ThinkPad X220.
    
    Change-Id: I2af08dea1a3f14a40734d67d372e845cc18c5e09
    Signed-off-by: Christopher Spinrath <christopher.spinrath at rwth-aachen.de>
---
 src/ec/lenovo/h8/h8.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c
index 4f882c1..943bdd4 100644
--- a/src/ec/lenovo/h8/h8.c
+++ b/src/ec/lenovo/h8/h8.c
@@ -13,6 +13,7 @@
  * GNU General Public License for more details.
  */
 
+#include <arch/acpi.h>
 #include <arch/io.h>
 #include <console/console.h>
 #include <device/device.h>
@@ -258,7 +259,7 @@ static void h8_enable(struct device *dev)
 	h8_trackpoint_enable(1);
 	h8_usb_power_enable(1);
 
-	if (get_option(&val, "volume") == CB_SUCCESS)
+	if (get_option(&val, "volume") == CB_SUCCESS && !acpi_is_wakeup_s3())
 		ec_write(H8_VOLUME_CONTROL, val);
 
 	if (get_option(&val, "bluetooth") != CB_SUCCESS)



More information about the coreboot-gerrit mailing list