> What is the maximum DMA jitter I can expect?
That's a very hard question to answer, and it depends on various things (I assume you've already read AN4031).
The latency adds up (thus jitter of these sources also adds up in worst case) from 1. latency in DMA between trigger and start of transfer, 2. delays due to conflicts on source bus, 3. delays on destination bus.
Latency 1 is given by other active streams in the DMA - even if this particular stream has the highest priority, it has to wait until the currently active stream finishes its job. So worst case delay/jitter is given by the longest lasting other-stream DMA transfer (which again has constituents 2. and 3.).
Item 2 is the easiest - if you put the samples array into say RAM2 and no other busmaster accesses RAM2 (i.e. there are no variables accessed by the processor, the stack is not there, no other DMA goes there), latency is low (maybe one cycles) and there's no jitter. Even if there would be some conflict, SRAMs are fast and latencies and jitters are few (1-2-3) cycles.
Item 3 is probably the trickiest, as GPIO sit on AHB1, which contains almost all peripherals (most of them indirectly behind AHB/APB bridges, but still they are accessed by the masters through AHB1). If say the processor tries to read some peripheral at APB, this request has to cross the AHB/APB bridge, slowed down by the resynchronization to the possibly slower APB bus, wait until the addressed peripheral returns the answer and wait until that answer propagates through the AHB/APB bridge again. Depending on the AHB/APB divider, this may take even dozens of cycles. And, there are even worse cases, maybe the most prominent is the RTC, where in certain cases the wait lasts several RTC clocks - and RTC is clocked from LSE, i.e. at 32kHz... But that's probably the most extreme case and probably there are no other similar there.
JW