mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 03:10:12 +00:00
drm/amd/pp: Add stable Pstate clk display support in debugfs
The additional output are: PSTATE_SCLK and PSTATE_MCLK value in MHz as: 300 MHz (PSTATE_SCLK) 300 MHz (PSTATE_MCLK) Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
dd70949d90
commit
5ed8d656d6
3 changed files with 20 additions and 9 deletions
|
@ -1591,6 +1591,10 @@ static int amdgpu_debugfs_pm_info_pp(struct seq_file *m, struct amdgpu_device *a
|
||||||
seq_printf(m, "\t%u MHz (MCLK)\n", value/100);
|
seq_printf(m, "\t%u MHz (MCLK)\n", value/100);
|
||||||
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GFX_SCLK, (void *)&value, &size))
|
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_GFX_SCLK, (void *)&value, &size))
|
||||||
seq_printf(m, "\t%u MHz (SCLK)\n", value/100);
|
seq_printf(m, "\t%u MHz (SCLK)\n", value/100);
|
||||||
|
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_STABLE_PSTATE_SCLK, (void *)&value, &size))
|
||||||
|
seq_printf(m, "\t%u MHz (PSTATE_SCLK)\n", value/100);
|
||||||
|
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_STABLE_PSTATE_MCLK, (void *)&value, &size))
|
||||||
|
seq_printf(m, "\t%u MHz (PSTATE_MCLK)\n", value/100);
|
||||||
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDGFX, (void *)&value, &size))
|
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDGFX, (void *)&value, &size))
|
||||||
seq_printf(m, "\t%u mV (VDDGFX)\n", value);
|
seq_printf(m, "\t%u mV (VDDGFX)\n", value);
|
||||||
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDNB, (void *)&value, &size))
|
if (!amdgpu_dpm_read_sensor(adev, AMDGPU_PP_SENSOR_VDDNB, (void *)&value, &size))
|
||||||
|
|
|
@ -122,6 +122,8 @@ enum amd_pp_sensors {
|
||||||
AMDGPU_PP_SENSOR_VCE_POWER,
|
AMDGPU_PP_SENSOR_VCE_POWER,
|
||||||
AMDGPU_PP_SENSOR_UVD_POWER,
|
AMDGPU_PP_SENSOR_UVD_POWER,
|
||||||
AMDGPU_PP_SENSOR_GPU_POWER,
|
AMDGPU_PP_SENSOR_GPU_POWER,
|
||||||
|
AMDGPU_PP_SENSOR_STABLE_PSTATE_SCLK,
|
||||||
|
AMDGPU_PP_SENSOR_STABLE_PSTATE_MCLK,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum amd_pp_task {
|
enum amd_pp_task {
|
||||||
|
|
|
@ -992,22 +992,27 @@ static int pp_dpm_read_sensor(void *handle, int idx,
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
ret = pp_check(pp_handle);
|
ret = pp_check(pp_handle);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
if (value == NULL)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
hwmgr = pp_handle->hwmgr;
|
hwmgr = pp_handle->hwmgr;
|
||||||
|
|
||||||
if (hwmgr->hwmgr_func->read_sensor == NULL) {
|
switch (idx) {
|
||||||
pr_info("%s was not implemented.\n", __func__);
|
case AMDGPU_PP_SENSOR_STABLE_PSTATE_SCLK:
|
||||||
|
*((uint32_t *)value) = hwmgr->pstate_sclk;
|
||||||
return 0;
|
return 0;
|
||||||
|
case AMDGPU_PP_SENSOR_STABLE_PSTATE_MCLK:
|
||||||
|
*((uint32_t *)value) = hwmgr->pstate_mclk;
|
||||||
|
return 0;
|
||||||
|
default:
|
||||||
|
mutex_lock(&pp_handle->pp_lock);
|
||||||
|
ret = hwmgr->hwmgr_func->read_sensor(hwmgr, idx, value, size);
|
||||||
|
mutex_unlock(&pp_handle->pp_lock);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_lock(&pp_handle->pp_lock);
|
|
||||||
ret = hwmgr->hwmgr_func->read_sensor(hwmgr, idx, value, size);
|
|
||||||
mutex_unlock(&pp_handle->pp_lock);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct amd_vce_state*
|
static struct amd_vce_state*
|
||||||
|
|
Loading…
Reference in a new issue