Cached tests moved from callers into ttm_io_prot() with linux 3.18
authorjsg <jsg@openbsd.org>
Mon, 20 Aug 2018 06:56:58 +0000 (06:56 +0000)
committerjsg <jsg@openbsd.org>
Mon, 20 Aug 2018 06:56:58 +0000 (06:56 +0000)
which was partly missed when the 4.4 ttm changes went in.
Prompted by a patch from kettenis@

sys/dev/pci/drm/ttm/ttm_bo_util.c
sys/dev/pci/drm/ttm/ttm_bo_vm.c

index da6c459..13f408a 100644 (file)
@@ -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;
index de7cee9..04d25f4 100644 (file)
@@ -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)) {