Enable peak profiling mode shader/memory clocks reporting for swsmu
framework.

Signed-off-by: Evan Quan <[email protected]>
Change-Id: Iebefecc9addd7352a50baec571791edc8d968375
---
 drivers/gpu/drm/amd/include/kgd_pp_interface.h | 2 ++
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c      | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h 
b/drivers/gpu/drm/amd/include/kgd_pp_interface.h
index 20e0272e46bb..d68bd7c1aa04 100644
--- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h
+++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h
@@ -139,6 +139,8 @@ enum amd_pp_sensors {
        AMDGPU_PP_SENSOR_MIN_FAN_RPM,
        AMDGPU_PP_SENSOR_MAX_FAN_RPM,
        AMDGPU_PP_SENSOR_VCN_POWER_STATE,
+       AMDGPU_PP_SENSOR_PEAK_PSTATE_SCLK,
+       AMDGPU_PP_SENSOR_PEAK_PSTATE_MCLK,
 };
 
 enum amd_pp_task {
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c 
b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index 8650a1404e22..3421022bf707 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -2473,6 +2473,14 @@ static int smu_read_sensor(void *handle,
                *((uint32_t *)data) = pstate_table->uclk_pstate.standard * 100;
                *size = 4;
                break;
+       case AMDGPU_PP_SENSOR_PEAK_PSTATE_SCLK:
+               *((uint32_t *)data) = pstate_table->gfxclk_pstate.peak * 100;
+               *size = 4;
+               break;
+       case AMDGPU_PP_SENSOR_PEAK_PSTATE_MCLK:
+               *((uint32_t *)data) = pstate_table->uclk_pstate.peak * 100;
+               *size = 4;
+               break;
        case AMDGPU_PP_SENSOR_ENABLED_SMC_FEATURES_MASK:
                ret = smu_feature_get_enabled_mask(smu, (uint64_t *)data);
                *size = 8;
-- 
2.34.1

Reply via email to