This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352: AM3352 Linux 8-bytes DMA access GPMC problem

Part Number: AM3352

Hi Team,

Development environment: am3352 linux-4.19.38

Test Method :

DMA GPMC uses the pattern of dmaengine_prep_dma_memcpy(), GPMC burst lenght as 4-word (i.e. 8-byte)

Outcome:

Experimental DMA Read-Write 8-byte: OK

Experimental DMA read-write 16-byte multiple: OK

Experimental DMA Read and Write 32-byte : Measured read and write are 32-byte

Experimental DMA Read and Write 80-byte : Measured read and write are 80-byte

Experimental DMA Read and Write 128-byte : Measured read and write are 128-byte

Experimental DMA reads and writes multiples of 8 but not multiples of 16: NG

Experimental DMA Read and Write 24-byte : Measured read and write are 32-byte

Experimental DMA Read and Write 40-byte : Measured read and write are 48-byte

Experimental DMA Read and Write 56-byte : Measured read and write are 64-byte

If the DMA GPMC uses the same pattern of dmaengine_prep_dma_memcpy(), the GPMC burst lenght is 8-word (i.e. 16-byte), there is no such problem.

DMA 4-word read and write is fine when the length is 8, why read and write more 8-byte at 8 16*N (N >=1)?

Thanks ~

Best Regards,

Susan Ren