Displaying 5 results from an estimated 5 matches for "context_switch_lock".
2010 Feb 07
3
[PATCH] drm/nouveau: don't hold spin lock while calling kzalloc with GFP_KERNEL
..._init(chan);
if (!ret)
ret = nouveau_fence_init(chan);
@@ -290,7 +285,7 @@ nouveau_channel_free(struct nouveau_channel *chan)
if (pgraph->channel(dev) == chan)
nouveau_wait_for_idle(dev);
- spin_lock_irqsave(&dev_priv->engine.lock, flags);
+ spin_lock_irqsave(&dev_priv->context_switch_lock, flags);
pgraph->fifo_access(dev, false);
if (pgraph->channel(dev) == chan)
@@ -307,7 +302,7 @@ nouveau_channel_free(struct nouveau_channel *chan)
pfifo->reassign(dev, true);
- spin_unlock_irqrestore(&dev_priv->engine.lock, flags);
+ spin_unlock_irqrestore(&dev_priv-...
2010 Jul 10
1
deadlock possiblity introduced by "drm/nouveau: use drm_mm in preference to custom code doing the same thing"
...746648] warsow/2850 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
[ 2417.746650] (&(&mm->unused_lock)->rlock){+.+...}, at: [<ffffffff8129f0c0>] drm_mm_put_block+0x17a/0x1c0
[ 2417.746657]
[ 2417.746658] and this task is already holding:
[ 2417.746659] (&(&dev_priv->context_switch_lock)->rlock){-.....}, at: [<ffffffffa00ac502>] nouveau_channel_free+0x10f/0x233 [nouveau]
[ 2417.746669] which would create a new lock dependency:
[ 2417.746671] (&(&dev_priv->context_switch_lock)->rlock){-.....} -> (&(&mm->unused_lock)->rlock){+.+...}
[ 2417.74...
2010 Jul 28
0
mmotm 2010-07-27 - nouveau lockdep issues.
...[HC0[0]:SC0[0]:HE0:SE1] is trying to acquire:
> [ 123.551253] (&(&mm->unused_lock)->rlock){+.+...}, at: [<ffffffff812a94bc>] drm_mm_put_block+0x10e/0x142
> [ 123.551253]
> [ 123.551253] and this task is already holding:
> [ 123.551253] (&(&dev_priv->context_switch_lock)->rlock){-.....}, at: [<ffffffff812bdbab>] nouveau_channel_free+0x10f/0x233
> [ 123.551253] which would create a new lock dependency:
> [ 123.551253] (&(&dev_priv->context_switch_lock)->rlock){-.....} -> (&(&mm->unused_lock)->rlock){+.+...}
> [ 1...
2012 Apr 25
5
[PATCH v2 4/4] drm/nouveau: gpu lockup recovery
...vice *dev)
if (ret)
goto out;
engine = &dev_priv->engine;
+ intr_rwsem_init(&dev_priv->ioctls_rwsem);
+ mutex_init(&dev_priv->reset_lock);
spin_lock_init(&dev_priv->channels.lock);
spin_lock_init(&dev_priv->tile.lock);
spin_lock_init(&dev_priv->context_switch_lock);
@@ -886,6 +888,7 @@ nouveau_card_init(struct drm_device *dev)
nouveau_fbcon_init(dev);
}
+ nouveau_reset_debugfs_init(dev->primary);
return 0;
@@ -943,6 +946,8 @@ static void nouveau_card_takedown(struct drm_device *dev)
struct nouveau_engine *engine = &dev_priv->engine;...
2012 Apr 22
2
[RFC PATCH 5/5] drm/nouveau: gpu lockup recovery
...@@ -697,6 +697,7 @@ nouveau_card_init(struct drm_device *dev)
if (ret)
goto out;
engine = &dev_priv->engine;
+ mutex_init(&dev_priv->reset_lock);
spin_lock_init(&dev_priv->channels.lock);
spin_lock_init(&dev_priv->tile.lock);
spin_lock_init(&dev_priv->context_switch_lock);
@@ -886,6 +887,7 @@ nouveau_card_init(struct drm_device *dev)
nouveau_fbcon_init(dev);
}
+ nouveau_reset_debugfs_init(dev->primary);
return 0;
@@ -943,6 +945,8 @@ static void nouveau_card_takedown(struct drm_device *dev)
struct nouveau_engine *engine = &dev_priv->engine;...