diff options
author | Nicolai Hähnle <nicolai.haehnle@amd.com> | 2017-09-08 18:09:29 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-11-13 14:35:21 -0500 |
commit | 822770ad49d8f5490f444e345bbd59ecfdd86a15 (patch) | |
tree | c4050237b2095c40f4b909d535712f02d4beb379 | |
parent | f5eaffccf1b3fcf80860711cbde4fbea98b51109 (diff) |
drm/amdgpu/gfx9: implement wave VGPR reading
This is already hooked up to the "amdgpu_gpr" debugfs file used by
the umr userspace debugging tool.
Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c index e8099e28a01e..bc32bbde1165 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | |||
@@ -997,12 +997,22 @@ static void gfx_v9_0_read_wave_sgprs(struct amdgpu_device *adev, uint32_t simd, | |||
997 | start + SQIND_WAVE_SGPRS_OFFSET, size, dst); | 997 | start + SQIND_WAVE_SGPRS_OFFSET, size, dst); |
998 | } | 998 | } |
999 | 999 | ||
1000 | static void gfx_v9_0_read_wave_vgprs(struct amdgpu_device *adev, uint32_t simd, | ||
1001 | uint32_t wave, uint32_t thread, | ||
1002 | uint32_t start, uint32_t size, | ||
1003 | uint32_t *dst) | ||
1004 | { | ||
1005 | wave_read_regs( | ||
1006 | adev, simd, wave, thread, | ||
1007 | start + SQIND_WAVE_VGPRS_OFFSET, size, dst); | ||
1008 | } | ||
1000 | 1009 | ||
1001 | static const struct amdgpu_gfx_funcs gfx_v9_0_gfx_funcs = { | 1010 | static const struct amdgpu_gfx_funcs gfx_v9_0_gfx_funcs = { |
1002 | .get_gpu_clock_counter = &gfx_v9_0_get_gpu_clock_counter, | 1011 | .get_gpu_clock_counter = &gfx_v9_0_get_gpu_clock_counter, |
1003 | .select_se_sh = &gfx_v9_0_select_se_sh, | 1012 | .select_se_sh = &gfx_v9_0_select_se_sh, |
1004 | .read_wave_data = &gfx_v9_0_read_wave_data, | 1013 | .read_wave_data = &gfx_v9_0_read_wave_data, |
1005 | .read_wave_sgprs = &gfx_v9_0_read_wave_sgprs, | 1014 | .read_wave_sgprs = &gfx_v9_0_read_wave_sgprs, |
1015 | .read_wave_vgprs = &gfx_v9_0_read_wave_vgprs, | ||
1006 | }; | 1016 | }; |
1007 | 1017 | ||
1008 | static void gfx_v9_0_gpu_early_init(struct amdgpu_device *adev) | 1018 | static void gfx_v9_0_gpu_early_init(struct amdgpu_device *adev) |