[coreboot-gerrit] New patch to review for coreboot: ec/lenovo/h8: do not reset volume on s3 wakeup

Christopher Spinrath (christopher.spinrath@rwth-aachen.de) gerrit at coreboot.org
Tue Mar 29 13:36:59 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 1a4973c23ed94d6ef06df95d95752bf7b8b79bbc
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 same as before the s3 state. In particular, userland
    programs (i.e. 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