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

H. Nikolaus Schaller hns at goldelico.com
Tue Feb 2 11:50:48 CET 2021


Hi Paul,

> Am 02.02.2021 um 10:56 schrieb Paul Kocialkowski <paul.kocialkowski at bootlin.com>:
> 
> 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@bootlin.com/
> 
> 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 and many thanks,
Nikolaus

> 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



More information about the Letux-kernel mailing list