[PATCH] drm/ingenic: Use the highest possible DMA burst size

Paul Cercueil paul at crapouillou.net
Mon Jul 4 10:11:34 UTC 2022


Hi Sam,

Le dim., juil. 3 2022 at 08:43:37 +0200, Sam Ravnborg 
<sam at ravnborg.org> a écrit :
> Hi Paul,
> 
> On Sun, Jul 03, 2022 at 12:07:27AM +0100, Paul Cercueil wrote:
>>  Until now, when running at the maximum resolution of 1280x720 at 
>> 32bpp
>>  on the JZ4770 SoC the output was garbled, the X/Y position of the
>>  top-left corner of the framebuffer warping to a random position with
>>  the whole image being offset accordingly, every time a new frame was
>>  being submitted.
>> 
>>  This problem can be eliminated by using a bigger burst size for the 
>> DMA.
> 
> Are there any alignment constraints of the framebuffer that depends on
> the burst size? I am hit by this with some atmel IP - which is why I
> ask.

I verified this, and everything behaves correctly when the source 
address is not aligned to the burst size. So I believe in our case the 
DMA is smart enough to auto-select the best burst size, up to the 
configured value.

Cheers,
-Paul

> 
> Patch looks good and is a-b.
> 
>> 
>>  Set in each soc_info structure the maximum burst size supported by 
>> the
>>  corresponding SoC, and use it in the driver.
>> 
>>  Set the new value using regmap_update_bits() instead of
>>  regmap_set_bits(), since we do want to override the old value of the
>>  burst size. (Note that regmap_set_bits() wasn't really valid before 
>> for
>>  the same reason, but it never seemed to be a problem).
>> 
>>  Cc: <stable at vger.kernel.org>
>>  Fixes: 90b86fcc47b4 ("DRM: Add KMS driver for the Ingenic JZ47xx 
>> SoCs")
>>  Signed-off-by: Paul Cercueil <paul at crapouillou.net>
> Acked-by: Sam Ravnborg <sam at ravnborg.org>




More information about the dri-devel mailing list