** Changed in: linux-oem-5.17 (Ubuntu Focal)
       Status: New => Invalid

** Changed in: linux-oem-5.17 (Ubuntu Jammy)
       Status: In Progress => Fix Committed

** Changed in: linux-oem-5.14 (Ubuntu Focal)
       Status: In Progress => Fix Committed

** Changed in: linux-oem-5.14 (Ubuntu Jammy)
       Status: New => Invalid

** Changed in: linux-oem-5.14 (Ubuntu)
       Status: New => Invalid

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-oem-5.14 in Ubuntu.
https://bugs.launchpad.net/bugs/1966089

Title:
  Update OS policy capability handshake

Status in HWE Next:
  New
Status in linux package in Ubuntu:
  Fix Released
Status in linux-oem-5.14 package in Ubuntu:
  Invalid
Status in linux-oem-5.17 package in Ubuntu:
  New
Status in linux source package in Focal:
  New
Status in linux-oem-5.14 source package in Focal:
  Fix Committed
Status in linux-oem-5.17 source package in Focal:
  Invalid
Status in linux source package in Jammy:
  New
Status in linux-oem-5.14 source package in Jammy:
  Invalid
Status in linux-oem-5.17 source package in Jammy:
  Fix Committed

Bug description:
  == 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>

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1966089/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to