1. 24 Mar, 2020 1 commit
    • Thomas Hellstrom (VMware)'s avatar
      drm/ttm, drm/vmwgfx: Support huge TTM pagefaults · 314b6580
      Thomas Hellstrom (VMware) authored
      
      
      Support huge (PMD-size and PUD-size) page-table entries by providing a
      huge_fault() callback.
      We still support private mappings and write-notify by splitting the huge
      page-table entries on write-access.
      
      Note that for huge page-faults to occur, either the kernel needs to be
      compiled with trans-huge-pages always enabled, or the kernel needs to be
      compiled with trans-huge-pages enabled using madvise, and the user-space
      app needs to call madvise() to enable trans-huge pages on a per-mapping
      basis.
      
      Furthermore huge page-faults will not succeed unless buffer objects and
      user-space addresses are aligned on huge page size boundaries.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Ralph Campbell <rcampbell@nvidia.com>
      Cc: "Jérôme Glisse" <jglisse@redhat.com>
      Cc: "Christian König" <christian.koenig@amd.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarThomas Hellstrom (VMware) <thomas_os@shipmail.org>
      Reviewed-by: default avatarRoland Scheidegger <sroland@vmware.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      314b6580
  2. 16 Jan, 2020 1 commit
    • Thomas Hellstrom's avatar
      mm, drm/ttm: Fix vm page protection handling · 5379e4dd
      Thomas Hellstrom authored
      
      
      TTM graphics buffer objects may, transparently to user-space,  move
      between IO and system memory. When that happens, all PTEs pointing to the
      old location are zapped before the move and then faulted in again if
      needed. When that happens, the page protection caching mode- and
      encryption bits may change and be different from those of
      struct vm_area_struct::vm_page_prot.
      
      We were using an ugly hack to set the page protection correctly.
      Fix that and instead export and use vmf_insert_mixed_prot() or use
      vmf_insert_pfn_prot().
      Also get the default page protection from
      struct vm_area_struct::vm_page_prot rather than using vm_get_page_prot().
      This way we catch modifications done by the vm system for drivers that
      want write-notification.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Michal Hocko <mhocko@suse.com>
      Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
      Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Ralph Campbell <rcampbell@nvidia.com>
      Cc: "Jérôme Glisse" <jglisse@redhat.com>
      Cc: "Christian König" <christian.koenig@amd.com>
      Signed-off-by: default avatarThomas Hellstrom <thellstrom@vmware.com>
      Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
      Acked-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      5379e4dd
  3. 06 Dec, 2019 1 commit
  4. 08 Nov, 2019 1 commit
  5. 06 Nov, 2019 3 commits
  6. 04 Nov, 2019 2 commits
  7. 29 Oct, 2019 1 commit
  8. 25 Oct, 2019 1 commit
  9. 17 Oct, 2019 2 commits
  10. 14 Oct, 2019 1 commit
  11. 11 Sep, 2019 1 commit
  12. 13 Aug, 2019 1 commit
  13. 06 Aug, 2019 2 commits
  14. 15 Jul, 2019 1 commit
  15. 18 Jun, 2019 2 commits
  16. 19 Mar, 2019 2 commits
  17. 25 Jan, 2019 1 commit
  18. 28 Sep, 2018 1 commit
  19. 10 Jul, 2018 2 commits
  20. 19 Jun, 2018 1 commit
  21. 15 May, 2018 1 commit
  22. 27 Feb, 2018 2 commits
  23. 19 Feb, 2018 2 commits
  24. 30 Jan, 2018 1 commit
  25. 10 Jan, 2018 1 commit
  26. 28 Dec, 2017 1 commit
  27. 27 Dec, 2017 1 commit
  28. 25 Jul, 2017 1 commit
  29. 18 Jul, 2017 1 commit
  30. 16 May, 2017 1 commit