bcm2711-rpi-ds: Switch to dma40 channel for hdmi audio
Also tweak the flags:
Remove NO_WAIT_RESP (27)
Add BURST_LENGTH (30)
The AXI path from DMA controller to HDMI audio fifo
is long, and may have considerable delay.
When using DMA without waiting for responses it is
very easy to overfill the fifo as when the fifo
removes DREQ there may be large numbers of writes
in flight.
This means the DREQ fifo threshold must be set low
enough to accommodate the maximum number of in flight
writes (unknown by something like 24),
which means the 32 element fifo only requests data
when it contains fewer than 8 entries, making it
susceptable to underflow.
If we wait for write responses we can set the DREQ
fifo threshold much higher as there are a controlled
number of writes in flight.
However the overall bandwidth is reduced by setting
this, so also enable a burstsize of 4 to improve
bandwidth.
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
Please register or sign in to comment