drivers/gpu/drm/ttm/ttm_module.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
The RISC-V Svpbmt privileged extension provides support for overriding
page memory coherency attributes, and, along with vendor extensions like
Xtheadmae, supports pgprot_{writecombine,noncached} on RISC-V.
Adapt the codepath that maps ttm_write_combined to pgprot_writecombine
and ttm_noncached to pgprot_noncached to RISC-V, to allow proper page
access attributes.
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
---
drivers/gpu/drm/ttm/ttm_module.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ttm/ttm_module.c b/drivers/gpu/drm/ttm/ttm_module.c
index b3fffe7b5062..aa137ead5cc5 100644
--- a/drivers/gpu/drm/ttm/ttm_module.c
+++ b/drivers/gpu/drm/ttm/ttm_module.c
@@ -74,7 +74,8 @@ pgprot_t ttm_prot_from_caching(enum ttm_caching caching, pgprot_t tmp)
#endif /* CONFIG_UML */
#endif /* __i386__ || __x86_64__ */
#if defined(__ia64__) || defined(__arm__) || defined(__aarch64__) || \
- defined(__powerpc__) || defined(__mips__) || defined(__loongarch__)
+ defined(__powerpc__) || defined(__mips__) || defined(__loongarch__) || \
+ defined(__riscv)
if (caching == ttm_write_combined)
tmp = pgprot_writecombine(tmp);
else
--
2.50.1
On Tue, Jul 22, 2025 at 7:21 PM Icenowy Zheng <uwu@icenowy.me> wrote: > > The RISC-V Svpbmt privileged extension provides support for overriding > page memory coherency attributes, and, along with vendor extensions like > Xtheadmae, supports pgprot_{writecombine,noncached} on RISC-V. > > Adapt the codepath that maps ttm_write_combined to pgprot_writecombine > and ttm_noncached to pgprot_noncached to RISC-V, to allow proper page > access attributes. > > Signed-off-by: Icenowy Zheng <uwu@icenowy.me> > --- > drivers/gpu/drm/ttm/ttm_module.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/ttm/ttm_module.c b/drivers/gpu/drm/ttm/ttm_module.c > index b3fffe7b5062..aa137ead5cc5 100644 > --- a/drivers/gpu/drm/ttm/ttm_module.c > +++ b/drivers/gpu/drm/ttm/ttm_module.c > @@ -74,7 +74,8 @@ pgprot_t ttm_prot_from_caching(enum ttm_caching caching, pgprot_t tmp) > #endif /* CONFIG_UML */ > #endif /* __i386__ || __x86_64__ */ > #if defined(__ia64__) || defined(__arm__) || defined(__aarch64__) || \ > - defined(__powerpc__) || defined(__mips__) || defined(__loongarch__) > + defined(__powerpc__) || defined(__mips__) || defined(__loongarch__) || \ > + defined(__riscv) > if (caching == ttm_write_combined) > tmp = pgprot_writecombine(tmp); > else > -- > 2.50.1 > Tested-by: Han Gao <rabenda.cn@gmail.com> Thanks.
© 2016 - 2025 Red Hat, Inc.