Skip to content

Commit

Permalink
drm/i915: don't grab dev->struct_mutex for userspace forcewak
Browse files Browse the repository at this point in the history
Since forcewake is now protected by a spinlock, we don't need to grab
dev->struct_mutex any more. This way we can also get rid of a stale
comment, noticed by Ben Widawsky while reviewing some locking changes.

v2: Kill the unused variable ret, noticed by Fengguang Wu.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Daniel Vetter committed Aug 12, 2012
1 parent 126e9be commit 20d5a54
Showing 1 changed file with 0 additions and 18 deletions.
18 changes: 0 additions & 18 deletions drivers/gpu/drm/i915/i915_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1956,16 +1956,11 @@ static int i915_forcewake_open(struct inode *inode, struct file *file)
{
struct drm_device *dev = inode->i_private;
struct drm_i915_private *dev_priv = dev->dev_private;
int ret;

if (INTEL_INFO(dev)->gen < 6)
return 0;

ret = mutex_lock_interruptible(&dev->struct_mutex);
if (ret)
return ret;
gen6_gt_force_wake_get(dev_priv);
mutex_unlock(&dev->struct_mutex);

return 0;
}
Expand All @@ -1974,24 +1969,11 @@ static int i915_forcewake_release(struct inode *inode, struct file *file)
{
struct drm_device *dev = inode->i_private;
struct drm_i915_private *dev_priv = dev->dev_private;
int ret;

if (INTEL_INFO(dev)->gen < 6)
return 0;

/*
* It's bad that we can potentially hang userspace if struct_mutex gets
* forever stuck. However, if we cannot acquire this lock it means that
* almost certainly the driver has hung, is not unload-able. Therefore
* hanging here is probably a minor inconvenience not to be seen my
* almost every user.
*/
ret = mutex_lock_interruptible(&dev->struct_mutex);
if (ret)
return ret;

gen6_gt_force_wake_put(dev_priv);
mutex_unlock(&dev->struct_mutex);

return 0;
}
Expand Down

0 comments on commit 20d5a54

Please sign in to comment.