Re: [PATCH] drm: verisilicon: support non-coherent DMA framebuffers

From: Icenowy Zheng

Date: Wed May 06 2026 - 14:00:46 EST


在 2026-05-06三的 13:38 -0400,Dominique Belhachemi写道:
> On Wed, May 6, 2026 at 1:14 PM Icenowy Zheng
> <zhengxingda@xxxxxxxxxxx> wrote:
> >
> > 在 2026-05-05二的 18:25 -0400,Dominique Belhachemi写道:
> > > On Tue, May 5, 2026 at 5:03 AM Icenowy Zheng
> > > <zhengxingda@xxxxxxxxxxx> wrote:
> > > >
> > > > 在 2026-05-05二的 04:26 +0000,Dominique Belhachemi写道:
> > > > > Wire up the standard non-coherent path matching the ingenic
> > > > > DRM
> > > > > driver.
> > > > >
> > > > > Tested on StarFive JH7110 (VisionFive 2 v1.3B).
> > > >
> > > > Interesting, I am curious about other patches added to test
> > > > this.
> > > >
> > > Hi,
> > >
> > > I tested this on Debian unstable with a slightly patched 7.0.3
> > > kernel
> > > [1].
> > > The test branch contains your verisilicon series, Michal's JH7110
> > > display series [2],
> > > and a JH7110 ccache change [3], which was also required to
> > > communicate
> > > with the BXE-4-32 firmware [4].
> >
> > BTW did you run any rendering? I think the way currently powervr
> > open
> > source driver works requires "coherent memory" (although it's
> > usually
> > implemented as uncached memory).
>
> Yes, GPU dispatches run with [4].
> Compute shaders run fine, but rendering crashes after a few frames.
>
> > >
> > > This change here is only used to remove the ugly framebuffer
> > > stripes
> > > on the console and in the desktop environment.
> >
> > But I still think it'd be better to implement proper uncached
> > memory
> > support instead of flushing caches with dirty tracking.
>
> Maybe, this patch is just a working alternative.

I wonder whether it's possible to detect the availability of uncached
memory.

At least detecting using `of_dma_is_coherent()` isn't enough because it
will only be true when the device is fully coherent with the CPU
(snooping CPU cache).

Thanks,
Icenowy

>
> Dominique
>
> > >
> > > [1]
> > > https://github.com/domibel/linux/tree/jh7110_dc8200_hdmi_v7.0.3
> > > [2]
> > > https://lore.kernel.org/lkml/20251108-jh7110-clean-send-v1-0-06bf43bb76b1@xxxxxxxxxxx/
> > > [3]
> > > https://lore.kernel.org/lkml/20260430035259.3402954-1-domibel@xxxxxxxxxx/
> > > [4]
> > > https://github.com/domibel/linux/tree/powervr_on_jh7110_visionfive2_v7.0.3
> >
> > The POW_RASCALDUST thing looks quite interesting, maybe I should
> > investigate it further.
> >
> > Thanks,
> > Icenowy
> > >
> > > Dominique
> >
> >