Public bug reported:

== 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.pandruv...@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.
    
    Signed-off-by: Srinivas Pandruvada <srinivas.pandruv...@linux.intel.com>
    Signed-off-by: Rafael J. Wysocki <rafael.j.wyso...@intel.com>

** Affects: linux (Ubuntu)
     Importance: High
     Assignee: Andrea Righi (arighi)
         Status: New

** Changed in: linux (Ubuntu)
   Importance: Undecided => High

** Changed in: linux (Ubuntu)
     Assignee: (unassigned) => Andrea Righi (arighi)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1966089

Title:
  Update OS policy capability handshake

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1966089/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to