1. 04 4月, 2014 1 次提交
  2. 16 3月, 2014 2 次提交
    • D
      drm: init TTM dev_mapping in ttm_bo_device_init() · 44d847b7
      David Herrmann 提交于
      With dev->anon_inode we have a global address_space ready for operation
      right from the beginning. Therefore, there is no need to do a delayed
      setup with TTM. Instead, set dev_mapping during initialization in
      ttm_bo_device_init() and remove any "if (dev_mapping)" conditions.
      
      Cc: Dave Airlie <airlied@redhat.com>
      Cc: Ben Skeggs <bskeggs@redhat.com>
      Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com>
      Cc: Alex Deucher <alexdeucher@gmail.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      44d847b7
    • D
      drm: use anon-inode instead of relying on cdevs · 6796cb16
      David Herrmann 提交于
      DRM drivers share a common address_space across all character-devices of a
      single DRM device. This allows simple buffer eviction and mapping-control.
      However, DRM core currently waits for the first ->open() on any char-dev
      to mark the underlying inode as backing inode of the device. This delayed
      initialization causes ugly conditions all over the place:
        if (dev->dev_mapping)
          do_sth();
      
      To avoid delayed initialization and to stop reusing the inode of the
      char-dev, we allocate an anonymous inode for each DRM device and reset
      filp->f_mapping to it on ->open().
      Signed-off-by: NDavid Herrmann <dh.herrmann@gmail.com>
      6796cb16
  3. 04 3月, 2014 1 次提交
  4. 03 3月, 2014 4 次提交
  5. 08 1月, 2014 1 次提交
  6. 19 8月, 2013 1 次提交
  7. 14 7月, 2013 1 次提交
    • M
      drm/radeon: add missing ttm_eu_backoff_reservation to radeon_bo_list_validate · 1b6e5fd5
      Maarten Lankhorst 提交于
      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: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Tested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Signed-off-by: NMaarten Lankhorst <maarten.lankhorst@canonical.com>
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      1b6e5fd5
  8. 28 6月, 2013 3 次提交
  9. 31 5月, 2013 1 次提交
  10. 09 4月, 2013 3 次提交
  11. 18 1月, 2013 1 次提交
  12. 14 12月, 2012 1 次提交
  13. 13 12月, 2012 1 次提交
  14. 10 12月, 2012 2 次提交
  15. 08 12月, 2012 1 次提交
  16. 20 11月, 2012 1 次提交
  17. 07 11月, 2012 1 次提交
  18. 24 10月, 2012 2 次提交
  19. 03 10月, 2012 1 次提交
  20. 21 9月, 2012 3 次提交
  21. 21 8月, 2012 1 次提交
  22. 13 8月, 2012 1 次提交
  23. 25 7月, 2012 2 次提交
  24. 21 6月, 2012 1 次提交
  25. 23 5月, 2012 2 次提交
  26. 02 4月, 2012 1 次提交