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

Reply via email to