1. 14 Jul, 2013 7 commits
    • Jerome Glisse's avatar
      drm/radeon: use radeon device for request firmware · 0a168933
      Jerome Glisse authored
      Avoid creating temporary platform device that will lead to issue
      when several radeon gpu are in same computer. Instead directly use
      the radeon device for requesting firmware.
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarJerome Glisse <jglisse@redhat.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      0a168933
    • Maarten Lankhorst's avatar
      drm/radeon: add missing ttm_eu_backoff_reservation to radeon_bo_list_validate · 1b6e5fd5
      Maarten Lankhorst authored
      Op 10-07-13 12:03, Markus Trippelsdorf schreef:
      > On 2013.07.10 at 11:56 +0200, Maarten Lankhorst wrote:
      >> Op 10-07-13 11:46, Markus Trippelsdorf schreef:
      >>> On 2013.07.10 at 11:29 +0200, Maarten Lankhorst wrote:
      >>>> Op 10-07-13 11:22, Markus Trippelsdorf schreef:
      >>>>> By simply copy/pasting a big document under LibreOffice my system hangs
      >>>>> itself up. Only a hard reset gets it working again.
      >>>>> see also: https://bugs.freedesktop.org/show_bug.cgi?id=66551
      >>>>>
      >>>>> I've bisected the issue to:
      >>>>>
      >>>>> commit ecff665f
      >>>>> Author: Maarten Lankhorst <m.b.lankhorst@gmail.com>
      >>>>> Date:   Thu Jun 27 13:48:17 2013 +0200
      >>>>>
      >>>>>     drm/ttm: make ttm reservation calls behave like reservation calls
      >>>>>
      >>>>>     This commit converts the source of the val_seq counter to
      >>>>>     the ww_mutex api. The reservation objects are converted later,
      >>>>>     because there is still a lockdep splat in nouveau that has to
      >>>>>     resolved first.
      >>>>>
      >>>>>     Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
      >>>>>     Reviewed-by: Jerome Glisse <jglisse@redhat.com>
      >>>>>     Signed-off-by: Dave Airlie <airlied@redhat.com>
      >>>> Hey,
      >>>>
      >>>> Can you try current head with CONFIG_PROVE_LOCKING set and post the
      >>>> lockdep splat from dmesg, if any? If there is any locking issue
      >>>> lockdep should warn about it.  Lockdep will turn itself off after the
      >>>> first splat, so if the lockdep splat happens before running the
      >>>> affected parts those will have to be fixed first.
      >>> There was an unrelated EDAC lockdep splat, so I simply disabled it.
      
      > >>> This is what I get:
      
      >>> Jul 10 11:40:44 x4 kernel: ================================================
      >>> Jul 10 11:40:44 x4 kernel: [ BUG: lock held when returning to user space! ]
      >>> Jul 10 11:40:44 x4 kernel: 3.10.0-08587-g496322bc #35 Not tainted
      >>> Jul 10 11:40:44 x4 kernel: ------------------------------------------------
      >>> Jul 10 11:40:44 x4 kernel: X/211 is leaving the kernel with locks still held!
      >>> Jul 10 11:40:44 x4 kernel: 2 locks held by X/211:
      >>> Jul 10 11:40:44 x4 kernel: #0:  (reservation_ww_class_acquire){+.+.+.}, at: [<ffffffff813279f0>] radeon_bo_list_validate+0x20/0xd0
      >>> Jul 10 11:40:44 x4 kernel: #1:  (reservation_ww_class_mutex){+.+.+.}, at: [<ffffffff81309306>] ttm_eu_reserve_buffers+0x126/0x4b0
      >>> Jul 10 11:40:52 x4 kernel: SysRq : Emergency Sync
      >>> Jul 10 11:40:53 x4 kernel: Emergency Sync complete
      >>>
      >> Thanks, exactly what I thought. I missed a backoff somewhere..
      >>
      >> Does the below patch fix it?
      > Yes. Thank you for your quick reply.
      
      8<------
      If radeon_cs_parser_relocs fails ttm_eu_backoff_reservation doesn't get called.
      This left open a bug where ttm_eu_reserve_buffers succeeded but the bo's were
      not unlocked afterwards:
      
      Jul 10 11:40:44 x4 kernel: ================================================
      Jul 10 11:40:44 x4 kernel: [ BUG: lock held when returning to user space! ]
      Jul 10 11:40:44 x4 kernel: 3.10.0-08587-g496322bc #35 Not tainted
      Jul 10 11:40:44 x4 kernel: ------------------------------------------------
      Jul 10 11:40:44 x4 kernel: X/211 is leaving the kernel with locks still held!
      Jul 10 11:40:44 x4 kernel: 2 locks held by X/211:
      Jul 10 11:40:44 x4 kernel: #0:  (reservation_ww_class_acquire){+.+.+.}, at: [<ffffffff813279f0>] radeon_bo_list_validate+0x20/0xd0
      Jul 10 11:40:44 x4 kernel: #1:  (reservation_ww_class_mutex){+.+.+.}, at: [<ffffffff81309306>] ttm_eu_reserve_buffers+0x126/0x4b0
      Jul 10 11:40:52 x4 kernel: SysRq : Emergency Sync
      Jul 10 11:40:53 x4 kernel: Emergency Sync complete
      
      This is a regression caused by commit ecff665f.
      "drm/ttm: make ttm reservation calls behave like reservation calls"
      Reported-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Tested-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      1b6e5fd5
    • Alex Deucher's avatar
      drm/radeon: use CP DMA on r6xx for bo moves · bfea6a68
      Alex Deucher authored
      Lighter weight than using the 3D engine.
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      bfea6a68
    • Alex Deucher's avatar
      drm/radeon: implement bo copy callback using CP DMA (v2) · 072b5acc
      Alex Deucher authored
      Lighter weight than using the 3D engine.
      
      v2: fix ring count
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      072b5acc
    • Alex Deucher's avatar
      drm/radeon: Disable dma rings for bo moves on r6xx · aeea40cb
      Alex Deucher authored
      They still seem to cause instability on some r6xx parts.
      As a follow up, we can switch to using CP DMA for bo
      moves on r6xx as a lighter weight alternative to using
      the 3D engine.
      
      A version of this patch should also go to stable kernels.
      Tested-by: default avatarJ.N. <golden.fleeced@gmail.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      aeea40cb
    • Alex Deucher's avatar
      drm/radeon/dpm: disable gfx PG on PALM · 9847b36a
      Alex Deucher authored
      Gfx PG doesn't seem to work properly when UVD is initialized
      on certain PALM boards.  Disable gfx PG for now until we sort
      out a proper fix.
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      9847b36a
    • Alex Deucher's avatar
      drm/radeon/hdmi: make sure we have an afmt block assigned · c2b4cacf
      Alex Deucher authored
      Prevents a segfault if an afmt block is not assigned to the
      encoder such as in the LVDS or eDP case.
      
      Fixes:
      https://bugs.freedesktop.org/show_bug.cgi?id=66714Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      c2b4cacf
  2. 09 Jul, 2013 2 commits
    • Dave Airlie's avatar
      Merge branch 'drm-next-3.11' of git://people.freedesktop.org/~agd5f/linux into drm-next · 774d8e34
      Dave Airlie authored
      A few more DPM fixes based on user testing.
      
      * 'drm-next-3.11' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/dpm: implement vblank_too_short callback for si
        drm/radeon/dpm: implement vblank_too_short callback for cayman
        drm/radeon/dpm: implement vblank_too_short callback for btc
        drm/radeon/dpm: implement vblank_too_short callback for evergreen
        drm/radeon/dpm: implement vblank_too_short callback for 7xx
        drm/radeon/dpm: add checks against vblank time
        drm/radeon/dpm: add helper to calculate vblank time
        drm/radeon: remove stray line in old pm code
        drm/radeon/dpm: fix display_gap programming on rv7xx
        drm/radeon/dpm: implement force performance level for TN
        drm/radeon/dpm: implement force performance level for ON/LN
        drm/radeon/dpm: implement force performance level for SI
        drm/radeon/dpm: implement force performance level for cayman
        drm/radeon/dpm: implement force performance levels for 7xx/eg/btc
        drm/radeon/dpm: add infrastructure to force performance levels
        drm/radeon: fix surface setup on r1xx
        drm/radeon: add support for 3d perf states on older asics
        drm/radeon: set default clocks for SI when DPM is disabled
      774d8e34
    • Dave Airlie's avatar
      Merge branch 'drm-nouveau-next' of... · fd0932d7
      Dave Airlie authored
      Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next
      
      Two minor fixes for regressions.
      
      * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        drm/nvc0/gr: fix gpc firmware regression
        drm/nouveau: fix minor thinko causing bo moves to not be async on kepler
      fd0932d7
  3. 08 Jul, 2013 11 commits
  4. 05 Jul, 2013 20 commits