1. 09 2月, 2010 2 次提交
  2. 25 1月, 2010 1 次提交
  3. 18 12月, 2009 1 次提交
    • A
      drm: convert drm_ioctl to unlocked_ioctl · ed8b6704
      Arnd Bergmann 提交于
      drm_ioctl is called with the Big Kernel Lock held,
      which shows up very high in statistics on vfs_ioctl.
      
      Moving the lock into the drm_ioctl function itself
      makes sure we blame the right subsystem and it gets
      us one step closer to eliminating the locked version
      of fops->ioctl.
      
      Since drm_ioctl does not require the lock itself,
      we only need to hold it while calling the specific
      handler. The 32 bit conversion handlers do not
      interact with any other code, so they don't need
      the BKL here either and can just call drm_ioctl.
      
      As a bonus, this cleans up all the other users
      of drm_ioctl which now no longer have to find
      the inode or call lock_kernel.
      
      [airlied: squashed the non-driver bits
      of the second patch in here, this provides
      the flag for drivers to use to select unlocked
      ioctls - but doesn't modify any drivers].
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: dri-devel@lists.sourceforge.net
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ed8b6704
  4. 16 12月, 2009 2 次提交
    • B
      drm/nv50: fix two potential suspend/resume oopses · 3c8868d3
      Ben Skeggs 提交于
      This avoids touching the dummy channel 0/127 we have on nv50.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      3c8868d3
    • B
      drm/nv40: implement ctxprog/state generation · 054b93e4
      Ben Skeggs 提交于
      The context programs are *very* simple compared to the ones used by
      the binary driver.  There's notes in nv40_grctx.c explaining most of
      the things we don't implement.  If we discover if/why any of it is
      required further down the track, we'll handle it then.
      
      The PGRAPH state generated for each chipset should match what NVIDIA
      do almost exactly (there's a couple of exceptions).  If someone has
      a lot of time on their hands, they could figure out the mapping of
      object/method to PGRAPH register and demagic the initial state a little,
      it's not terribly important however.
      
      At time of commit, confirmed to be working at least well enough for
      accelerated X (and where tested, for 3D apps) on NV40, NV43, NV44, NV46,
      NV49, NV4A, NV4B and NV4E.
      
      A module option has been added to force the use of external firmware
      blobs if it becomes required.
      Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
      054b93e4
  5. 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