Intel Uncore Frequency Linux Driver Prepares For TPMI & Cluster Level Power Controls
Intel's open-source engineers have been preparing the kernel for the Intel Topology Aware Register and Power Management Capsule Interface (TPMI). This is a new Intel interface for dealing with power management features on their platforms moving forward. The TPMI integration has been landing since Linux 6.3 and for Linux 6.5 there are patches now queued into the x86 platform drivers "for-next" branch for extending the TPMI support in the intel-uncore-freq driver and preparing for the cluster level controls with future hardware.
The queued Intel patches explain:
The new generation of CPUs have granular control at a cluster level. Each package/die can have multiple power domains, which further can have multiple fabric clusters. The TPMI interface allows control at fabric cluster level.
An SoC can contain multiple power domains with individual or collection of mesh partitions. This partition is called fabric cluster.
Certain type of meshes will need to run at the same frequency, they will be placed in the same fabric cluster. Benefit of fabric cluster is that it offers a scalable mechanism to deal with partitioned fabrics in a SoC.
The current sysfs interface supports controls at package and die level. This interface is not enough to support more granular control at fabric cluster level.
SoCs with the support of TPMI (Topology Aware Register and PM Capsule Interface), can have multiple power domains. Each power domain can contain one or more fabric clusters.
The patches don't explicitly state what generation of Intel CPUs start off having this TPMI support with cluster level controls, but given the timing of these patches, presumably it will come into play for Meteor Lake.
The Uncore Frequency driver patches for TPMI and the cluster-level controls are in the platform-drivers-x86.git for-next branch