Re: BOG: commit 89c7cb1608ac3 ("of/device: Update dma_range_map only when dev has valid dma-ranges") seems to break Pinephone display or LCDC

From: Paul Kocialkowski
Date: Tue Feb 02 2021 - 08:46:08 EST


Hi Nikolaus,

On Tue 02 Feb 21, 11:50, H. Nikolaus Schaller wrote:
> Hi Paul,
>
> > Am 02.02.2021 um 10:56 schrieb Paul Kocialkowski <paul.kocialkowski@xxxxxxxxxxx>:
> >
> > Hi Nikolaus,
> >
> > On Tue 02 Feb 21, 10:18, H. Nikolaus Schaller wrote:
> >> Hi,
> >> since v5.11-rc6 my Pinephone display shows some moiré pattern.
> >>
> >> I did a bisect between v5.11-rc5 and v5.11-rc6 and it told me that
> >> the commit mentioned in the subject is the reason.
> >>
> >> Reverting it makes the display work again and re-reverting fail again.
> >>
> >> IMHO it seems as if the display DMA of the pinephone (allwinner suni-a54)
> >> got influenced and stopped to scan the framebuffer.
> >>
> >> The only dma-ranges I could find are defined here:
> >>
> >> arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
> >>
> >> dma-ranges = <0x00000000 0x40000000 0xc0000000>;
> >>
> >> but I can't tell if they are "valid" or not.
> >>
> >> Any insights are welcome. And please direct to the right people/mailing lists
> >> if they are missing.
> >
> > This may not be strictly the same thing, but is this patch in your tree:
> > https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210115175831.1184260-2-paul.kocialkowski@xxxxxxxxxxx/
> >
> > If not, it's worth a try to add it.
>
> No, it hasn't arrived in v5.11-rc6 (or linux-next) yet.
>
> But it fixes the issue.

Great! The patch should already be on its way to the next RC.

And nice to see you're active on Pinephone as well! You might remember me from
the Replicant project, as I've worked a bit on the GTA04 :)

> great and many thanks,
> Nikolaus

Cheers,

Paul

> > If it is, it's worth doing a revert.
> >
> > My understanding is like DE2 does not need a particular DMA range and has DRAM
> > starting at 0x40000000 (just like the CPU) but it will map DRAM in a loop
> > before and after this address.
> >
> > I suspect the issue shows because the pinephone has 2 GiB RAM while for other
> > boards with < 2 GiB RAM, removing 0x40000000 to the DMA addresses still points
> > to the same location. So IMO the MBUS dma-ranges shouldn't apply to DE2.
> > I think this is already the case in dt, but the mbus driver may add it if you
> > don't have that patch.
> >
> > I think I have a few A64 boards around, but probably not with 2 GiB RAM.
> > If adding the patch doesn't help, I'll try to make a few test.
> >
> > Cheers!
> >
> > Paul
> >
> > --
> > Paul Kocialkowski, Bootlin
> > Embedded Linux and kernel engineering
> > https://bootlin.com
>

--
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

Attachment: signature.asc
Description: PGP signature