In dvsdk_2_00_00_22 for the DM355, the dvsdk_demos_2_00_00_07/dm355/loadmodules.sh script runs a program called mapdmaq between the insmod of cmemk.ko and dm350mmap.ko.
This program is supplied in binary form with no source. The only explanation of what it does I could find was the following in the release notes: "mapdmaq-hd A utility that sets the DMA priority of the arm side drivers higher than the DSP".
I decoded what this program does:
Using /dev/mem, it writes 0 to 0x01c00250, 4, 8 & c (EDMA CC DMAQNUM[4-7]) and 0x50 to 0x20000020 (DDR2 PBBPR).
Presumably doing this from user space was a way to deliver a late fix without changing any code in the LSP (in this case, version 02_00_00_140).
My questions are:
What is this program doing?
Why is it doing it?
Why is it doing it from user space?
Under what circumstances would you include this program in your DM355 product?