On Mon, Apr 28, 2025 at 2:31 PM Armin Wolf <W_Armin@xxxxxx> wrote:
Am 27.04.25 um 00:52 schrieb Armin Wolf:Sure, no problem.
Am 26.04.25 um 15:12 schrieb Rafael J. Wysocki:I am a bit ashamed of myself but i think we need to put this patch series on hold after all :(.
On Sat, Apr 26, 2025 at 1:20 AM Armin Wolf <W_Armin@xxxxxx> wrote:Ok, thanks.
Am 10.04.25 um 18:54 schrieb Armin Wolf:Sure.
The ACPI specification defines an interface for the operating systemAny updates on this? I can proof that the new interface for setting
to change the preferred cooling mode of a given ACPI thermal zone.
This interface takes the form of a special ACPI control method called
_SCP (see section 11.4.13 for details) and is already supported by the
ACPI thermal driver.
However this support as many issues:
- the kernel advertises support for the "3.0 _SCP Extensions"
yet the
ACPI thermal driver does not support those extensions. This may
confuse the ACPI firmware.
- the execution of the _SCP control method happens after the driver
retrieved the trip point values. This conflicts with the ACPI
specification:
"OSPM will automatically evaluate _ACx and _PSV objects after
executing _SCP."
- the cooling mode is hardcoded to active cooling and cannot be
changed by the user.
Those issues are fixed in this patch series. In the end the user
will be able to tell the ACPI firmware wether he prefers active or
passive cooling. This setting will also be interesting for
applications like TLP (https://linrunner.de/tlp/index.html).
The whole series was tested on various devices supporting the _SCP
control method and on a device without the _SCP control method and
appears to work flawlessly.
the cooling mode
works. Additionally the first two patches fix two issues inside the
underlying code
itself, so having them inside the mainline tree would be beneficial
to users.
I'm going to get to them next week, probably on Monday.
Armin Wolf
The reason of this is that i am confused by the ACPI specification regarding _SCP:
11.1.2.1. OSPM Change of Cooling Policy
When OSPM changes the platform’s cooling policy from one cooling mode to the other, the following occurs:
1. OSPM notifies the platform of the new cooling mode by running the Set Cooling Policy (_SCP) control method in all thermal zones and invoking the OS-specific Set Cooling Policy interface to all participating devices in each thermal zone.
2. Thresholds are updated in the hardware and OSPM is notified of the change.
3. OSPM re-evaluates the active and passive cooling temperature trip points for the zone and all devices in the zone to obtain the new temperature thresholds.
This section of the ACPI specification tells me that we need to evaluate the _SCP control method of all ACPI thermal zones
at the same time, yet section 11.4.13. tells me that each _SCP control methods belongs to the individual thermal zone.
The reason why i am concerned by this is because Windows adheres to section 11.1.2.1. and only exposes this setting
as a global tunable. This might cause device manufacturers to depend on this behavior and lead to strange things
should two thermal zones have different _SCP settings.
I will ask the UEFI mailing list which behavior is expected by the ACPI specification. Until then i suggest that
we put this patch series on hold.
Please resend it when you think it is good to go.
Thanks!