From: "Michał Grzelak" <michal.grzelak@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: "Michał Grzelak" <michal.grzelak@intel.com>,
intel-gfx-trybot@lists.freedesktop.org, jani.saarinen@intel.com,
suresh.kumar.kurmi@intel.com, mohammed.thasleem@intel.com,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
"Jani Nikula" <jani.nikula@intel.com>
Subject: Re: [CI v2 2/2] ACPI: PM: s2idle: Add module parameter for LPS0 constraints checking
Date: Mon, 12 Jan 2026 17:52:29 +0100 (CET) [thread overview]
Message-ID: <653b6ef6-e881-1aa7-fab1-32c8c76ee544@intel.com> (raw)
In-Reply-To: <20260110154405.2825339-3-michal.grzelak@intel.com>
[-- Attachment #1: Type: text/plain, Size: 2894 bytes --]
On Sat, 10 Jan 2026, Michał Grzelak wrote:
> From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
>
> Commit 32ece31db4df ("ACPI: PM: s2idle: Only retrieve constraints when
> needed") attempted to avoid useless evaluation of LPS0 _DSM Function 1
> in lps0_device_attach() because pm_debug_messages_on might never be set
> (and that is the case on production systems most of the time), but it
> turns out that LPS0 _DSM Function 1 is generally problematic on some
> platforms and causes suspend issues to occur when pm_debug_messages_on
> is set now.
>
> In Linux, LPS0 _DSM Function 1 is only useful for diagnostics and only
> in the cases when the system does not reach the deepest platform idle
> state during suspend-to-idle for some reason. If such diagnostics is
> not necessary, evaluating it is a loss of time, so using it along with
> the other pm_debug_messages_on diagnostics is questionable because the
> latter is expected to be suitable for collecting debug information even
> during production use of system suspend.
>
> For this reason, add a module parameter called check_lps0_constraints
> to control whether or not the list of LPS0 constraints will be checked
> in acpi_s2idle_prepare_late_lps0() and so whether or not to evaluate
> LPS0 _DSM Function 1 (once) in acpi_s2idle_begin_lps0().
>
> Fixes: 32ece31db4df ("ACPI: PM: s2idle: Only retrieve constraints when needed")
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
> ---
> drivers/acpi/x86/s2idle.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/acpi/x86/s2idle.c b/drivers/acpi/x86/s2idle.c
> index 2a9edb53d5d4..cc3c83e4cc23 100644
> --- a/drivers/acpi/x86/s2idle.c
> +++ b/drivers/acpi/x86/s2idle.c
> @@ -28,6 +28,10 @@ static bool sleep_no_lps0 __read_mostly;
> module_param(sleep_no_lps0, bool, 0644);
> MODULE_PARM_DESC(sleep_no_lps0, "Do not use the special LPS0 device interface");
>
> +static bool check_lps0_constraints __read_mostly;
> +module_param(check_lps0_constraints, bool, 0644);
> +MODULE_PARM_DESC(check_lps0_constraints, "Check LPS0 device constraints");
> +
> static const struct acpi_device_id lps0_device_ids[] = {
> {"PNP0D80", },
> {"", },
> @@ -515,7 +519,7 @@ static struct acpi_scan_handler lps0_handler = {
>
> static int acpi_s2idle_begin_lps0(void)
> {
> - if (lps0_device_handle && !sleep_no_lps0 && pm_debug_messages_on &&
> + if (lps0_device_handle && !sleep_no_lps0 && check_lps0_constraints &&
> !lpi_constraints_table) {
> if (acpi_s2idle_vendor_amd())
> lpi_device_get_constraints_amd();
> @@ -540,7 +544,7 @@ static int acpi_s2idle_prepare_late_lps0(void)
> if (!lps0_device_handle || sleep_no_lps0)
> return 0;
>
> - if (pm_debug_messages_on)
> + if (check_lps0_constraints)
> lpi_check_constraints();
>
> /* Screen off */
> --
> 2.45.2
>
>
next prev parent reply other threads:[~2026-01-12 16:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-10 15:44 [CI v2 0/2] acpi: pm: s2idle: LPS0 changes Michał Grzelak
2026-01-10 15:44 ` [CI v2 1/2] ACPI: PM: s2idle: Add missing checks to acpi_s2idle_begin_lps0() Michał Grzelak
2026-01-12 16:50 ` Michał Grzelak
2026-01-10 15:44 ` [CI v2 2/2] ACPI: PM: s2idle: Add module parameter for LPS0 constraints checking Michał Grzelak
2026-01-12 16:52 ` Michał Grzelak [this message]
2026-01-10 15:53 ` ✓ CI.KUnit: success for acpi: pm: s2idle: LPS0 changes Patchwork
2026-01-10 16:27 ` ✓ Xe.CI.BAT: " Patchwork
2026-01-10 17:23 ` ✗ Xe.CI.Full: failure " Patchwork
2026-01-12 17:05 ` [CI v2 0/2] " Michał Grzelak
2026-01-12 21:59 ` Rodrigo Vivi
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=653b6ef6-e881-1aa7-fab1-32c8c76ee544@intel.com \
--to=michal.grzelak@intel.com \
--cc=intel-gfx-trybot@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=jani.saarinen@intel.com \
--cc=mohammed.thasleem@intel.com \
--cc=rafael.j.wysocki@intel.com \
--cc=suresh.kumar.kurmi@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.