From: Dmitry Osipenko <dmitry.osipenko@collabora.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Mario Limonciello <superm1@kernel.org>,
Robert Beckett <bob.beckett@collabora.com>,
linux-acpi@vger.kernel.org, kernel@collabora.com,
linux-kernel@vger.kernel.org,
Sebastian Reichel <sebastian.reichel@collabora.com>,
Xaver Hugl <xaver.hugl@gmail.com>,
Richard Hughes <richard@hughsie.com>,
William Jon McCann <mccann@jhu.edu>,
"Jaap A . Haitsma" <jaap@haitsma.org>,
Benjamin Canou <bookeldor@gmail.com>,
Bastien Nocera <hadess@hadess.net>,
systemd-devel@lists.freedesktop.org,
Lennart Poettering <lennart@poettering.net>,
Antheas Kapenekakis <lkml@antheas.dev>
Subject: Re: [RFC PATCH v1 1/1] ACPI: PM: s2idle: Add lps0_screen_off sysfs interface
Date: Thu, 4 Dec 2025 18:03:44 +0300 [thread overview]
Message-ID: <479b4a5a-a792-4d3d-8bf1-59ef296b7e96@collabora.com> (raw)
In-Reply-To: <CAJZ5v0hRiA_AFTsBL0Ud5vdDyyqSJcwLtKaVtpYareh4URS_CQ@mail.gmail.com>
On 12/3/25 17:58, Rafael J. Wysocki wrote:
>> Add `/sys/power/lps0_screen_off` interface to allow userspace to control
>> Display OFF/ON DSM notifications at runtime.
> Why?
>
>> Writing "1" to this file triggers the OFF notification, and "0" triggers the ON notification.
>>
>> Userspace should write "1" after turning off all physical and remote
>> displays. It should write "0" before turning on any of displays.
> This sets a limitation on the correct/expected usage of this
> interface. How can the kernel ensure that the limitation is taken
> into account? In principle, it should not allow OFF to be triggered
> if any displays are "on", for example.
>
> And what exactly do you mean by "turning off a display". Cutting
> power from it or something else?
The common lowest level denominator for the "turned off display" should
be that all display CRTCs are disabled and there are no active remote
desktop sessions.
For example, firmware of Intel laptops tracks state of a built-in
display internally and treats display being tuned off when either
display's CRTC is disabled or when backlight level is set to 0. This may
be not the same for AMD firmware.
Display On/Off notification is a hint to firmware that it's allowed to
put machine into a lower power state where UI presented to a user may
become non-interactive.
In practice, entering this lower power state makes device to pretend
that it has been suspended. On a laptop, keyboard backlight will be
turned off and power button LED will start blinking. This allows us to
implement the "resume to a dark mode", mentioned in the cover letter.
It's up to userspace to make decision when and what DSM notification
should be issued, thus the new sysfs control.
There is no strict requirement on having displays to be turned off when
Display OFF notification is issued. Machine won't blow up when display
is enabled and OFF notification is set. Hence, it should be unnecessary
for kernel to be extra cautious RE trusting userspace.
--
Best regards,
Dmitry
next prev parent reply other threads:[~2025-12-04 15:04 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-02 4:34 [RFC PATCH v1 0/1] ACPI: s2idle: Add /sys/power/lps0_screen_off Dmitry Osipenko
2025-12-02 4:34 ` [RFC PATCH v1 1/1] ACPI: PM: s2idle: Add lps0_screen_off sysfs interface Dmitry Osipenko
2025-12-02 4:43 ` Mario Limonciello (AMD) (kernel.org)
2025-12-02 5:26 ` Dmitry Osipenko
2025-12-02 9:32 ` Antheas Kapenekakis
2025-12-02 14:23 ` Mario Limonciello
2025-12-02 15:17 ` Antheas Kapenekakis
2025-12-02 21:25 ` Mario Limonciello (AMD) (kernel.org)
2025-12-02 22:35 ` Dmitry Osipenko
2025-12-03 2:12 ` Mario Limonciello (AMD) (kernel.org)
2025-12-03 6:46 ` Dmitry Osipenko
2025-12-03 10:12 ` Antheas Kapenekakis
2025-12-03 14:34 ` Mario Limonciello
2025-12-03 14:46 ` Antheas Kapenekakis
2025-12-02 21:59 ` Dmitry Osipenko
2025-12-03 14:58 ` Rafael J. Wysocki
2025-12-04 15:03 ` Dmitry Osipenko [this message]
2025-12-04 16:41 ` Rafael J. Wysocki
2025-12-04 18:31 ` Antheas Kapenekakis
2025-12-05 16:32 ` Rafael J. Wysocki
2025-12-05 16:46 ` Mario Limonciello (AMD) (kernel.org)
2025-12-05 17:22 ` Rafael J. Wysocki
2025-12-05 18:07 ` Mario Limonciello
2025-12-05 19:37 ` Rafael J. Wysocki
2025-12-05 19:42 ` Mario Limonciello
2025-12-05 20:06 ` Rafael J. Wysocki
2025-12-05 21:52 ` Antheas Kapenekakis
2025-12-06 14:34 ` Rafael J. Wysocki
2025-12-06 20:50 ` Mario Limonciello
2025-12-06 23:35 ` Antheas Kapenekakis
2025-12-07 0:31 ` Mario Limonciello
2025-12-07 10:34 ` Antheas Kapenekakis
2025-12-05 22:51 ` Antheas Kapenekakis
2025-12-07 11:06 ` Rafael J. Wysocki
2025-12-07 11:19 ` Rafael J. Wysocki
2025-12-07 11:50 ` Antheas Kapenekakis
2025-12-09 22:13 ` Dmitry Osipenko
2025-12-09 22:22 ` Antheas Kapenekakis
2025-12-09 22:23 ` Rafael J. Wysocki
2025-12-07 11:42 ` Antheas Kapenekakis
2025-12-05 13:34 ` [RFC PATCH v1 0/1] ACPI: s2idle: Add /sys/power/lps0_screen_off Pavel Machek
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=479b4a5a-a792-4d3d-8bf1-59ef296b7e96@collabora.com \
--to=dmitry.osipenko@collabora.com \
--cc=bob.beckett@collabora.com \
--cc=bookeldor@gmail.com \
--cc=hadess@hadess.net \
--cc=jaap@haitsma.org \
--cc=kernel@collabora.com \
--cc=lennart@poettering.net \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkml@antheas.dev \
--cc=mccann@jhu.edu \
--cc=rafael@kernel.org \
--cc=richard@hughsie.com \
--cc=sebastian.reichel@collabora.com \
--cc=superm1@kernel.org \
--cc=systemd-devel@lists.freedesktop.org \
--cc=xaver.hugl@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox