From: "Derek J. Clark" <derekjohn.clark@gmail.com>
To: Antheas Kapenekakis <lkml@antheas.dev>
Cc: Mario Limonciello <mario.limonciello@amd.com>,
Luke Jones <luke@ljones.dev>,
me@kylegospodneti.ch, Denis Benato <benato.denis96@gmail.com>,
linux-pm@vger.kernel.org,
"Derek J . Clark" <derekjohn.clark@gmail.com>
Subject: Re: [PATCH v2 0/5] acpi/x86: s2idle: move Display off/on calls outside suspend (fixes ROG Ally suspend)
Date: Sun, 22 Sep 2024 18:35:59 -0700 [thread overview]
Message-ID: <20240923013657.7464-1-derekjohn.clark@gmail.com> (raw)
In-Reply-To: <CAGwozwHqHbHNi53T87m36-OZ8suCEo1wgJ9fPPgPdcLnt_+S4g@mail.gmail.com>
> Hi Derek,
Hello
> It is ok you have upgraded both of your units. We have plenty of
> contributors and users that are not on the experimental firmware you
> are on and will provide ample testing for probably the next half year.
> As the update will need 1-2 months of validation and it is very
> difficult and painful to update firmware from linux.
> As I am tired, allow me to quickly jot down some thoughts so I can
> enjoy my evening.
> I only got my Ally X unit 5 days ago, so I cannot say I spent
> thousands of hours collectively but right now, I am pretty certain of
> the issue that was happening in the Ally units.
> It is the combination of three cascading issues:
> 1) Display On/Off calls are not part of the suspend sequence in
> neither WIndows or Linux currently. In Windows, they are called before
> suspend, and in Linux after. This is a large deviation that completely
> breaks the controller of the Ally. The previous solution was to insert
> a second call to those functions in the middle of the Linux suspend
> sequence, and then collectively spend months fighting with random
> racing conditions. Patches 1, 2, 4 refactor s2idle to make sure that
> never happens again, for any device, including the Ally.
> 2) The Ally Controller has a choreographed sequence with which it
> fades its RGB during suspend. This happens during the Display Off
> transition of Screen Off in Windows. In all of my testing in windows,
> Screen Off lasts AT LEAST 10 seconds, if not more. I had to stand
> around looking at that power light to turn off more than once. If
> Linux cuts off its power supply before that, it gets confused and
> restarts after suspend. If that restart happens during the resume
> sequence, see (1,3). Patch 3 fixes this. This flourish is an important
> part of user experience, so adding a delay here is required, even if
> firmware updates.
> 3) Finally, the Ally Controller, when it boots up, is sensitive to
> commands for 1-2 seconds, which will cause it to restart. Even with
> this patch series, this remains an issue on my device with powersave
> on, while the device initializes. asus_hid (or hhd) will instantly
> send a command to the device on connection, which causes this issue
> and then combines with 1 + 2. My patch series does not fix this.
> 1 and 2 will always be issues for the Ally, regardless of firmware
> updates and probably for other devices too. N3 I will solve through
> userspace + with distribution help, and it is not something that will
> take that much time. Patch N5 adds too much delay unfortunately,
> especially after resume. I would like to see it go, at least for my
> users.
I'm going to be somewhat brief here as I don't like repeating myself, you are
working from incomplete information and from that you are inferring incorrect
assertions. Due to NDA the full slate of information that would clarify this
cannot be released here, but I will be clear: I am not sharing my opinion, I
am stating facts. What you have described here is a missinterpretation of the
symptoms and is not correct. The _DSM call is not relevant to the proper fix,
the sequencing you observe is not applicable to Linux, and the sensitivity of
the controller is another symptom of the Windows quirk behaving badly in Linux.
Furthermore, the RGB "flourish" as you call it works as intended with the new
firmware and no kernel changes required.
What I can provide is information on a test we did that should hopefully
elucidate the issue more clearly for you. We included a patch that allowed us
to alter the delay in asus-wmi on the fly by writing to an attribute in sysfs.
In addition, we pushed the _DSM calls as early as possible in the suspend
sequence. We were unable to find a timing for this that would work consistently
on different configurations. The same issue exists in your patch set and the
testing bears this out with Denis still getting spurious wakes when using it.
The problem with your approach is that you aren't listening to us despite our
much broader understanding of the issue at hand. If this worked we would have
submitted it ourselves nearly three weeks ago.
> Your solution of making kernel changes for newer firmware + custom
> firmware + kernel changes for newer firmware with quirks somehow seems
> more convoluted to me than just cleaning up a bit of the s2idle
> subsystem to benefit all devices, with a little, firmware agnostic
> delay, for some flourish.
> Antheas
Our solution doesn't require any kernel changes for newer firmware, as I
already stated the solution from ASUS fixes the root cause of the problem. Your
attempt at a solution attempts to outrace the symptoms of it. Please don't
mischaracterize my statements.
Derek
next prev parent reply other threads:[~2024-09-23 1:37 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-22 17:22 [PATCH v2 0/5] acpi/x86: s2idle: move Display off/on calls outside suspend (fixes ROG Ally suspend) Antheas Kapenekakis
2024-09-22 17:22 ` [PATCH v2 1/5] acpi/x86: s2idle: add support for Display Off and Display On callbacks Antheas Kapenekakis
2024-09-23 15:57 ` Mario Limonciello
2024-09-22 17:22 ` [PATCH v2 2/5] acpi/x86: s2idle: handle Display On/Off calls outside of suspend sequence Antheas Kapenekakis
2024-09-23 16:03 ` Mario Limonciello
2024-09-23 16:15 ` Antheas Kapenekakis
2024-09-23 16:30 ` Mario Limonciello
2024-09-23 16:43 ` Antheas Kapenekakis
2024-09-23 17:01 ` Antheas Kapenekakis
2024-09-23 17:05 ` Mario Limonciello
2024-09-23 17:13 ` Antheas Kapenekakis
2024-09-22 17:22 ` [PATCH v2 3/5] acpi/x86: s2idle: add quirk table for modern standby delays Antheas Kapenekakis
2024-09-22 17:54 ` Denis Benato
2024-09-22 18:00 ` Antheas Kapenekakis
2024-09-22 17:22 ` [PATCH v2 4/5] acpi/x86: s2idle: call Display On/Off as part of callbacks and rename Antheas Kapenekakis
2024-09-22 17:22 ` [PATCH v2 5/5] platform/x86: asus-wmi: remove Ally (1st gen) and Ally X suspend quirk Antheas Kapenekakis
2024-09-22 18:15 ` [PATCH v2 0/5] acpi/x86: s2idle: move Display off/on calls outside suspend (fixes ROG Ally suspend) Derek J. Clark
2024-09-22 19:40 ` Antheas Kapenekakis
2024-09-23 1:35 ` Derek J. Clark [this message]
2024-09-23 5:57 ` Antheas Kapenekakis
2024-09-23 11:09 ` Luke Jones
2024-09-23 13:11 ` Antheas Kapenekakis
2024-09-23 15:56 ` Mario Limonciello
2024-09-23 16:11 ` Antheas Kapenekakis
2024-09-23 16:21 ` Mario Limonciello
2024-09-23 16:54 ` Antheas Kapenekakis
2024-09-23 17:15 ` Mario Limonciello
2024-09-23 17:48 ` Antheas Kapenekakis
2024-10-05 14:21 ` Hans de Goede
2024-10-05 15:10 ` Antheas Kapenekakis
2024-10-05 16:24 ` Hans de Goede
2024-10-05 16:27 ` Hans de Goede
2024-10-05 16:50 ` Antheas Kapenekakis
2024-10-05 16:57 ` Antheas Kapenekakis
2024-10-05 21:47 ` Hans de Goede
2024-10-05 22:15 ` Antheas Kapenekakis
2024-10-06 10:16 ` Hans de Goede
2024-10-06 11:29 ` Antheas Kapenekakis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240923013657.7464-1-derekjohn.clark@gmail.com \
--to=derekjohn.clark@gmail.com \
--cc=benato.denis96@gmail.com \
--cc=linux-pm@vger.kernel.org \
--cc=lkml@antheas.dev \
--cc=luke@ljones.dev \
--cc=mario.limonciello@amd.com \
--cc=me@kylegospodneti.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox