1. 07 9月, 2009 1 次提交
  2. 31 8月, 2009 1 次提交
    • B
      radeon: Use request_firmware() · 70967ab9
      Ben Hutchings 提交于
      Loosely based on a patch by
      Jaswinder Singh Rajput <jaswinderlinux@gmail.com>.
      
      KMS support by Dave Airlie <airlied@redhat.com>.
      
      For Radeon 100- to 500-series, firmware blobs look like:
          struct {
              __be32 datah;
              __be32 datal;
          } cp_ucode[256];
      
      For Radeon 600-series, there are two separate firmware blobs:
          __be32 me_ucode[PM4_UCODE_SIZE * 3];
          __be32 pfp_ucode[PFP_UCODE_SIZE];
      
      For Radeon 700-series, likewise:
          __be32 me_ucode[R700_PM4_UCODE_SIZE];
          __be32 pfp_ucode[R700_PFP_UCODE_SIZE];
      Signed-off-by: NBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      70967ab9
  3. 27 8月, 2009 2 次提交
  4. 22 6月, 2009 1 次提交
  5. 15 6月, 2009 2 次提交
    • J
      drm/radeon: introduce kernel modesetting for radeon hardware · 771fe6b9
      Jerome Glisse 提交于
      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: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      771fe6b9
    • T
      drm: Add the TTM GPU memory manager subsystem. · ba4e7d97
      Thomas Hellstrom 提交于
      TTM is a GPU memory manager subsystem designed for use with GPU
      devices with various memory types (On-card VRAM, AGP,
      PCI apertures etc.). It's essentially a helper library that assists
      the DRM driver in creating and managing persistent buffer objects.
      
      TTM manages placement of data and CPU map setup and teardown on
      data movement. It can also optionally manage synchronization of
      data on a per-buffer-object level.
      
      TTM takes care to provide an always valid virtual user-space address
      to a buffer object which makes user-space sub-allocation of
      big buffer objects feasible.
      
      TTM uses a fine-grained per buffer-object locking scheme, taking
      care to release all relevant locks when waiting for the GPU.
      Although this implies some locking overhead, it's probably a big
      win for devices with multiple command submission mechanisms, since
      the lock contention will be minimal.
      
      TTM can be used with whatever user-space interface the driver
      chooses, including GEM. It's used by the upcoming Radeon KMS DRM driver
      and is also the GPU memory management core of various new experimental
      DRM drivers.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NJerome Glisse <jglisse@redhat.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      ba4e7d97
  6. 30 5月, 2009 1 次提交
  7. 16 5月, 2009 1 次提交
  8. 13 5月, 2009 1 次提交
  9. 19 2月, 2009 1 次提交
  10. 08 2月, 2009 1 次提交
    • I
      drm/i915: select framebuffer support automatically · d2f59357
      Ingo Molnar 提交于
      Migration helper.
      
      The i915 driver recently added a 'depends on FB' rule to its
      Kconfig entry - which silently turns off DRM_I915 if someone
      has a working config but no CONFIG_FB selected, and upgrades
      to the latest upstream kernel.
      
      Norbert Preining reported this problem:
      
         Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=12599
         Subject     : dri /dev node disappeared with 2.6.29-rc1
      
      So change it to "select FB", which auto-selects framebuffer
      support. This way the driver keeps working, regardless of
      whether FB was enabled before or not.
      
      Kconfig select's of interactive options can be problematic to
      dependencies and can cause build breakages - but in this case
      it's safe because it's a leaf entry with no dependencies of its
      own.
      
      ( There is some minor circular dependency fallout as FB_I810
        and FB_INTEL also used 'depends on FB' constructs - update
        those to "select FB" too. )
      Reported-by: NNorbert Preining <preining@logic.at>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NDave Airlie <airlied@linux.ie>
      d2f59357
  11. 29 12月, 2008 3 次提交
  12. 21 10月, 2008 1 次提交
  13. 18 10月, 2008 2 次提交
  14. 14 7月, 2008 1 次提交
    • D
      drm: reorganise drm tree to be more future proof. · c0e09200
      Dave Airlie 提交于
      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: NDave Airlie <airlied@redhat.com>
      c0e09200
  15. 07 2月, 2008 1 次提交
  16. 17 10月, 2007 1 次提交
  17. 29 5月, 2007 1 次提交
  18. 22 9月, 2006 1 次提交
  19. 21 3月, 2006 1 次提交
  20. 07 8月, 2005 1 次提交
  21. 05 8月, 2005 1 次提交
  22. 10 7月, 2005 1 次提交
    • D
      Add support for PCI MGA cards to MGA DRM. · 6795c985
      Dave Airlie 提交于
      This patch adds serveral new ioctls and a new query to get_param query to
      support PCI MGA cards.
      
      Two ioctls were added to implement interrupt based waiting.  With this change,
      the client-side driver no longer needs to map the primary DMA region or the
      MMIO region.  Previously, end-of-frame waiting was done by busy waiting in the
      client-side driver until one of the MMIO registers (the current DMA pointer)
      matched a pointer to the end of primary DMA space.  By using interrupts, the
      busy waiting and the extra mappings are removed.
      
      A third ioctl was added to bootstrap DMA.  This ioctl, which is used by the
      X-server, moves a *LOT* of code from the X-server into the kernel.  This allows
      the kernel to do whatever needs to be done to setup DMA buffers.  The entire
      process and the locations of the buffers are hidden from user-mode.
      
      Additionally, a get_param query was added to differentiate between G4x0 cards
      and G550 cards.  A gap was left in the numbering sequence so that, if needed,
      G450 cards could be distinguished from G400 cards.  According to Ville
      Syrjälä, the G4x0 cards and the G550 cards handle anisotropic filtering
      differently.  This seems the most compatible way to let the client-side driver
      know which card it's own.  Doing this very small change now eliminates the
      need to bump the DRM minor version twice.
      
      http://marc.theaimsgroup.com/?l=dri-devel&m=106625815319773&w=2
      
      (airlied - this may not work at this point, I think the follow on buffer
       cleanup patches will be needed)
      
      From: Ian Romanick <idr@us.ibm.com>
      Signed-off-by: NDave Airlie <airlied@linux.ie>
      6795c985
  23. 28 6月, 2005 1 次提交
  24. 23 6月, 2005 1 次提交
  25. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      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