aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
diff options
context:
space:
mode:
authorAlex Deucher <[email protected]>2020-01-10 20:58:52 +0000
committerAlex Deucher <[email protected]>2020-01-14 15:20:34 +0000
commita9ffe2a9833835b157a53dcc4d725f71426f55ff (patch)
treed08ccdf38871f4d778f3c6e49fa2aa8070e75cac /drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
parentdrm/amdgpu/pm: properly handle runtime pm (diff)
downloadkernel-a9ffe2a9833835b157a53dcc4d725f71426f55ff.tar.gz
kernel-a9ffe2a9833835b157a53dcc4d725f71426f55ff.zip
drm/amdgpu/debugfs: properly handle runtime pm
If driver debugfs files are accessed, power up the GPU when necessary. Reviewed-by: Evan Quan <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
index e9efee04ca23..3c01252b1e0e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
@@ -741,10 +741,18 @@ static int amdgpu_debugfs_gpu_recover(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;
+ int r;
+
+ r = pm_runtime_get_sync(dev->dev);
+ if (r < 0)
+ return 0;
seq_printf(m, "gpu recover\n");
amdgpu_device_gpu_recover(adev, NULL);
+ pm_runtime_mark_last_busy(dev->dev);
+ pm_runtime_put_autosuspend(dev->dev);
+
return 0;
}