drm/amdgpu/gfx9: implement wave VGPR reading
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 8 Sep 2017 22:09:29 +0000 (00:09 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 13 Nov 2017 19:35:21 +0000 (14:35 -0500)
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>
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

index e8099e28a01e52bc1cf4bb1b11baad51192ec7a5..bc32bbde1165ae43f54f83d9d34cd1a6405b272f 100644 (file)
@@ -997,12 +997,22 @@ static void gfx_v9_0_read_wave_sgprs(struct amdgpu_device *adev, uint32_t simd,
                start + SQIND_WAVE_SGPRS_OFFSET, size, dst);
 }
 
+static void gfx_v9_0_read_wave_vgprs(struct amdgpu_device *adev, uint32_t simd,
+                                    uint32_t wave, uint32_t thread,
+                                    uint32_t start, uint32_t size,
+                                    uint32_t *dst)
+{
+       wave_read_regs(
+               adev, simd, wave, thread,
+               start + SQIND_WAVE_VGPRS_OFFSET, size, dst);
+}
 
 static const struct amdgpu_gfx_funcs gfx_v9_0_gfx_funcs = {
        .get_gpu_clock_counter = &gfx_v9_0_get_gpu_clock_counter,
        .select_se_sh = &gfx_v9_0_select_se_sh,
        .read_wave_data = &gfx_v9_0_read_wave_data,
        .read_wave_sgprs = &gfx_v9_0_read_wave_sgprs,
+       .read_wave_vgprs = &gfx_v9_0_read_wave_vgprs,
 };
 
 static void gfx_v9_0_gpu_early_init(struct amdgpu_device *adev)