diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2018-08-20 06:56:59 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2018-08-20 06:56:59 +0000 |
commit | 83f7e03dce8a14778b33d921a9720525c92ce002 (patch) | |
tree | 68c6797ea6b006e21b178157fdce0061801747c4 /sys/dev/pci/drm | |
parent | ea6cb9defff80af87a2b5343f5418aa49677dea2 (diff) |
Cached tests moved from callers into ttm_io_prot() with linux 3.18
which was partly missed when the 4.4 ttm changes went in.
Prompted by a patch from kettenis@
Diffstat (limited to 'sys/dev/pci/drm')
-rw-r--r-- | sys/dev/pci/drm/ttm/ttm_bo_util.c | 3 | ||||
-rw-r--r-- | sys/dev/pci/drm/ttm/ttm_bo_vm.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/drm/ttm/ttm_bo_util.c b/sys/dev/pci/drm/ttm/ttm_bo_util.c index da6c459bd39..13f408af6df 100644 --- a/sys/dev/pci/drm/ttm/ttm_bo_util.c +++ b/sys/dev/pci/drm/ttm/ttm_bo_util.c @@ -514,6 +514,9 @@ EXPORT_SYMBOL(ttm_io_prot); pgprot_t ttm_io_prot(uint32_t caching_flags, pgprot_t tmp) { + /* Cached mappings need no adjustment */ + if (caching_flags & TTM_PL_FLAG_CACHED) + return tmp; #ifdef PMAP_WC if (caching_flags & TTM_PL_FLAG_WC) return PMAP_WC; diff --git a/sys/dev/pci/drm/ttm/ttm_bo_vm.c b/sys/dev/pci/drm/ttm/ttm_bo_vm.c index de7cee96a22..04d25f4bcca 100644 --- a/sys/dev/pci/drm/ttm/ttm_bo_vm.c +++ b/sys/dev/pci/drm/ttm/ttm_bo_vm.c @@ -372,8 +372,7 @@ ttm_bo_vm_fault(struct uvm_faultinfo *ufi, vaddr_t vaddr, vm_page_t *pps, pmap_flags = ttm_io_prot(bo->mem.placement, 0); } else { ttm = bo->ttm; - pmap_flags = (bo->mem.placement & TTM_PL_FLAG_CACHED) ? - 0 : ttm_io_prot(bo->mem.placement, 0); + pmap_flags = ttm_io_prot(bo->mem.placement, 0); /* Allocate all page at once, most common usage */ if (ttm->bdev->driver->ttm_tt_populate(ttm)) { |