linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Limonciello, Mario" <mario.limonciello@amd.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Shyam Sundar S K <Shyam-sundar.S-k@amd.com>,
	Basavaraj Natikar <Basavaraj.Natikar@amd.com>,
	Alexander Deucher <Alexander.Deucher@amd.com>,
	bjoern.daase@gmail.com
Subject: Re: [PATCH 0/3] On AMD platforms only offer s2idle w/ proper FW
Date: Tue, 11 Jan 2022 10:23:42 -0600	[thread overview]
Message-ID: <eb3a323a-a4bb-bf8a-e642-88a2f68eeda7@amd.com> (raw)
In-Reply-To: <CAJZ5v0g-q4SLfK65bvWum7+OQZgbNQs47Pu3y-BCs9Px2C3Jag@mail.gmail.com>

+Alex

On 1/11/2022 09:52, Rafael J. Wysocki wrote:
> On Wed, Jan 5, 2022 at 8:39 PM Mario Limonciello
> <mario.limonciello@amd.com> wrote:
>>
>> Currently the Linux kernel will offer s2idle regardless of whether the FADT
>> indicates the system should use or on X86 if the LPS0 ACPI device has been
>> activated.
>>
>> On some non-AMD platforms s2idle can be offered even without proper
>> firmware support.  The power consumption may be higher in these instances
>> but the system otherwise properly suspends and resumes.
> 
> Well, the idea is that s2idle should not require FW support at all. >

May I ask - why?  It's an intentional design decision?

> It may not be possible to reach the minimum power level of the
> platform without FW support, but that should not prevent s2idle from
> being used.
> 
>> On AMD platforms however when the FW has been configured not to offer
>> s2idle some different hardware initialization has occurred such that the
>> system won't properly resume.
> 
> That's rather unfortunate.
> 
> Can you please share some details on what's going on in those cases?
> 
> Technically, without FW support there should be no difference between
> the platform state reachable via s2idle and the platform state
> reachable via runtime idle.

During resume there is a number of page faults that occur and during 
initialization the ring tests fail.  The graphics is unusable at this 
time as a result.

The amdgpu code actually *does* distinguish between the 3 different 
cases of S3, S0ix, and runtime suspend.

The function "amdgpu_acpi_is_s0ix_active" causes different codepaths to 
be used during the suspend routine.

In this particular case that FADT doesn't set the low power idle bit
and that function returns false meaning the s3 codepath is taken but
the hardware didn't go through a reset.

It *might* also be possible to solve this by mandating an ASIC reset in 
such a case (we didn't try).

However it comes back to my first upleveveled question - is this a case 
we really want to support and encourage?  This type of bug and 
combination of codepaths is not a case that is going to be well tested. 
This patch series will align the kernel behavior to only what AMD validates.

  reply	other threads:[~2022-01-11 16:23 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-05 19:39 [PATCH 0/3] On AMD platforms only offer s2idle w/ proper FW Mario Limonciello
2022-01-05 19:39 ` [PATCH 1/3] PM: suspend: Move some structure declarations around Mario Limonciello
2022-01-05 19:39 ` [PATCH 2/3] PM: sleep: Don't always assume s2idle will be enabled Mario Limonciello
2022-01-05 19:39 ` [PATCH 3/3] acpi: sleep: Don't offer s2idle on AMD platforms without LPS0 Mario Limonciello
2022-01-11 15:52 ` [PATCH 0/3] On AMD platforms only offer s2idle w/ proper FW Rafael J. Wysocki
2022-01-11 16:23   ` Limonciello, Mario [this message]
2022-01-11 17:05     ` Rafael J. Wysocki
2022-01-11 17:32       ` Limonciello, Mario
2022-01-11 17:32       ` Deucher, Alexander
2022-01-11 17:44         ` Rafael J. Wysocki
2022-01-11 18:30           ` Deucher, Alexander
2022-01-11 18:36             ` Limonciello, Mario
2022-01-11 19:20               ` Rafael J. Wysocki
2022-01-11 19:35                 ` Limonciello, Mario
2022-01-11 19:48                   ` Rafael J. Wysocki

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=eb3a323a-a4bb-bf8a-e642-88a2f68eeda7@amd.com \
    --to=mario.limonciello@amd.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=Basavaraj.Natikar@amd.com \
    --cc=Shyam-sundar.S-k@amd.com \
    --cc=bjoern.daase@gmail.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    /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;
as well as URLs for NNTP newsgroup(s).