drm/amd/pp: Convert voltage unit in mV*4 to mV on CZ/ST
the voltage showed in debugfs and hwmon should be in mV Reviewed-by: Evan Quan <evan.quan@amd.com> Acked-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> Cc: stable@vger.kernel.org
This commit is contained in:
parent
90983631a6
commit
8a50bb47a8
|
@ -244,6 +244,7 @@ static int smu8_initialize_dpm_defaults(struct pp_hwmgr *hwmgr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* convert form 8bit vid to real voltage in mV*4 */
|
||||
static uint32_t smu8_convert_8Bit_index_to_voltage(
|
||||
struct pp_hwmgr *hwmgr, uint16_t voltage)
|
||||
{
|
||||
|
@ -1702,13 +1703,13 @@ static int smu8_read_sensor(struct pp_hwmgr *hwmgr, int idx,
|
|||
case AMDGPU_PP_SENSOR_VDDNB:
|
||||
tmp = (cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, ixSMUSVI_NB_CURRENTVID) &
|
||||
CURRENT_NB_VID_MASK) >> CURRENT_NB_VID__SHIFT;
|
||||
vddnb = smu8_convert_8Bit_index_to_voltage(hwmgr, tmp);
|
||||
vddnb = smu8_convert_8Bit_index_to_voltage(hwmgr, tmp) / 4;
|
||||
*((uint32_t *)value) = vddnb;
|
||||
return 0;
|
||||
case AMDGPU_PP_SENSOR_VDDGFX:
|
||||
tmp = (cgs_read_ind_register(hwmgr->device, CGS_IND_REG__SMC, ixSMUSVI_GFX_CURRENTVID) &
|
||||
CURRENT_GFX_VID_MASK) >> CURRENT_GFX_VID__SHIFT;
|
||||
vddgfx = smu8_convert_8Bit_index_to_voltage(hwmgr, (u16)tmp);
|
||||
vddgfx = smu8_convert_8Bit_index_to_voltage(hwmgr, (u16)tmp) / 4;
|
||||
*((uint32_t *)value) = vddgfx;
|
||||
return 0;
|
||||
case AMDGPU_PP_SENSOR_UVD_VCLK:
|
||||
|
|
Loading…
Reference in New Issue