Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

platform/x86/amd/pmf: Add support for adjusting PMF PPT and PPT APU thresholds

The most recent PMF Trusted Application includes enhanced features that
allow for modifications to PMF thermal parameters such as PPT and PPT APU.

This update introduces the necessary driver support to utilize these
capabilities.

Co-developed-by: Patil Rajesh Reddy <Patil.Reddy@amd.com>
Signed-off-by: Patil Rajesh Reddy <Patil.Reddy@amd.com>
Tested-by: Yijun Shen <Yijun.Shen@Dell.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Link: https://patch.msgid.link/20250901110140.2519072-2-Shyam-sundar.S-k@amd.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

authored by

Shyam Sundar S K and committed by
Ilpo Järvinen
f10ea2df c4f8b11b

+20
+4
drivers/platform/x86/amd/pmf/pmf.h
··· 93 93 #define PMF_POLICY_BIOS_OUTPUT_1 10 94 94 #define PMF_POLICY_BIOS_OUTPUT_2 11 95 95 #define PMF_POLICY_P3T 38 96 + #define PMF_POLICY_PMF_PPT 54 97 + #define PMF_POLICY_PMF_PPT_APU_ONLY 55 96 98 #define PMF_POLICY_BIOS_OUTPUT_3 57 97 99 #define PMF_POLICY_BIOS_OUTPUT_4 58 98 100 #define PMF_POLICY_BIOS_OUTPUT_5 59 ··· 679 677 u32 stt_skintemp_apu; /* in C */ 680 678 u32 stt_skintemp_hs2; /* in C */ 681 679 u32 p3t_limit; /* in mW */ 680 + u32 pmf_ppt; /* in mW */ 681 + u32 pmf_ppt_apu_only; /* in mW */ 682 682 }; 683 683 684 684 /* Input conditions */
+16
drivers/platform/x86/amd/pmf/tee-if.c
··· 147 147 } 148 148 break; 149 149 150 + case PMF_POLICY_PMF_PPT: 151 + if (dev->prev_data->pmf_ppt != val) { 152 + amd_pmf_send_cmd(dev, SET_PMF_PPT, false, val, NULL); 153 + dev_dbg(dev->dev, "update PMF PPT: %u\n", val); 154 + dev->prev_data->pmf_ppt = val; 155 + } 156 + break; 157 + 158 + case PMF_POLICY_PMF_PPT_APU_ONLY: 159 + if (dev->prev_data->pmf_ppt_apu_only != val) { 160 + amd_pmf_send_cmd(dev, SET_PMF_PPT_APU_ONLY, false, val, NULL); 161 + dev_dbg(dev->dev, "update PMF PPT APU ONLY: %u\n", val); 162 + dev->prev_data->pmf_ppt_apu_only = val; 163 + } 164 + break; 165 + 150 166 case PMF_POLICY_SYSTEM_STATE: 151 167 switch (val) { 152 168 case 0: