[U-Boot] [PATCH] sunxi: video: Use frontend for dma on sun4i to fix memory bandwidth problems

Hans de Goede
2015-01-20T14:38:29Z

Hi,

On 20-01-15 10:14, Ian Campbell wrote:
> On Mon, 2015-01-19 at 11:29 +0100, Hans de Goede wrote:
>> Testing has shown that on sun4i the display backend engine does not have
>> deep enough fifo-s causing flickering / tearing in full-hd mode due to
>> fifo underruns. On sun4i use the display frontend engine to do the dma from
>> memory, as the frontend does have deep enough fifo-s.
>>
>> As added advantage of this is that it results in much better memory bandwidth
>> as it reduces the amount of dram bank switches, for more details see:
>>
>> http://ssvb.github.io/2014/11/11/revisiting-fullhd-x11-desktop-performance-of-the-allwinner-a10.html
>>
>> Note that this changes the pipeline searched for in the simplefb node, we can
>> get away with doing this now, since no kernel has yet shipped with simplefb
>> dtb nodes, and I will make sure to get a simplefb node with the new pipeline
>> into 3.19 before it ships.
>
> Looks good, there was discussion around the kernel patch, looks like it
> has resolved in favour of the patch though?

Correct.

> Is it preferable to use the front or the backend (assuming sufficient
> fifo's etc)? IOW do we want to do this for all sun*i eventually, or only
> when the backend is insufficient for some reason?

It is better to use the backend usually, as we need to have the backend
enabled anyways (so only using it uses less power), it supports more formats,
has 4 layers, where as we only have 1 frontend, etc. But on A10 using the
backend does not work well due to fifo / DRAM access issues.

>
>> +#ifdef CONFIG_MACH_SUN4I
>
> Perhaps another comment here, but in any case:
>
> Acked-by: Ian Campbell <ijc@hellion.org.uk>

Thanks, I've queued this one up in next.

Regards,

Hans