1. 26 7月, 2012 1 次提交
  2. 25 2月, 2011 1 次提交
  3. 03 12月, 2010 3 次提交
  4. 18 11月, 2010 1 次提交
  5. 17 8月, 2010 1 次提交
    • D
      drm: block userspace under allocating buffer and having drivers overwrite it (v2) · 1b2f1489
      Dave Airlie 提交于
      With the current screwed but its ABI, ioctls for the drm, Linus pointed out that we could allow userspace to specify the allocation size, but we pass it to the driver which then uses it blindly to store a struct. Now if userspace specifies the allocation size as smaller than the driver needs, the driver can possibly overwrite memory.
      
      This patch restructures the driver ioctls so we store the structure size we are expecting, and make sure we allocate at least that size. The copy from/to userspace are still restricted to the size the user specifies, this allows ioctl structs to grow on both sides of the equation.
      
      Up until now we didn't really use the DRM_IOCTL defines in the kernel, so this cleans them up and adds them for nouveau.
      
      v2:
      fix nouveau pushbuf arg (thanks to Ben for pointing it out)
      Reported-by: NLinus Torvalds <torvalds@linuxfoundation.org>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      1b2f1489
  6. 28 5月, 2010 1 次提交
  7. 25 2月, 2010 1 次提交
    • B
      drm/nouveau: new gem pushbuf interface, bump to 0.0.16 · a1606a95
      Ben Skeggs 提交于
      This commit breaks the userspace interface, and requires a new libdrm for
      nouveau to operate again.
      
      The multiple GEM_PUSHBUF ioctls that were present in 0.0.15 for
      compatibility purposes are now gone, and replaced with the new ioctl which
      allows for multiple push buffers to be submitted (necessary for hw index
      buffers in the nv50 3d driver) and relocations to be applied on any buffer.
      
      A number of other ioctls (CARD_INIT, GEM_PIN, GEM_UNPIN) that were needed
      for userspace modesetting have also been removed.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: NFrancisco Jerez <currojerez@riseup.net>
      a1606a95
  8. 09 2月, 2010 1 次提交
  9. 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