diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2016-10-13 09:55:47 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-10-14 11:52:29 -0400 |
commit | 154061db8853035deb258b685b8a791cf97f023f (patch) | |
tree | a25cba5b439aae3ffe37866a1e4642667b3645e2 | |
parent | ca3d28de6268e75739f0c5d40ec6010b1d84f03a (diff) |
drm/amdgpu/dpm: implement thermal sensor for CZ/ST
Previous code was just a copy/paste from KV.
Reviewed-by: Tom St Denis <tom.stdenis@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cz_dpm.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c index f80a0834e889..3c082e143730 100644 --- a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c | |||
@@ -1514,14 +1514,16 @@ static int cz_dpm_set_powergating_state(void *handle, | |||
1514 | return 0; | 1514 | return 0; |
1515 | } | 1515 | } |
1516 | 1516 | ||
1517 | /* borrowed from KV, need future unify */ | ||
1518 | static int cz_dpm_get_temperature(struct amdgpu_device *adev) | 1517 | static int cz_dpm_get_temperature(struct amdgpu_device *adev) |
1519 | { | 1518 | { |
1520 | int actual_temp = 0; | 1519 | int actual_temp = 0; |
1521 | uint32_t temp = RREG32_SMC(0xC0300E0C); | 1520 | uint32_t val = RREG32_SMC(ixTHM_TCON_CUR_TMP); |
1521 | uint32_t temp = REG_GET_FIELD(val, THM_TCON_CUR_TMP, CUR_TEMP); | ||
1522 | 1522 | ||
1523 | if (temp) | 1523 | if (REG_GET_FIELD(val, THM_TCON_CUR_TMP, CUR_TEMP_RANGE_SEL)) |
1524 | actual_temp = 1000 * ((temp / 8) - 49); | 1524 | actual_temp = 1000 * ((temp / 8) - 49); |
1525 | else | ||
1526 | actual_temp = 1000 * (temp / 8); | ||
1525 | 1527 | ||
1526 | return actual_temp; | 1528 | return actual_temp; |
1527 | } | 1529 | } |