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