1. 08 Dec, 2009 1 commit
  2. 07 Dec, 2009 14 commits
  3. 06 Dec, 2009 1 commit
  4. 04 Dec, 2009 11 commits
  5. 03 Dec, 2009 10 commits
  6. 02 Dec, 2009 3 commits
    • Jerome Glisse's avatar
      drm/radeon/kms: Rework radeon object handling · 4c788679
      Jerome Glisse authored
      The locking & protection of radeon object was somewhat messy.
      This patch completely rework it to now use ttm reserve as a
      protection for the radeon object structure member. It also
      shrink down the various radeon object structure by removing
      field which were redondant with the ttm information. Last it
      converts few simple functions to inline which should with
      performances.
      
      airlied: rebase on top of r600 and other changes.
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      4c788679
    • Dave Airlie's avatar
      drm/radeon/kms: add irq mitigation code for sw interrupt. · 1614f8b1
      Dave Airlie authored
      We really don't need to process every irq that comes in, we only
      really want to do SW irq processing when we are actually waiting for
      a fence to pass. I'm not 100% sure this is race free esp on non-MSI systems
      so it needs some testing.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      1614f8b1
    • Alex Deucher's avatar
      drm/radeon/kms: Add support for interrupts on r6xx/r7xx chips (v3) · d8f60cfc
      Alex Deucher authored
      This enables the use of interrupts on r6xx/r7xx hardware.
      Interrupts are implemented via a ring buffer.  The GPU adds
      interrupts vectors to the ring and the host reads them off
      in the interrupt handler.  The interrupt controller requires
      firmware like the CP.  This firmware must be installed and
      accessble to the firmware loader for interrupts to function.
      
      MSIs don't seem to work on my RS780.  They work fine on all
      my discrete cards.  I'm not sure about other RS780s or
      RS880s.  I've disabled MSIs on RS780 and RS880, but it would
      probably be worth checking on some other systems.
      
      v2 - fix some checkpatch.pl problems;
           re-read the disp int status reg if we restart the ih;
      
      v3 - remove the irq handler if r600_irq_init() fails;
           remove spinlock in r600_ih_ring_fini();
           move ih rb overflow check to r600_get_ih_wptr();
           move irq ack to separate function;
      Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      d8f60cfc