This series adds APIs to get the supported PM policies and also set them. A PM policy type is a predefined policy type supported by an SOC and each policy may define two or more levels to choose from. A user can select the appropriate level through amdgpu_dpm_set_pm_policy() or through sysfs node pm_policy. Based on the specific PM functional area, multiple PM policies may be defined for an SOC For ex: a policy may be defined to set the right setting for XGMI per link power down feature and another may be defined to select the SOC Pstate preferences. Presently, XGMI PLPD and SOC Pstate policy types are supported. It also removes the legacy sysfs interface to set XGMI PLPD as it is not used any client like SMI tool. v2: Add NULL checks to avoid access on SOCs which don't support any policy. v3: Rebase and add documentation patch v4: Use consistent policy type naming for read/write (Alex Deucher) v5: Use a pm_policy sysfs directory node and place the policy types in individual syfs files (Alex Deucher). Fix a logical issue in smu_get_pm_policy(). Lijo Lazar (10): drm/amd/pm: Add support for DPM policies drm/amd/pm: Update PMFW messages for SMUv13.0.6 drm/amd/pm: Add support to select pstate policy drm/amd/pm: Add xgmi plpd policy to pm_policy drm/amd/pm: Add xgmi plpd to SMU v13.0.6 pm_policy drm/amd/pm: Add xgmi plpd to aldebaran pm_policy drm/amd/pm: Add xgmi plpd to arcturus pm_policy drm/amd/pm: Remove legacy interface for xgmi plpd drm/amd/pm: Remove unused interface to set plpd Documentation/amdgpu: Add PM policy documentation Documentation/gpu/amdgpu/thermal.rst | 6 + drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 4 +- .../gpu/drm/amd/include/kgd_pp_interface.h | 17 ++ drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 33 +--- drivers/gpu/drm/amd/pm/amdgpu_pm.c | 178 +++++++++++++++--- drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h | 10 +- drivers/gpu/drm/amd/pm/inc/amdgpu_pm.h | 1 - drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 114 +++++++++-- drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h | 41 +++- .../pm/swsmu/inc/pmfw_if/smu_v13_0_6_ppsmc.h | 3 +- drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h | 3 +- .../gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c | 64 ++++--- .../drm/amd/pm/swsmu/smu13/aldebaran_ppt.c | 60 +++--- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 2 + .../drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 153 +++++++++++---- drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c | 57 ++++++ drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h | 2 + 17 files changed, 579 insertions(+), 169 deletions(-) -- 2.25.1