[Intel-gfx] [PATCH] drm/i915: Take rpm wakelock around debugfs/i915_gpu_info

Mika Kuoppala mika.kuoppala at linux.intel.com
Tue Mar 28 13:22:40 UTC 2017


Chris Wilson <chris at chris-wilson.co.uk> writes:

> Capturing GPU state requires the device to be awake in order to read
> registers. Normally, this is taken along the error handler, but for the
> direct debugfs access, we cannot make assumptions about the current
> device state and so either need to wake it up, or abort.
>
> Fixes: 5a4c6f1b1b2d ("drm/i915: The return of i915_gpu_info to debugfs")
> Testcase: igt/pm_rpm/debugfs-read
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>

doh

Reviewed-by: Mika Kuoppala <mika.kuoppala at intel.com>

> ---
>  drivers/gpu/drm/i915/i915_debugfs.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index db5d8efd07d1..de8ad2efa3f8 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -1012,9 +1012,12 @@ static int gpu_state_release(struct inode *inode, struct file *file)
>  
>  static int i915_gpu_info_open(struct inode *inode, struct file *file)
>  {
> +	struct drm_i915_private *i915 = inode->i_private;
>  	struct i915_gpu_state *gpu;
>  
> -	gpu = i915_capture_gpu_state(inode->i_private);
> +	intel_runtime_pm_get(i915);
> +	gpu = i915_capture_gpu_state(i915);
> +	intel_runtime_pm_put(i915);
>  	if (!gpu)
>  		return -ENOMEM;
>  
> -- 
> 2.11.0


More information about the Intel-gfx mailing list