ACK/Cmnt: [PATCH 0/1][SRU][JAMMY] Update int340x OS policy capability handshake
Colin King (gmail)
colin.i.king at gmail.com
Wed Mar 23 16:14:11 UTC 2022
On 23/03/2022 15:30, Tim Gardner wrote:
> Acked-by: Tim Gardner <tim.gardner at canonical.com>
>
> This is a clean cherry-pick which can be added when applied, e.g.,
>
> git cherry-pick -s -x c7ff29763989bd09c433f73fae3c1e1c15d9cda4
>
> unless you'd like to send a v2.
I'm 6 months from sending a patch to this mailing list and I forgot the
clean cherry pick annotation. Would some nice kind person from the
kernel team add it for me :-) ..and I'll try to do better next time.
Colin
>
> rtg
>
> On 3/23/22 08:38, Colin Ian King wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1966089
>>
>> == SRU JAMMY ==
>>
>> Update int340x OS policy capability handshake; required for full
>> functionality
>> in thermald 2.4.9 to improve functionality for newer H/W.
>>
>> == The fix ==
>>
>> Upstream commit:
>>
>> commit c7ff29763989bd09c433f73fae3c1e1c15d9cda4
>> Author: Srinivas Pandruvada <srinivas.pandruvada at linux.intel.com>
>> Date: Mon Mar 14 15:09:37 2022 -0700
>>
>> thermal: int340x: Update OS policy capability handshake
>>
>> Update the firmware with OS supported policies mask, so that
>> firmware can
>> relinquish its internal controls. Without this update several
>> Tiger Lake
>> laptops gets performance limited with in few seconds of executing in
>> turbo region.
>>
>> The existing way of enumerating firmware policies via IDSP method
>> and
>> selecting policy by directly writing those policy UUIDS via _OSC
>> method
>> is not supported in newer generation of hardware.
>>
>> There is a new UUID "B23BA85D-C8B7-3542-88DE-8DE2FFCFD698" is
>> defined for
>> updating policy capabilities. As part of ACPI _OSC method:
>>
>> Arg0 - UUID: B23BA85D-C8B7-3542-88DE-8DE2FFCFD698
>> Arg1 - Rev ID: 1
>> Arg2 - Count: 2
>> Arg3 - Capability buffers: Array of Arg2 DWORDS
>>
>> DWORD1: As defined in the ACPI 5.0 Specification
>> - Bit 0: Query Flag
>> - Bits 1-3: Always 0
>> - Bits 4-31: Reserved
>>
>> DWORD2 and beyond:
>> - Bit0: set to 1 to indicate Intel(R) Dynamic Tuning is active, 0 to
>> indicate it is disabled and legacy thermal mechanism should
>> be enabled.
>> - Bit1: set to 1 to indicate Intel(R) Dynamic Tuning is controlling
>> active cooling, 0 to indicate bios shall enable legacy thermal
>> zone with active trip point.
>> - Bit2: set to 1 to indicate Intel(R) Dynamic Tuning is controlling
>> passive cooling, 0 to indicate bios shall enable legacy thermal
>> zone with passive trip point.
>> - Bit3: set to 1 to indicate Intel(R) Dynamic Tuning is handling
>> critical trip point, 0 to indicate bios shall enable legacy
>> thermal zone with critical trip point.
>> - Bits 4:31: Reserved
>>
>> From sysfs interface, there is an existing interface to update
>> policy
>> UUID using attribute "current_uuid". User space can write the
>> same UUID
>> for ACTIVE, PASSIVE and CRITICAL policy. Driver converts these
>> UUIDs to
>> DWORD2 Bit 1 to Bit 3. When any of the policy is activated by user
>> space it is assumed that dynamic tuning is active.
>>
>> For example
>> $cd /sys/bus/platform/devices/INTC1040:00/uuids
>> To support active policy
>> $echo "3A95C389-E4B8-4629-A526-C52C88626BAE" > current_uuid
>> To support passive policy
>> $echo "42A441D6-AE6A-462b-A84B-4A8CE79027D3" > current_uuid
>> To support critical policy
>> $echo "97C68AE7-15FA-499c-B8C9-5DA81D606E0A" > current_uuid
>>
>> To check all the supported policies
>> $cat current_uuid
>> 3A95C389-E4B8-4629-A526-C52C88626BAE
>> 42A441D6-AE6A-462b-A84B-4A8CE79027D3
>> 97C68AE7-15FA-499c-B8C9-5DA81D606E0A
>>
>> To match the bit format for DWORD2, rearranged enum
>> int3400_thermal_uuid
>> and int3400_thermal_uuids[] by swapping current
>> INT3400_THERMAL_ACTIVE
>> and INT3400_THERMAL_PASSIVE_1.
>>
>> If the policies are enumerated via IDSP method then legacy method is
>> used, if not the new method is used to update policy support.
>>
>> Srinivas Pandruvada (1):
>> thermal: int340x: Update OS policy capability handshake
>>
>> .../intel/int340x_thermal/int3400_thermal.c | 146 ++++++++++++------
>> 1 file changed, 97 insertions(+), 49 deletions(-)
>>
>
More information about the kernel-team
mailing list