From 9afe02798a8762198e7be6da1288de4e76db053c Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Fri, 12 Nov 2021 14:06:30 -0600 Subject: [PATCH] mb/google/cyan: use shared touchpad/touchscreen interrupts Windows (10/11) freaks out and generates an interrupt storm if two ACPI devices are enabled and share an interrupt, even when only one device is actually present. To mitigate this, mark Cyan's touchpad/touchscreen interrupts as SharedAndWake rather than ExclusiveAndWake. Test: build/boot Windows 10 on Relm, observe normal CPU usage in Task Manager for System Interrupts task when touchpad/touchscreen in use. Change-Id: I09bc878318f9fa6252f65a42ad46109418805fa0 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/59336 Tested-by: build bot (Jenkins) Reviewed-by: Tim Wawrzynczak --- src/mainboard/google/cyan/acpi/touchscreen_elan.asl | 2 +- src/mainboard/google/cyan/acpi/touchscreen_melfas.asl | 2 +- src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl | 2 +- src/mainboard/google/cyan/acpi/trackpad_atmel.asl | 2 +- src/mainboard/google/cyan/acpi/trackpad_elan.asl | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mainboard/google/cyan/acpi/touchscreen_elan.asl b/src/mainboard/google/cyan/acpi/touchscreen_elan.asl index 8a7d7b1030..3a5d04e6c9 100644 --- a/src/mainboard/google/cyan/acpi/touchscreen_elan.asl +++ b/src/mainboard/google/cyan/acpi/touchscreen_elan.asl @@ -20,7 +20,7 @@ Scope (\_SB.PCI0.I2C1) AddressingMode7Bit, /* AddressingMode */ "\\_SB.PCI0.I2C1", /* ResourceSource */ ) - GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Level, ActiveLow, SharedAndWake, PullDefault,, "\\_SB.GPNC") { BOARD_TOUCH_GPIO_INDEX } } ) diff --git a/src/mainboard/google/cyan/acpi/touchscreen_melfas.asl b/src/mainboard/google/cyan/acpi/touchscreen_melfas.asl index eddf808fe0..e972056510 100644 --- a/src/mainboard/google/cyan/acpi/touchscreen_melfas.asl +++ b/src/mainboard/google/cyan/acpi/touchscreen_melfas.asl @@ -20,7 +20,7 @@ Scope (\_SB.PCI0.I2C1) AddressingMode7Bit, /* AddressingMode */ "\\_SB.PCI0.I2C1", /* ResourceSource */ ) - GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Level, ActiveLow, SharedAndWake, PullDefault,, "\\_SB.GPNC") { BOARD_TOUCH_GPIO_INDEX } }) Return (BUF0) diff --git a/src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl b/src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl index 8ab5923c29..a944db6113 100644 --- a/src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl +++ b/src/mainboard/google/cyan/acpi/touchscreen_synaptics.asl @@ -63,7 +63,7 @@ Scope (\_SB.PCI0.I2C1) AddressingMode7Bit, /* AddressingMode */ "\\_SB.PCI0.I2C1", /* ResourceSource */ ) - GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Level, ActiveLow, SharedAndWake, PullDefault,, "\\_SB.GPNC") { BOARD_TOUCH_GPIO_INDEX } }) Return (BUF0) diff --git a/src/mainboard/google/cyan/acpi/trackpad_atmel.asl b/src/mainboard/google/cyan/acpi/trackpad_atmel.asl index b34680c5d1..91678de8b8 100644 --- a/src/mainboard/google/cyan/acpi/trackpad_atmel.asl +++ b/src/mainboard/google/cyan/acpi/trackpad_atmel.asl @@ -19,7 +19,7 @@ Scope (\_SB.PCI0.I2C6) AddressingMode7Bit, // AddressingMode "\\_SB.PCI0.I2C6", // ResourceSource ) - GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Level, ActiveLow, SharedAndWake, PullDefault,, "\\_SB.GPNC") { BOARD_TRACKPAD_GPIO_INDEX } }) diff --git a/src/mainboard/google/cyan/acpi/trackpad_elan.asl b/src/mainboard/google/cyan/acpi/trackpad_elan.asl index 175bdaf845..aa268b1b5d 100644 --- a/src/mainboard/google/cyan/acpi/trackpad_elan.asl +++ b/src/mainboard/google/cyan/acpi/trackpad_elan.asl @@ -18,7 +18,7 @@ Scope (\_SB.PCI0.I2C6) AddressingMode7Bit, /* AddressingMode */ "\\_SB.PCI0.I2C6", /* ResourceSource */ ) - GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault,, + GpioInt (Level, ActiveLow, SharedAndWake, PullDefault,, "\\_SB.GPNC") { BOARD_TRACKPAD_GPIO_INDEX } })