Christopher Spinrath (christopher.spinrath@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@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@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)