summaryrefslogtreecommitdiff
path: root/sys/dev/pci/drm
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2018-08-20 06:56:59 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2018-08-20 06:56:59 +0000
commit83f7e03dce8a14778b33d921a9720525c92ce002 (patch)
tree68c6797ea6b006e21b178157fdce0061801747c4 /sys/dev/pci/drm
parentea6cb9defff80af87a2b5343f5418aa49677dea2 (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.c3
-rw-r--r--sys/dev/pci/drm/ttm/ttm_bo_vm.c3
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)) {