On Mon, 31 Mar 2025 at 22:51, Antheas Kapenekakis <lkml@xxxxxxxxxxx> wrote: > > On Mon, 31 Mar 2025 at 22:44, Mario Limonciello <superm1@xxxxxxxxxx> wrote: > > > > From: Mario Limonciello <mario.limonciello@xxxxxxx> > > > > When AC adapter is unplugged or plugged in EC wakes from > > HW sleep but APU doesn't enter back into HW sleep. > > > > The reason this hapens is that when APU exits HW sleep the power > > rails the EC controls will power up the TCON. The TCON has a > > GPIO that will be toggled during this time. The GPIO is not marked > > as a wakeup source however GPIO controller still has an unserviced > > interrupt and it will block entering HW sleep again. Clearing the > > GPIO doesn't help, the TCON raises it again until it's been initialized > > by i2c-hid. > > > > Fixing this would require TCON F/W changes and it's already broken > > in the wild on production hardware. > > > > To avoid triggering this issue add a quirk to avoid letting EC wake > > up system at all. The power button still works properly on this system. > > Hi Mario, > I reported this issue to you early in January, did all the debugging > for it, found the cause, made this patch, tested it, and finally > deployed it as well. Then sent it to Xino. > > Then you pushed back for perfectly valid reasons, and we had a > multi-week long back and forth trying to find the proper cause for > this. > > So from my side I do not get why I am just a reported-by here. This is > my patch. We also had a discussion about this out of band. > > Antheas It is interesting you ended up finding the cause. Which makes attributing this a bit murkier. Antheas > > > Cc: Xino JS1 Ni <nijs1@xxxxxxxxxx> > > Reported-by: Antheas Kapenekakis <lkml@xxxxxxxxxxx> > > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3929 > > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> > > --- > > drivers/acpi/ec.c | 28 ++++++++++++++++++++++++++++ > > 1 file changed, 28 insertions(+) > > > > diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c > > index 8db09d81918fb..3c5f34892734e 100644 > > --- a/drivers/acpi/ec.c > > +++ b/drivers/acpi/ec.c > > @@ -2301,6 +2301,34 @@ static const struct dmi_system_id acpi_ec_no_wakeup[] = { > > DMI_MATCH(DMI_PRODUCT_FAMILY, "103C_5336AN HP ZHAN 66 Pro"), > > }, > > }, > > + /* > > + * Lenovo Legion Go S; touchscreen blocks HW sleep when woken up from EC > > + * https://gitlab.freedesktop.org/drm/amd/-/issues/3929 > > + */ > > + { > > + .matches = { > > + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), > > + DMI_MATCH(DMI_PRODUCT_NAME, "83L3"), > > + } > > + }, > > + { > > + .matches = { > > + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), > > + DMI_MATCH(DMI_PRODUCT_NAME, "83N6"), > > + } > > + }, > > + { > > + .matches = { > > + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), > > + DMI_MATCH(DMI_PRODUCT_NAME, "83Q2"), > > + } > > + }, > > + { > > + .matches = { > > + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), > > + DMI_MATCH(DMI_PRODUCT_NAME, "83Q3"), > > + } > > + }, > > { }, > > }; > > > > -- > > 2.43.0 > >