diff options
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_fence.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c index a77b1c13ea43..913787085dfa 100644 --- a/drivers/gpu/drm/radeon/radeon_fence.c +++ b/drivers/gpu/drm/radeon/radeon_fence.c | |||
| @@ -819,15 +819,35 @@ static int radeon_debugfs_fence_info(struct seq_file *m, void *data) | |||
| 819 | return 0; | 819 | return 0; |
| 820 | } | 820 | } |
| 821 | 821 | ||
| 822 | /** | ||
| 823 | * radeon_debugfs_gpu_reset - manually trigger a gpu reset | ||
| 824 | * | ||
| 825 | * Manually trigger a gpu reset at the next fence wait. | ||
| 826 | */ | ||
| 827 | static int radeon_debugfs_gpu_reset(struct seq_file *m, void *data) | ||
| 828 | { | ||
| 829 | struct drm_info_node *node = (struct drm_info_node *) m->private; | ||
| 830 | struct drm_device *dev = node->minor->dev; | ||
| 831 | struct radeon_device *rdev = dev->dev_private; | ||
| 832 | |||
| 833 | down_read(&rdev->exclusive_lock); | ||
| 834 | seq_printf(m, "%d\n", rdev->needs_reset); | ||
| 835 | rdev->needs_reset = true; | ||
| 836 | up_read(&rdev->exclusive_lock); | ||
| 837 | |||
| 838 | return 0; | ||
| 839 | } | ||
| 840 | |||
| 822 | static struct drm_info_list radeon_debugfs_fence_list[] = { | 841 | static struct drm_info_list radeon_debugfs_fence_list[] = { |
| 823 | {"radeon_fence_info", &radeon_debugfs_fence_info, 0, NULL}, | 842 | {"radeon_fence_info", &radeon_debugfs_fence_info, 0, NULL}, |
| 843 | {"radeon_gpu_reset", &radeon_debugfs_gpu_reset, 0, NULL} | ||
| 824 | }; | 844 | }; |
| 825 | #endif | 845 | #endif |
| 826 | 846 | ||
| 827 | int radeon_debugfs_fence_init(struct radeon_device *rdev) | 847 | int radeon_debugfs_fence_init(struct radeon_device *rdev) |
| 828 | { | 848 | { |
| 829 | #if defined(CONFIG_DEBUG_FS) | 849 | #if defined(CONFIG_DEBUG_FS) |
| 830 | return radeon_debugfs_add_files(rdev, radeon_debugfs_fence_list, 1); | 850 | return radeon_debugfs_add_files(rdev, radeon_debugfs_fence_list, 2); |
| 831 | #else | 851 | #else |
| 832 | return 0; | 852 | return 0; |
| 833 | #endif | 853 | #endif |
