2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 22:53:55 +08:00
linux-next/drivers/platform/chrome
Yicheng Li 42cd0ab476 platform/chrome: cros_ec: Query EC protocol version if EC transitions between RO/RW
RO and RW of EC may have different EC protocol version. If EC transitions
between RO and RW, but AP does not reboot (this is true for fingerprint
microcontroller / cros_fp, but not true for main ec / cros_ec), the AP
still uses the protocol version queried before transition, which can
cause problems. In the case of fingerprint microcontroller, this causes
AP to send the wrong version of EC_CMD_GET_NEXT_EVENT to RO in the
interrupt handler, which in turn prevents RO to clear the interrupt
line to AP, in an infinite loop.

Once an EC_HOST_EVENT_INTERFACE_READY is received, we know that there
might have been a transition between RO and RW, so re-query the protocol.

Signed-off-by: Yicheng Li <yichengli@chromium.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
2020-02-11 10:32:54 +01:00
..
wilco_ec platform/chrome: wilco_ec: Platform data shouldn't include kernel.h 2020-02-11 10:32:50 +01:00
chromeos_laptop.c platform/chrome: chromeos_laptop: Convert to i2c_new_scanned_device 2019-12-16 16:22:44 +01:00
chromeos_pstore.c platform/chrome: cromeos_pstore: switch to SPDX identifier 2019-02-01 10:13:05 +01:00
chromeos_tbmc.c platform/chrome: chromeos_tbmc: Report wake events 2019-09-12 16:01:35 +02:00
cros_ec_chardev.c cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h' 2020-01-07 17:36:46 +01:00
cros_ec_debugfs.c cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h' 2020-01-07 17:36:46 +01:00
cros_ec_i2c.c platform/chrome: cros_ec: Match implementation with headers 2020-02-03 17:14:50 +01:00
cros_ec_ishtp.c platform/chrome: cros_ec: Match implementation with headers 2020-02-03 17:14:50 +01:00
cros_ec_lightbar.c cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h' 2020-01-07 17:36:46 +01:00
cros_ec_lpc_mec.c platform/chrome: cros_ec_lpc_mec: Fix kernel-doc comment first line 2019-06-20 12:00:32 +02:00
cros_ec_lpc_mec.h platform/chrome: cros_ec: Remove cros_ec dependency in lpc_mec 2019-02-11 10:07:40 +01:00
cros_ec_lpc.c platform/chrome: cros_ec: Match implementation with headers 2020-02-03 17:14:50 +01:00
cros_ec_proto.c platform/chrome: cros_ec_proto: Add response tracing 2019-12-10 10:14:02 +01:00
cros_ec_rpmsg.c platform/chrome: cros_ec: Match implementation with headers 2020-02-03 17:14:50 +01:00
cros_ec_sensorhub.c cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h' 2020-01-07 17:36:46 +01:00
cros_ec_spi.c platform/chrome: cros_ec: Match implementation with headers 2020-02-03 17:14:50 +01:00
cros_ec_sysfs.c cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h' 2020-01-07 17:36:46 +01:00
cros_ec_trace.c platform/chrome: cros_ec_proto: Add response tracing 2019-12-10 10:14:02 +01:00
cros_ec_trace.h platform/chrome: cros_ec_proto: Add response tracing 2019-12-10 10:14:02 +01:00
cros_ec_vbc.c cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h' 2020-01-07 17:36:46 +01:00
cros_ec.c platform/chrome: cros_ec: Query EC protocol version if EC transitions between RO/RW 2020-02-11 10:32:54 +01:00
cros_ec.h platform/chrome: cros_ec: Match implementation with headers 2020-02-03 17:14:50 +01:00
cros_kbd_led_backlight.c platform/chrome: cros_kbd_led_backlight: switch to SPDX identifier 2019-02-01 10:13:06 +01:00
cros_usbpd_logger.c cros_ec: treewide: Remove 'include/linux/mfd/cros_ec.h' 2020-01-07 17:36:46 +01:00
cros_usbpd_notify.c platform: chrome: Add cros-usbpd-notify driver 2020-02-10 10:14:19 -08:00
Kconfig platform: chrome: Add cros-usbpd-notify driver 2020-02-10 10:14:19 -08:00
Makefile platform: chrome: Add cros-usbpd-notify driver 2020-02-10 10:14:19 -08:00