Module Name: src Committed By: jmcneill Date: Tue Jan 28 23:21:05 UTC 2020
Modified Files: src/sys/external/bsd/drm2/dist/drm/ttm: ttm_bo_util.c Log Message: ttm_io_prot: follow linux semantics and set either PMAP_WRITE_COMBINE or PMAP_NOCACHE when existing cache flags are not set To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 \ src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c diff -u src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c:1.14 src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c:1.15 --- src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c:1.14 Thu Aug 30 01:19:49 2018 +++ src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c Tue Jan 28 23:21:05 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: ttm_bo_util.c,v 1.14 2018/08/30 01:19:49 riastradh Exp $ */ +/* $NetBSD: ttm_bo_util.c,v 1.15 2020/01/28 23:21:05 jmcneill Exp $ */ /************************************************************************** * @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ttm_bo_util.c,v 1.14 2018/08/30 01:19:49 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ttm_bo_util.c,v 1.15 2020/01/28 23:21:05 jmcneill Exp $"); #include <drm/ttm/ttm_bo_driver.h> #include <drm/ttm/ttm_placement.h> @@ -565,17 +565,11 @@ pgprot_t ttm_io_prot(uint32_t caching_fl return tmp; #ifdef __NetBSD__ - switch (caching_flags & TTM_PL_MASK_CACHING) { - case TTM_PL_FLAG_CACHED: - return (tmp | PMAP_WRITE_BACK); - case TTM_PL_FLAG_WC: + tmp &= ~PMAP_CACHE_MASK; + if (caching_flags & TTM_PL_FLAG_WC) return (tmp | PMAP_WRITE_COMBINE); - case TTM_PL_FLAG_UNCACHED: + else return (tmp | PMAP_NOCACHE); - default: - panic("invalid caching flags: %"PRIx32"\n", - (caching_flags & TTM_PL_MASK_CACHING)); - } #else #if defined(__i386__) || defined(__x86_64__) if (caching_flags & TTM_PL_FLAG_WC)