Public bug reported:
[Impact]
On MediaTek MT8901 systems, a USB keyboard or mouse cannot wake the system from
s2idle. Deep suspend is not affected.
Firmware describes each xHCI controller's wake line as an ACPI GpioInt on an
EINT line of the pin controller. That line is never armed:
* xhci-plat takes the MediaTek v2 wake IRQ from the controller's second
Interrupt() resource and never looks at the GpioInt.
* The MT8901 pin controller only exposes GPIOs 0-181, so a GpioInt on EINT 182
or above cannot be resolved (-EINVAL).
* The pinmux request and direction hooks write pad registers that do not exist
for EINT-only lines, so the ACPI GpioInt path fails to set them as inputs.
Separately, every boot logs spurious "Failed to set debounce-timeout 0: -22"
warnings for EINTs that have no debounce hardware.
[Fix]
Four SAUCE patches:
* pinctrl: paris: make the pinmux request and direction hooks no-ops for
virtual (EINT-only) GPIOs, and refuse output direction on them.
* pinctrl: mt8901: declare EINT 182-208 as virtual GPIOs, as mt6779 and mt8195
already do, so firmware GpioInt resources can claim them.
* pinctrl: paris: return -ENOTSUPP for debounce on an EINT without debounce
hardware, which gpiolib treats as an unsupported optional setting.
* usb: xhci-plat: use the ACPI GpioInt as the MediaTek v2 wake IRQ, falling
back to the old lookup when firmware describes none, and enable wakeup by
default when firmware marks the line wake-capable.
** Affects: linux-nvidia-bos (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2172005
Title:
MT8901: USB keyboard or mouse cannot wake the system from s2idle
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-bos/+bug/2172005/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs