mirror of https://gitee.com/openkylin/linux.git
drm/amdgpu: add a debugfs property to trigger a GPU reset
Ported from similar code in radeon. Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Ken Wang <Qingqing.Wang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
bfa99269ea
commit
18db89b402
|
@ -734,15 +734,33 @@ static int amdgpu_debugfs_fence_info(struct seq_file *m, void *data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* amdgpu_debugfs_gpu_reset - manually trigger a gpu reset
|
||||||
|
*
|
||||||
|
* Manually trigger a gpu reset at the next fence wait.
|
||||||
|
*/
|
||||||
|
static int amdgpu_debugfs_gpu_reset(struct seq_file *m, void *data)
|
||||||
|
{
|
||||||
|
struct drm_info_node *node = (struct drm_info_node *) m->private;
|
||||||
|
struct drm_device *dev = node->minor->dev;
|
||||||
|
struct amdgpu_device *adev = dev->dev_private;
|
||||||
|
|
||||||
|
seq_printf(m, "gpu reset\n");
|
||||||
|
amdgpu_gpu_reset(adev);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static struct drm_info_list amdgpu_debugfs_fence_list[] = {
|
static struct drm_info_list amdgpu_debugfs_fence_list[] = {
|
||||||
{"amdgpu_fence_info", &amdgpu_debugfs_fence_info, 0, NULL},
|
{"amdgpu_fence_info", &amdgpu_debugfs_fence_info, 0, NULL},
|
||||||
|
{"amdgpu_gpu_reset", &amdgpu_debugfs_gpu_reset, 0, NULL}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int amdgpu_debugfs_fence_init(struct amdgpu_device *adev)
|
int amdgpu_debugfs_fence_init(struct amdgpu_device *adev)
|
||||||
{
|
{
|
||||||
#if defined(CONFIG_DEBUG_FS)
|
#if defined(CONFIG_DEBUG_FS)
|
||||||
return amdgpu_debugfs_add_files(adev, amdgpu_debugfs_fence_list, 1);
|
return amdgpu_debugfs_add_files(adev, amdgpu_debugfs_fence_list, 2);
|
||||||
#else
|
#else
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue