1. 07 4月, 2022 2 次提交
  2. 06 4月, 2022 1 次提交
  3. 17 12月, 2021 1 次提交
  4. 16 12月, 2021 1 次提交
  5. 10 12月, 2021 2 次提交
    • Z
      drm/vmwgfx: Implement DRIVER_GEM · 8afa13a0
      Zack Rusin 提交于
      This is initial change adding support for DRIVER_GEM to vmwgfx. vmwgfx
      was written before GEM and has always used TTM. Over the years the
      TTM buffers started inherting from GEM objects but vmwgfx never
      implemented GEM making it quite awkward. We were directly setting
      variables in GEM objects to not make DRM crash.
      
      This change brings vmwgfx inline with other DRM drivers and allows us
      to use a lot of DRM helpers which have depended on drivers with GEM
      support.
      
      Due to historical reasons vmwgfx splits the idea of a buffer and surface
      which makes it a littly tricky since either one can be used in most
      of our ioctl's which take user space handles. For now our BO's are
      GEM objects and our surfaces are opaque objects which are backed by
      GEM objects. In the future I'd like to combine those into a single
      BO but we don't want to break any of our existing ioctl's so it will
      take time to do it in a non-destructive way.
      Signed-off-by: NZack Rusin <zackr@vmware.com>
      Reviewed-by: NMartin Krastev <krastevm@vmware.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211206172620.3139754-5-zack@kde.org
      8afa13a0
    • Z
      drm/vmwgfx: Remove the dedicated memory accounting · 8aadeb8a
      Zack Rusin 提交于
      vmwgfx shared very elaborate memory accounting with ttm. It was moved
      from ttm to vmwgfx in change
      f07069da ("drm/ttm: move memory accounting into vmwgfx v4")
      but because of complexity it was hard to maintain. Some parts of the code
      weren't freeing memory correctly and  some were missing accounting all
      together. While those would be fairly easy to fix the fundamental reason
      for memory accounting in the driver was the ability to invoke shrinker
      which is part of TTM code as well (with support for unified memory
      hopefully coming soon).
      
      That meant that vmwgfx had a lot of code that was either unused or
      duplicating code from TTM. Removing this code also prevents excessive
      calls to global swapout which were common during memory pressure
      because both vmwgfx and TTM would invoke the shrinker when memory
      usage reached half of RAM.
      
      Fixes: f07069da ("drm/ttm: move memory accounting into vmwgfx v4")
      Signed-off-by: NZack Rusin <zackr@vmware.com>
      Reviewed-by: NMartin Krastev <krastevm@vmware.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211206172620.3139754-2-zack@kde.org
      8aadeb8a
  6. 02 12月, 2021 1 次提交
  7. 03 9月, 2021 1 次提交
  8. 10 8月, 2021 1 次提交
  9. 06 6月, 2021 1 次提交
  10. 02 6月, 2021 1 次提交
  11. 12 5月, 2021 2 次提交
  12. 23 4月, 2021 1 次提交
  13. 10 2月, 2021 1 次提交
  14. 21 1月, 2021 1 次提交
  15. 20 1月, 2021 1 次提交
  16. 14 12月, 2020 1 次提交
  17. 07 10月, 2020 1 次提交
  18. 24 9月, 2020 2 次提交
  19. 11 9月, 2020 2 次提交
  20. 06 8月, 2020 1 次提交
  21. 26 6月, 2020 1 次提交
  22. 06 11月, 2019 2 次提交
    • T
      drm/vmwgfx: Use an RBtree instead of linked list for MOB resources · 61335d7a
      Thomas Hellstrom 提交于
      With emulated coherent memory we need to be able to quickly look up
      a resource from the MOB offset. Instead of traversing a linked list with
      O(n) worst case, use an RBtree with O(log n) worst case complexity.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Jérôme Glisse <jglisse@redhat.com>
      Cc: Kirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NDeepak Rawat <drawat@vmware.com>
      61335d7a
    • T
      drm/vmwgfx: Implement an infrastructure for write-coherent resources · b7468b15
      Thomas Hellstrom 提交于
      This infrastructure will, for coherent resources, make sure that
      from the user-space point of view, data written by the CPU is immediately
      automatically available to the GPU at resource validation time.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Will Deacon <will.deacon@arm.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Rik van Riel <riel@surriel.com>
      Cc: Minchan Kim <minchan@kernel.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Jérôme Glisse <jglisse@redhat.com>
      Cc: Kirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NDeepak Rawat <drawat@vmware.com>
      b7468b15
  23. 25 10月, 2019 1 次提交
  24. 15 8月, 2019 2 次提交
    • T
      drm/vmwgfx: Assign eviction priorities to resources · a0a63940
      Thomas Hellstrom 提交于
      TTM provides a means to assign eviction priorities to buffer object. This
      means that all buffer objects with a lower priority will be evicted first
      on memory pressure.
      Use this to make sure surfaces and in particular non-dirty surfaces are
      evicted first. Evicting in particular shaders, cotables and contexts imply
      a significant performance hit on vmwgfx, so make sure these resources are
      evicted last.
      Some buffer objects are sub-allocated in user-space which means we can have
      many resources attached to a single buffer object or resource. In that case
      the buffer object is given the highest priority of the attached resources.
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: NDeepak Rawat <drawat@vmware.com>
      a0a63940
    • S
      drm/vmwgfx: drop reminaing users of drmP.h · 6ae8748b
      Sam Ravnborg 提交于
      Drop use of the deprecated drmP.h file from the
      remaining files.
      In several cases the drmP.h include could be removed without
      furter fixes. Other files required a few header files to be added.
      
      In all files divided includes files in blocks and sort them.
      
      v2:
      - fix warning in i386 build wiht HIGHMEM disabled
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Reported-by: kbuild test robot <lkp@intel.com> [warning in i386 build]
      Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
      Cc: Thomas Hellstrom <thellstrom@vmware.com>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Reviewed-by: NDeepak Rawat <drawat@vmware.com>
      Signed-off-by: NDeepak Rawat <drawat@vmware.com>
      Signed-off-by: NThomas Hellstrom <thellstrom@vmware.com>
      6ae8748b
  25. 13 8月, 2019 1 次提交
  26. 06 8月, 2019 2 次提交
  27. 05 8月, 2019 1 次提交
  28. 16 7月, 2019 1 次提交
  29. 18 6月, 2019 3 次提交
  30. 29 1月, 2019 1 次提交