1. 08 Jun, 2011 1 commit
  2. 01 Jun, 2011 1 commit
  3. 23 May, 2011 1 commit
  4. 31 Mar, 2011 1 commit
  5. 02 Mar, 2011 1 commit
  6. 22 Feb, 2011 2 commits
  7. 13 Feb, 2011 1 commit
    • Dave Airlie's avatar
      drm/radeon: fix race between GPU reset and TTM delayed delete thread. · 8fd1b84c
      Dave Airlie authored
      
      
      My evergreen has been in a remote PC for week and reset has never once
      saved me from certain doom, I finally relocated to the box with a
      serial cable and noticed an oops when the GPU resets, and the TTM
      delayed delete thread tries to remove something from the GTT.
      
      This stops the delayed delete thread from executing across the GPU
      reset handler, and woot I can GPU reset now.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      8fd1b84c
  8. 25 Jan, 2011 1 commit
    • Torben Hohn's avatar
      console: rename acquire/release_console_sem() to console_lock/unlock() · ac751efa
      Torben Hohn authored
      
      
      The -rt patches change the console_semaphore to console_mutex.  As a
      result, a quite large chunk of the patches changes all
      acquire/release_console_sem() to acquire/release_console_mutex()
      
      This commit makes things use more neutral function names which dont make
      implications about the underlying lock.
      
      The only real change is the return value of console_trylock which is
      inverted from try_acquire_console_sem()
      
      This patch also paves the way to switching console_sem from a semaphore to
      a mutex.
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]
      Signed-off-by: default avatarTorben Hohn <torbenh@gmx.de>
      Cc: Thomas Gleixner <tglx@tglx.de>
      Cc: Greg KH <gregkh@suse.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ac751efa
  9. 06 Jan, 2011 2 commits
  10. 05 Jan, 2011 1 commit
    • Tejun Heo's avatar
      drm/radeon: use system_wq instead of dev_priv->wq · 32c87fca
      Tejun Heo authored
      
      
      With cmwq, there's no reason for radeon to use a dedicated workqueue.
      Drop dev_priv->wq and use system_wq instead.
      
      Because radeon_driver_irq_uninstall_kms() may be called from
      unsleepable context, the work items can't be flushed from there.
      Instead, init and flush from radeon_irq_kms_init/fini().
      
      While at it, simplify canceling/flushing of rdev->pm.dynpm_idle_work.
      Always initialize and sync cancel instead of being unnecessarily smart
      about it.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Acked-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Cc: dri-devel@lists.freedesktop.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      32c87fca
  11. 04 Jan, 2011 2 commits
  12. 20 Dec, 2010 1 commit
  13. 15 Dec, 2010 1 commit
  14. 07 Dec, 2010 1 commit
  15. 22 Nov, 2010 1 commit
  16. 17 Nov, 2010 1 commit
  17. 05 Oct, 2010 2 commits
    • Alex Deucher's avatar
      drm/radeon/kms/r6xx+: use new style fencing (v3) · d0f8a854
      Alex Deucher authored
      On r6xx+ a newer fence mechanism was implemented to replace
      the old wait_until plus scratch regs setup.  A single EOP event
      will flush the destination caches, write a fence value, and generate
      an interrupt.  This is the recommended fence mechanism on r6xx+ asics.
      
      This requires my previous writeback patch.
      
      v2: fix typo that enabled event fence checking on all asics
      rather than just r6xx+.
      
      v3: properly enable EOP interrupts
      Should fix:
      https://bugs.freedesktop.org/show_bug.cgi?id=29972
      
      Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      d0f8a854
    • Alex Deucher's avatar
      drm/radeon/kms: enable writeback (v2) · 724c80e1
      Alex Deucher authored
      
      
      When writeback is enabled, the GPU shadows writes to certain
      registers into a buffer in memory.  The driver can then read
      the values from the shadow rather than reading back from the
      register across the bus.  Writeback can be disabled by setting
      the no_wb module param to 1.
      
      On r6xx/r7xx/evergreen, the following registers are shadowed:
      - CP scratch registers
      - CP read pointer
      - IH write pointer
      On r1xx-rr5xx, the following registers are shadowed:
      - CP scratch registers
      - CP read pointer
      
      v2:
      - Combine wb patches for r6xx-evergreen and r1xx-r5xx
      - Writeback is disabled on AGP boards since it tends to be
      unreliable on AGP using the gart.
      - Check radeon_wb_init return values properly.
      Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      724c80e1
  18. 29 Aug, 2010 1 commit
  19. 19 Aug, 2010 1 commit
  20. 11 Aug, 2010 1 commit
  21. 01 Aug, 2010 2 commits
  22. 15 Jul, 2010 1 commit
    • Alex Deucher's avatar
      drm/radeon/kms: fix gtt MC base alignment on rs4xx/rs690/rs740 asics · 8d369bb1
      Alex Deucher authored
      
      
      The asics in question have the following requirements with regard to
      their gart setups:
      
      1. The GART aperture size has to be in the form of 2^X bytes, where X is from 25 to 31
      2. The GART aperture MC base has to be aligned to a boundary equal to the size of the
      aperture.
      3. The GART page table has to be aligned to the boundary equal to the size of the table.
      4. The GART page table size is: table_entry_size * (aperture_size / page_size)
      5. The GART page table has to be allocated in non-paged, non-cached, contiguous system
      memory.
      
      This patch takes care 2.  The rest should already be handled properly.
      
      This fixes a regression noticed by: Torsten Kaiser <just.for.lkml@googlemail.com>
      Tested-by: default avatarTorsten Kaiser <just.for.lkml@googlemail.com>
      Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      8d369bb1
  23. 30 Jun, 2010 1 commit
  24. 02 Jun, 2010 1 commit
  25. 31 May, 2010 2 commits
  26. 23 May, 2010 1 commit
  27. 18 May, 2010 4 commits
    • Alex Deucher's avatar
      drm/radeon/kms/pm: rework power management · ce8f5370
      Alex Deucher authored
      
      
      - Separate dynpm and profile based power management methods.  You can select the pm method
        by echoing the selected method ("dynpm" or "profile") to power_method in sysfs.
      - Expose basic 4 profile in profile method
        "default" - default clocks
        "auto" - select between low and high based on ac/dc state
        "low" - DC, low power mode
        "high" - AC, performance mode
        The current base profile is "default", but it should switched to "auto" once we've tested
        on more systems.  Switching the state is a matter of echoing the requested profile to
        power_profile in sysfs.  The lowest power states are selected automatically when dpms turns
        the monitors off in all states but default.
      - Remove dynamic fence-based reclocking for the moment.  We can revisit this later once we
        have basic pm in.
      - Move pm init/fini to modesetting path.  pm is tightly coupled with display state.  Make sure
        display side is initialized before pm.
      - Add pm suspend/resume functions to make sure pm state is properly reinitialized on resume.
      - Remove dynpm module option.  It's now selectable via sysfs.
      Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      ce8f5370
    • Ben Skeggs's avatar
      drm: move radeon_fixed.h to shared drm_fixed.h header · 68adac5e
      Ben Skeggs authored
      
      
      Will be used by nouveau driver also in the near future.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      68adac5e
    • Matthew Garrett's avatar
      radeon: Unmap vram pages when reclocking · 5876dd24
      Matthew Garrett authored
      
      
      Touching vram while the card is reclocking can lead to lockups. Unmap
      any pages that could be touched by the CPU and block any accesses to
      vram until the reclocking is complete.
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      5876dd24
    • Alex Deucher's avatar
      drm/radeon/kms: add support for gui idle interrupts (v4) · 2031f77c
      Alex Deucher authored
      
      
      Useful for certain power management operations.  You
      need to wait for the GUI engine (2D, 3D, CP, etc.) to be
      idle before changing clocks or adjusting engine parameters.
      
      (v2) Fix gui idle enable on pre-r6xx asics
      
      (v3) The gui idle interrrupt status bit is permanently asserted
      on pre-r6xx chips, but the interrrupt is still generated.
      workaround it in the driver.
      
      (v4) Add support for evergreen
      Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      2031f77c
  28. 18 Apr, 2010 1 commit
  29. 06 Apr, 2010 1 commit
    • Dave Airlie's avatar
      drm/fb: fix fbdev object model + cleanup properly. · 38651674
      Dave Airlie authored
      
      
      The fbdev layer in the kms code should act like a consumer of the kms services and avoid having relying on information being store in the kms core structures in order for it to work.
      
      This patch
      
      a) removes the info pointer/psuedo palette from the core drm_framebuffer structure and moves it to the fbdev helper layer, it also removes the core drm keeping a list of kernel kms fbdevs.
      b) migrated all the fb helper functions out of the crtc helper file into the fb helper file.
      c) pushed the fb probing/hotplug control into the driver
      d) makes the surface sizes into a structure for ease of passing
      This changes the intel/radeon/nouveau drivers to use the new helper.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      38651674
  30. 05 Apr, 2010 2 commits
    • Jerome Glisse's avatar
      drm/radeon/kms: simplify & improve GPU reset V2 · 90aca4d2
      Jerome Glisse authored
      
      
      This simplify and improve GPU reset for R1XX-R6XX hw, it's
      not 100% reliable here are result:
      - R1XX/R2XX works bunch of time in a row, sometimes it
        seems it can work indifinitly
      - R3XX/R3XX the most unreliable one, sometimes you will be
        able to reset few times, sometimes not even once
      - R5XX more reliable than previous hw, seems to work most
        of the times but once in a while it fails for no obvious
        reasons (same status than previous reset just no same
        happy ending)
      - R6XX/R7XX are lot more reliable with this patch, still
        it seems that it can fail after a bunch (reset every
        2sec for 3hour bring down the GPU & computer)
      
      This have been tested on various hw, for some odd reasons
      i wasn't able to lockup RS480/RS690 (while they use to
      love locking up).
      
      Note that on R1XX-R5XX the cursor will disapear after
      lockup haven't checked why, switch to console and back
      to X will restore cursor.
      
      Next step is to record the bogus command that leaded to
      the lockup.
      
      V2 Fix r6xx resume path to avoid reinitializing blit
      module, use the gpu_lockup boolean to avoid entering
      inifinite waiting loop on fence while reiniting the GPU
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      90aca4d2
    • Jerome Glisse's avatar
      drm/radeon/kms: rename gpu_reset to asic_reset · a2d07b74
      Jerome Glisse authored
      
      
      Patch rename gpu_reset to asic_reset in prevision of having
      gpu_reset doing more stuff than just basic asic reset.
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      a2d07b74