STM32H743 SDRAM issues with LTDC + DMA2D
Hello,
I'm trying to use a STM32H743XI to run a 1280x800px LCD display. I'm using an external 32bit SDRAM (IS42S32200L) running at 110MHz.
The active framebuffer (RGB565) is located in the first SDRAM bank and I can display a stable image with LTDC clock at 50MHz. However, as soon as I start to use the DMA2D (or another bus master) to write data somewhere else in the SDRAM, the display starts to show random flickering behavior (happens every few seconds):

This is how the stable image looks like without flickering:

Lowering the LTDC frequency decreases the flickering occurence and below a certain point (around 30 MHz), the flickering effect stops completely. Timings from display datasheet specify min clock frequency of 66.3 MHz and with everything below 50 MHz, the image starts to become noticably unstable.
I have read AN4861 and from my understanding, my setup should work in theory given that my LTDC@50MHz is not even near the performance limit from this table:

I already tried the following things:
- Made sure that my backbuffer (where DMA2D is writing) is in another SDRAM bank
- Played around with AXI QoS prios -> little to no effect
- Disabled FMC bank 1 -> no effect
- Played around with DMA2D_AMTCR -> no effect, except that DMA2D takes longer
- Made sure that LTDC underrun interrupt is active -> never happens
Is there anything else I can try to optimize the LTDC performance? Is there something I'm missing? Can someone explain where these performance issues are coming from, even though everything should be well within the limits?
