1. 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
  2. 20 9月, 2011 1 次提交
  3. 09 9月, 2011 1 次提交
  4. 23 6月, 2011 2 次提交
  5. 18 6月, 2011 1 次提交
  6. 14 3月, 2011 1 次提交
  7. 25 2月, 2011 6 次提交
  8. 30 12月, 2010 1 次提交
  9. 21 12月, 2010 1 次提交
  10. 08 12月, 2010 4 次提交
  11. 03 12月, 2010 9 次提交
  12. 18 11月, 2010 1 次提交
  13. 05 10月, 2010 4 次提交
  14. 03 9月, 2010 1 次提交
  15. 02 8月, 2010 1 次提交
  16. 13 7月, 2010 1 次提交
  17. 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
  18. 15 12月, 2009 1 次提交
  19. 11 12月, 2009 1 次提交
    • B
      drm/nouveau: Add DRM driver for NVIDIA GPUs · 6ee73861
      Ben Skeggs 提交于
      This adds a drm/kms staging non-API stable driver for GPUs from NVIDIA.
      
      This driver is a KMS-based driver and requires a compatible nouveau
      userspace libdrm and nouveau X.org driver.
      
      This driver requires firmware files not available in this kernel tree,
      interested parties can find them via the nouveau project git archive.
      
      This driver is reverse engineered, and is in no way supported by nVidia.
      
      Support for nearly the complete range of nvidia hw from nv04->g80 (nv50)
      is available, and the kms driver should support driving nearly all
      output types (displayport is under development still) along with supporting
      suspend/resume.
      
      This work is all from the upstream nouveau project found at
      nouveau.freedesktop.org.
      
      The original authors list from nouveau git tree is:
      Anssi Hannula <anssi.hannula@iki.fi>
      Ben Skeggs <bskeggs@redhat.com>
      Francisco Jerez <currojerez@riseup.net>
      Maarten Maathuis <madman2003@gmail.com>
      Marcin Kościelnicki <koriakin@0x04.net>
      Matthew Garrett <mjg@redhat.com>
      Matt Parnell <mparnell@gmail.com>
      Patrice Mandin <patmandin@gmail.com>
      Pekka Paalanen <pq@iki.fi>
      Xavier Chantry <shiningxc@gmail.com>
      along with project founder Stephane Marchesin <marchesin@icps.u-strasbg.fr>
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      6ee73861