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 Expert

開發環境: am3352 + linux-4.19.38

測試方法:
DMA + GPMC 使用dmaengine_prep_dma_memcpy() 的模式, GPMC burst lenght為 4-word (i.e. 8-byte)


結果:

實驗DMA 讀寫 8-byte : OK

實驗DMA 讀寫 16-byte 倍數 : OK
  實驗DMA 讀寫 32-byte : 實測讀寫皆 32-byte
  實驗DMA 讀寫 80-byte : 實測讀寫皆 80-byte
  實驗DMA 讀寫 128-byte : 實測讀寫皆 128-byte


實驗DMA 讀寫 8的倍數但非16倍數 : NG
  實驗DMA 讀寫 24-byte : 實測讀寫皆 32-byte
  實驗DMA 讀寫 40-byte : 實測讀寫皆 48-byte
  實驗DMA 讀寫 56-byte : 實測讀寫皆 64-byte


如果 DMA + GPMC 一樣使用dmaengine_prep_dma_memcpy() 的模式, GPMC burst lenght為 8-word (i.e. 16-byte),無上述問題。

請問DMA 4-word 讀寫在長度為8 時沒問題,為什麼在 8 + 16*N (N >=1) 時,會多讀寫一筆 8-byte 呢?

感謝 ~

Daniel