Hi Yuri,
Thank you for your information!
> Generally it is required to setup
> source, destination addresses and number of bytes to transfer.
We found the count setting of Buffer descriptor was 768 Bytes in jb4.2.2_1.1.0.
So, in case of "Fs = 44.1kHz & Transfer bit = 16bit x 2ch = 32bit";
(768Byte/4Byte) * (1/44.1kHz) = 4.35ms
And, I measured the Interruption frequency was 4.35ms on custom board, too.
Next, in case of "Fs = 96kHz & Transfer bit = 24bit x 2ch = 48bit"
(768Byte/6Byte) * (1/96kHz) = 1.33ms
The interruption frequency was very high!
[Questions]
[Q1]
Is my above calculating equation right?
[Q2]
Could you tell me the way to increase the count of BufferDescriptor to decrease the interruption frequency?
And, is there an bad effect by increasing the count?
[Note]
"Setting point of SDMA BD(BufferDescriptor)"
- Source code : drivers\dma\imx-sdma.c
- Function : static struct dma_async_tx_descriptor *sdma_prep_dma_cyclic
"How to measure the "
Insert the "printk" in below code.
- Source code : drivers\dma\imx-sdma.c
- Function :sdma_handle_channel_loop
Best Regards,
Keita