search for: context_switch_lock

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;...