1. 22 3月, 2012 2 次提交
  2. 10 11月, 2011 1 次提交
    • M
      drm/nouveau: initialize chan->fence.lock before use · 5e60ee78
      Marcin Slusarz 提交于
      Fence lock needs to be initialized before any call to nouveau_channel_put
      because it calls nouveau_channel_idle->nouveau_fence_update which uses
      fence lock.
      
      BUG: spinlock bad magic on CPU#0, test/24134
       lock: ffff88019f90dba8, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
      Pid: 24134, comm: test Not tainted 3.0.0-nv+ #800
      Call Trace:
       spin_bug+0x9c/0xa3
       do_raw_spin_lock+0x29/0x13c
       _raw_spin_lock+0x1e/0x22
       nouveau_fence_update+0x2d/0xf1
       nouveau_channel_idle+0x22/0xa0
       nouveau_channel_put_unlocked+0x84/0x1bd
       nouveau_channel_put+0x20/0x24
       nouveau_channel_alloc+0x4ec/0x585
       nouveau_ioctl_fifo_alloc+0x50/0x130
       drm_ioctl+0x289/0x361
       do_vfs_ioctl+0x4dd/0x52c
       sys_ioctl+0x42/0x65
       system_call_fastpath+0x16/0x1b
      
      It's easily triggerable from userspace.
      
      Additionally remove double initialization of chan->fence.pending.
      Signed-off-by: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      5e60ee78
  3. 20 9月, 2011 1 次提交
  4. 09 9月, 2011 1 次提交
  5. 23 6月, 2011 2 次提交
  6. 18 6月, 2011 1 次提交
  7. 14 3月, 2011 1 次提交
  8. 25 2月, 2011 6 次提交
  9. 30 12月, 2010 1 次提交
  10. 21 12月, 2010 1 次提交
  11. 08 12月, 2010 4 次提交
  12. 03 12月, 2010 9 次提交
  13. 18 11月, 2010 1 次提交
  14. 05 10月, 2010 4 次提交
  15. 03 9月, 2010 1 次提交
  16. 02 8月, 2010 1 次提交
  17. 13 7月, 2010 1 次提交
  18. 11 1月, 2010 2 次提交
    • F
      drm/nouveau: Use the software object for fencing. · a5027ccd
      Francisco Jerez 提交于
      This should avoid a race condition on nv0x, if we're doing it with
      actual PGRAPH objects and a there's a fence within the FIFO DMA fetch
      area when a context switch kicks in.
      
      In that case we get an ILLEGAL_MTHD interrupt as expected, but the
      values in PGRAPH_TRAPPED_ADDR aren't calculated correctly and they're
      almost useless (e.g. you can see ILLEGAL_MTHDs for the now inactive
      channel, with a wrong offset/data pair).
      Signed-off-by: NFrancisco Jerez <currojerez@riseup.net>
      a5027ccd
    • F
      drm/nouveau: Use the software object for fencing. · 8c032ce7
      Francisco Jerez 提交于
      This should avoid a race condition on nv0x, if we're doing it with
      actual PGRAPH objects and a there's a fence within the FIFO DMA fetch
      area when a context switch kicks in.
      
      In that case we get an ILLEGAL_MTHD interrupt as expected, but the
      values in PGRAPH_TRAPPED_ADDR aren't calculated correctly and they're
      almost useless (e.g. you can see ILLEGAL_MTHDs for the now inactive
      channel, with a wrong offset/data pair).
      Signed-off-by: NFrancisco Jerez <currojerez@riseup.net>
      8c032ce7