[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAT7Ki9NGDhVo1dq3R5X-Mo1g0-+MZWcQ2TfWG7CAL27Y6BvcQ@mail.gmail.com>
Date: Tue, 28 Oct 2025 01:10:14 +0800
From: Han Gao <rabenda.cn@...il.com>
To: Christian König <christian.koenig@....com>
Cc: Icenowy Zheng <uwu@...nowy.me>, Huang Rui <ray.huang@....com>,
Matthew Auld <matthew.auld@...el.com>, Matthew Brost <matthew.brost@...el.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti <alex@...ti.fr>, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org,
Vivian Wang <wangruikang@...as.ac.cn>, Inochi Amaoto <inochiama@...il.com>,
Yao Zi <ziyao@...root.org>
Subject: Re: [PATCH v2] drm/ttm: add pgprot handling for RISC-V
Tested on sophgo sg2042/sophgo sg2044/ultrarisc dp1000.
On Mon, Oct 27, 2025 at 3:57 PM Christian König
<christian.koenig@....com> wrote:
>
>
>
> On 10/20/25 07:35, Icenowy Zheng 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@...nowy.me>
> > Tested-by: Han Gao <rabenda.cn@...il.com>
> > ---
> > Changes in v2:
> > - Added Han Gao's test tag.
> >
> > 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 b3fffe7b5062a..aa137ead5cc59 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)
>
> Looks reasonable, but does that work on all RISC-V variants?
>
> And while at it maybe please fix the indentation, using a tab here is probably not very adequate. In other words make the defined() match the one on the first line.
>
> Regards,
> Christian.
>
> > if (caching == ttm_write_combined)
> > tmp = pgprot_writecombine(tmp);
> > else
>
Powered by blists - more mailing lists