TI中文支持网
TI专业的中文技术问题搜集分享网站

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

Susan Ren:

感謝您對TI產品的關注! 為更加有效地解決您的問題,我需要多一些時間查看這款晶元,稍後會為您解答。

,

Susan Ren:

你能夠解釋如何運行這個測試嗎?

,

Daniel Cheng1:

Hi Susan

實作可參考下面網址:

https://www.twblogs.net/a/5c77ac64bd9eee31cea578ce

謝謝

Daniel

,

Susan Ren:

Hi Daniel,

AM335x Linux GPMC 驅動程式已經支援 DMA,為什麼要實現另一個 DMA 驅動程式來執行 DMA 複製?您對 Linux GPMC 驅動程式有任何問題嗎?

謝謝

Susan

,

Daniel Cheng1:

Hi Susan

請問你提的Linux GPMC驅動程式是指哪一個?

Thanks

Daniel

,

Susan Ren:

Hi Daniel,

很抱歉,你是對的,處理器開發工具包中的內核 GPMC 驅動程式不支援 DMA。我在 GPMC 節點中看到了 am33xx.dtsi 定義的 edma 52,只是認為 GPMC 驅動程式中支援 DMA。但實際上,驅動程式\/記憶體\/omap-gpmc.c 沒有任何對 DMA 的引用。不幸的是,GPMC中的DMA支援尚未在處理器SDK內核中得到驗證,我無法評論為什麼它在自定義的DMA memcpy驅動程式中具有這種行為。

Thanks,

Susan

赞(0)
未经允许不得转载:TI中文支持网 » AM3352: AM3352 Linux 8-bytes DMA access GPMC problem
分享到: 更多 (0)