drm/amd/powerplay: get raven current sclk and mclk (v2)
v2: squash in rebase fix (Tom) Signed-off-by: Evan Quan <evan.quan@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
2b95315a58
commit
88ed3377d0
@ -850,13 +850,37 @@ static int rv_thermal_get_temperature(struct pp_hwmgr *hwmgr)
|
||||
static int rv_read_sensor(struct pp_hwmgr *hwmgr, int idx,
|
||||
void *value, int *size)
|
||||
{
|
||||
uint32_t sclk, mclk;
|
||||
int ret = 0;
|
||||
|
||||
switch (idx) {
|
||||
case AMDGPU_PP_SENSOR_GFX_SCLK:
|
||||
ret = smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetGfxclkFrequency);
|
||||
if (!ret) {
|
||||
rv_read_arg_from_smc(hwmgr, &sclk);
|
||||
/* in units of 10KHZ */
|
||||
*((uint32_t *)value) = sclk * 100;
|
||||
*size = 4;
|
||||
}
|
||||
break;
|
||||
case AMDGPU_PP_SENSOR_GFX_MCLK:
|
||||
ret = smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetFclkFrequency);
|
||||
if (!ret) {
|
||||
rv_read_arg_from_smc(hwmgr, &mclk);
|
||||
/* in units of 10KHZ */
|
||||
*((uint32_t *)value) = mclk * 100;
|
||||
*size = 4;
|
||||
}
|
||||
break;
|
||||
case AMDGPU_PP_SENSOR_GPU_TEMP:
|
||||
*((uint32_t *)value) = rv_thermal_get_temperature(hwmgr);
|
||||
return 0;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct pp_hwmgr_func rv_hwmgr_funcs = {
|
||||
|
Loading…
Reference in New Issue
Block a user