1. 29 Jul, 2009 1 commit
  2. 24 Jun, 2009 1 commit
  3. 18 Jun, 2009 1 commit
  4. 16 Jun, 2009 1 commit
  5. 14 Jun, 2009 1 commit
    • Jerome Glisse's avatar
      drm/radeon: introduce kernel modesetting for radeon hardware · 771fe6b9
      Jerome Glisse authored
      
      
      Add kernel modesetting support to radeon driver, use the ttm memory
      manager to manage memory and DRM/GEM to provide userspace API.
      In order to avoid backward compatibility issue and to allow clean
      design and code the radeon kernel modesetting use different code path
      than old radeon/drm driver.
      
      When kernel modesetting is enabled the IOCTL of radeon/drm
      driver are considered as invalid and an error message is printed
      in the log and they return failure.
      
      KMS enabled userspace will use new API to talk with the radeon/drm
      driver. The new API provide functions to create/destroy/share/mmap
      buffer object which are then managed by the kernel memory manager
      (here TTM). In order to submit command to the GPU the userspace
      provide a buffer holding the command stream, along this buffer
      userspace have to provide a list of buffer object used by the
      command stream. The kernel radeon driver will then place buffer
      in GPU accessible memory and will update command stream to reflect
      the position of the different buffers.
      
      The kernel will also perform security check on command stream
      provided by the user, we want to catch and forbid any illegal use
      of the GPU such as DMA into random system memory or into memory
      not owned by the process supplying the command stream. This part
      of the code is still incomplete and this why we propose that patch
      as a staging driver addition, future security might forbid current
      experimental userspace to run.
      
      This code support the following hardware : R1XX,R2XX,R3XX,R4XX,R5XX
      (radeon up to X1950). Works is underway to provide support for R6XX,
      R7XX and newer hardware (radeon from HD2XXX to HD4XXX).
      
      Authors:
          Jerome Glisse <jglisse@redhat.com>
          Dave Airlie <airlied@redhat.com>
          Alex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      771fe6b9
  6. 12 Mar, 2009 3 commits
  7. 29 Dec, 2008 1 commit
  8. 17 Oct, 2008 1 commit
  9. 01 Aug, 2008 1 commit
  10. 13 Jul, 2008 1 commit
    • Dave Airlie's avatar
      drm: reorganise drm tree to be more future proof. · c0e09200
      Dave Airlie authored
      
      
      With the coming of kernel based modesetting and the memory manager stuff,
      the everything in one directory approach was getting very ugly and
      starting to be unmanageable.
      
      This restructures the drm along the lines of other kernel components.
      
      It creates a drivers/gpu/drm directory and moves the hw drivers into
      subdirectores. It moves the includes into an include/drm, and
      sets up the unifdef for the userspace headers we should be exporting.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      c0e09200
  11. 06 May, 2008 1 commit
  12. 26 Apr, 2008 1 commit
    • Jesse Barnes's avatar
      drm/vbl rework: rework how the drm deals with vblank. · ac741ab7
      Jesse Barnes authored
      
      
      Other Authors: Michel Dänzer <michel@tungstengraphics.com>
      mga: Ian Romanick <idr@us.ibm.com>
      via: Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
      
      This re-works the DRM internals to provide a better interface for drivers
      to expose vblank on multiple crtcs.
      
      It also includes work done by Michel on making i915 triple buffering and pageflipping work properly.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ac741ab7
  13. 10 Jul, 2007 1 commit
  14. 21 Sep, 2006 1 commit
  15. 30 Jun, 2006 1 commit
  16. 11 Nov, 2005 1 commit
  17. 10 Nov, 2005 1 commit
    • Dave Airlie's avatar
      drm: rename driver hooks more understandably · 22eae947
      Dave Airlie authored
      
      
      Rename the driver hooks in the DRM to something a little more understandable:
      preinit         ->      load
      postinit        ->      (removed)
      presetup        ->      firstopen
      postsetup       ->      (removed)
      open_helper     ->      open
      prerelease      ->      preclose
      free_filp_priv  ->      postclose
      pretakedown     ->      lastclose
      postcleanup     ->      unload
      release         ->      reclaim_buffers_locked
      version         ->      (removed)
      
      postinit and version were replaced with generic code in the Linux DRM (drivers
      now set their version numbers and description in the driver structure, like on
      BSD).  postsetup wasn't used at all.  Fixes the savage hooks for
      initializing and tearing down mappings at the right times.  Testing involved at
      least starting X, running glxgears, killing glxgears, exiting X, and repeating.
      
      Tested on:      FreeBSD (g200, g400, r200, r128)
                      Linux (r200, savage4)
      
      From: Eric Anholt <anholt@freebsd.org>
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      22eae947
  18. 30 Sep, 2005 2 commits
  19. 24 Sep, 2005 1 commit
    • Dave Airlie's avatar
      drm: lindent the drm directory. · b5e89ed5
      Dave Airlie authored
      
      
      I've been threatening this for a while, so no point hanging around.
      This lindents the DRM code which was always really bad in tabbing department.
      I've also fixed some misnamed files in comments and removed some trailing
      whitespace.
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      b5e89ed5
  20. 10 Jul, 2005 1 commit
    • Dave Airlie's avatar
      drm: cleanup buffer/map code · 836cf046
      Dave Airlie authored
      
      
      This is a patch from DRM CVS that cleans up some code that was in CVS
      that I never moved to the kernel, this patch produces the result of the
      cleanups and puts it into the kernel drm.
      
      From: Eric Anholt <anholt@freebsd.org>, Jon Smirl, Dave Airlie
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      836cf046
  21. 23 Jun, 2005 1 commit
    • Dave Airlie's avatar
      drm: 32/64-bit DRM ioctl compatibility patch · 9a186645
      Dave Airlie authored
      
      
      The patch is against a 2.6.11 kernel tree.  I am running this with a
      32-bit X server (compiled up from X.org CVS as of a couple of weeks
      ago) and 32-bit DRI libraries and clients.  All the userland stuff is
      identical to what I am using under a 32-bit kernel on my G4 powerbook
      (which is a 32-bit machine of course).  I haven't tried compiling up a
      64-bit X server or clients yet.
      
      In the compatibility routines I have assumed that the kernel can
      safely access user addresses after set_fs(KERNEL_DS).  That is, where
      an ioctl argument structure contains pointers to other structures, and
      those other structures are already compatible between the 32-bit and
      64-bit ABIs (i.e. they only contain things like chars, shorts or
      ints), I just check the address with access_ok() and then pass it
      through to the 64-bit ioctl code.  I believe this approach may not
      work on sparc64, but it does work on ppc64 and x86_64 at least.
      
      One tricky area which may need to be revisited is the question of how
      to handle the handles which we pass back to userspace to identify
      mappings.  These handles are generated in the ADDMAP ioctl and then
      passed in as the offset value to mmap.  However, offset values for
      mmap seem to be generated in other ways as well, particularly for AGP
      mappings.
      
      The approach I have ended up with is to generate a fake 32-bit handle
      only for _DRM_SHM mappings.  The handles for other mappings (AGP, REG,
      FB) are physical addresses which are already limited to 32 bits, and
      generating fake handles for them created all sorts of problems in the
      mmap/nopage code.
      
      This patch has been updated to use the new compatibility ioctls.
      
      From: Paul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
      9a186645
  22. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4