Skip to content

Commit 73c12de

Browse files
committed
Revert "drm/amdgpu: switch to golden tsc registers for raven/raven2"
This reverts commit f03eb1d. This results in inconsistent timing reported via asynchronous GPU queries. Link: https://lists.freedesktop.org/archives/amd-gfx/2023-May/093731.html Cc: [email protected] Cc: [email protected] Reviewed-by: Michel Dänzer <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent d511f95 commit 73c12de

File tree

1 file changed

+0
-40
lines changed

1 file changed

+0
-40
lines changed

drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -149,16 +149,6 @@ MODULE_FIRMWARE("amdgpu/aldebaran_sjt_mec2.bin");
149149
#define mmGOLDEN_TSC_COUNT_LOWER_Renoir 0x0026
150150
#define mmGOLDEN_TSC_COUNT_LOWER_Renoir_BASE_IDX 1
151151

152-
#define mmGOLDEN_TSC_COUNT_UPPER_Raven 0x007a
153-
#define mmGOLDEN_TSC_COUNT_UPPER_Raven_BASE_IDX 0
154-
#define mmGOLDEN_TSC_COUNT_LOWER_Raven 0x007b
155-
#define mmGOLDEN_TSC_COUNT_LOWER_Raven_BASE_IDX 0
156-
157-
#define mmGOLDEN_TSC_COUNT_UPPER_Raven2 0x0068
158-
#define mmGOLDEN_TSC_COUNT_UPPER_Raven2_BASE_IDX 0
159-
#define mmGOLDEN_TSC_COUNT_LOWER_Raven2 0x0069
160-
#define mmGOLDEN_TSC_COUNT_LOWER_Raven2_BASE_IDX 0
161-
162152
enum ta_ras_gfx_subblock {
163153
/*CPC*/
164154
TA_RAS_BLOCK__GFX_CPC_INDEX_START = 0,
@@ -4004,36 +3994,6 @@ static uint64_t gfx_v9_0_get_gpu_clock_counter(struct amdgpu_device *adev)
40043994
preempt_enable();
40053995
clock = clock_lo | (clock_hi << 32ULL);
40063996
break;
4007-
case IP_VERSION(9, 1, 0):
4008-
preempt_disable();
4009-
clock_hi = RREG32_SOC15_NO_KIQ(PWR, 0, mmGOLDEN_TSC_COUNT_UPPER_Raven);
4010-
clock_lo = RREG32_SOC15_NO_KIQ(PWR, 0, mmGOLDEN_TSC_COUNT_LOWER_Raven);
4011-
hi_check = RREG32_SOC15_NO_KIQ(PWR, 0, mmGOLDEN_TSC_COUNT_UPPER_Raven);
4012-
/* The PWR TSC clock frequency is 100MHz, which sets 32-bit carry over
4013-
* roughly every 42 seconds.
4014-
*/
4015-
if (hi_check != clock_hi) {
4016-
clock_lo = RREG32_SOC15_NO_KIQ(PWR, 0, mmGOLDEN_TSC_COUNT_LOWER_Raven);
4017-
clock_hi = hi_check;
4018-
}
4019-
preempt_enable();
4020-
clock = clock_lo | (clock_hi << 32ULL);
4021-
break;
4022-
case IP_VERSION(9, 2, 2):
4023-
preempt_disable();
4024-
clock_hi = RREG32_SOC15_NO_KIQ(PWR, 0, mmGOLDEN_TSC_COUNT_UPPER_Raven2);
4025-
clock_lo = RREG32_SOC15_NO_KIQ(PWR, 0, mmGOLDEN_TSC_COUNT_LOWER_Raven2);
4026-
hi_check = RREG32_SOC15_NO_KIQ(PWR, 0, mmGOLDEN_TSC_COUNT_UPPER_Raven2);
4027-
/* The PWR TSC clock frequency is 100MHz, which sets 32-bit carry over
4028-
* roughly every 42 seconds.
4029-
*/
4030-
if (hi_check != clock_hi) {
4031-
clock_lo = RREG32_SOC15_NO_KIQ(PWR, 0, mmGOLDEN_TSC_COUNT_LOWER_Raven2);
4032-
clock_hi = hi_check;
4033-
}
4034-
preempt_enable();
4035-
clock = clock_lo | (clock_hi << 32ULL);
4036-
break;
40373997
default:
40383998
amdgpu_gfx_off_ctrl(adev, false);
40393999
mutex_lock(&adev->gfx.gpu_clock_mutex);

0 commit comments

Comments
 (0)