From: Matthew Auld <matthew.auld@intel.com> Date: Wed, 19 Jul 2023 08:38:05 +0000 (+0100) Subject: drm/xe/debugfs: grab mem_access around forcewake X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6bfbd0c589bb89581bb89d2776924c3853296cfc;p=linux.git drm/xe/debugfs: grab mem_access around forcewake We need keep the device awake when performing any kind of mmio operation. Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/279 Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> --- diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c index 7827a785b0204..047341d5689ab 100644 --- a/drivers/gpu/drm/xe/xe_debugfs.c +++ b/drivers/gpu/drm/xe/xe_debugfs.c @@ -70,6 +70,8 @@ static int forcewake_open(struct inode *inode, struct file *file) struct xe_gt *gt; u8 id; + xe_device_mem_access_get(xe); + for_each_gt(gt, xe, id) XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL)); @@ -85,6 +87,8 @@ static int forcewake_release(struct inode *inode, struct file *file) for_each_gt(gt, xe, id) XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL)); + xe_device_mem_access_put(xe); + return 0; }