On Fri, May 16, 2025 at 3:59 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
On Sat, May 3, 2025 at 12:29 AM Armin Wolf <W_Armin@xxxxxx> wrote:It just says "This object may exist under a thermal zone or a device"
Am 28.04.25 um 14:34 schrieb Rafael J. Wysocki:
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:
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.
so I don't see any contradiction. Section 11.4.13 says where it is
located and Section 11.1.2.1 says when to evaluate it.
However, Section 11.4.13 also says "OSPM will automatically evaluate
_ACx and _PSV objects after executing _SCP" which is not arranged for
in your patch [3/3] IIUC.
Thanks!