aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <nicolai.haehnle@amd.com>2017-09-08 18:09:29 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-11-13 14:35:21 -0500
commit822770ad49d8f5490f444e345bbd59ecfdd86a15 (patch)
treec4050237b2095c40f4b909d535712f02d4beb379
parentf5eaffccf1b3fcf80860711cbde4fbea98b51109 (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.c10
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
1000static 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
1001static const struct amdgpu_gfx_funcs gfx_v9_0_gfx_funcs = { 1010static 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
1008static void gfx_v9_0_gpu_early_init(struct amdgpu_device *adev) 1018static void gfx_v9_0_gpu_early_init(struct amdgpu_device *adev)