23 Dec, 2009

4 commits


18 Dec, 2009

3 commits

  • 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: Arnd Bergmann
    Cc: David Airlie
    Cc: dri-devel@lists.sourceforge.net
    Cc: Frederic Weisbecker
    Cc: Thomas Gleixner
    Signed-off-by: Dave Airlie

    Arnd Bergmann
     
  • Dave Airlie
     
  • Dave Airlie
     

16 Dec, 2009

18 commits


15 Dec, 2009

7 commits


11 Dec, 2009

5 commits

  • 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
    Ben Skeggs
    Francisco Jerez
    Maarten Maathuis
    Marcin Kościelnicki
    Matthew Garrett
    Matt Parnell
    Patrice Mandin
    Pekka Paalanen
    Xavier Chantry
    along with project founder Stephane Marchesin

    Signed-off-by: Ben Skeggs
    Signed-off-by: Dave Airlie

    Ben Skeggs
     
  • These are functions required by nouveau which will be merged later.

    Signed-off-by: Ben Skeggs
    Signed-off-by: Dave Airlie

    Ben Skeggs
     
  • Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Now bo init use placement structure like bo validation does.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse
     
  • Convert ttm_buffer_object_init to use struct ttm_placement and
    rename to ttm_bo_init for consistency with function naming. This
    allow to give more complex placement at buffer creation. For
    instance you ask to allocate bo into vram first but if there is
    not enough vram you can give system as a second possible
    placement. It also allow to create buffer in a specific range.

    Also rename ttm_buffer_object_validate to ttm_bo_validate.

    Signed-off-by: Jerome Glisse
    Signed-off-by: Dave Airlie

    Jerome Glisse
     

10 Dec, 2009

3 commits