Fw: [問題] linux DMA問題

作者: mikebenq (BenQ)   2014-04-30 18:47:35
※ [本文轉錄自 LinuxDev 看板 #1JOCEzTV ]
作者: mikebenq () 看板: LinuxDev
標題: [問題] linux DMA問題
時間: Wed Apr 30 17:34:47 2014
我想在linux下用DMA和我的硬體溝通
網路上很多教學文都是kmalloc一塊記憶體大小
用dma_map_single 映射出一個DMA可使用的地址
這種方法我也試成功了
現在的問題是我有一筆資料要用我的硬體做運算
我已經知道這筆資料起始位置也確定資料是連續的
但是我把這個地址用dma_map_single會出現segment fault
我現在的做法是把要算的資料複製到一塊kmalloc的記憶體
再用硬體算我剛剛複製的資料
這樣是成功的
但是複製一份花了相當多的時間
我想知道已知memory address 可否直接用DMA
該怎麼做
我的dma_map_single 跟 kmalloc 都是寫在我硬體的driver中的ioctl
要算的資料是在main中產生
當要開始算的時候call ioctl
拜託各位高手救救我
作者: alongalone (沿著孤單的路)   2014-04-30 18:03:00
kmalloc有大小限制,你提到花很多時間.我猜有可能爆掉有考慮試看看 vmalloc 嗎
作者: mikebenq (BenQ)   2014-04-30 18:38:00
我kmalloc一塊記憶體將資料複製進去是成功的但是這麼做感覺很浪費時間可以用原本的資料不用經過複製的程序嗎?

Links booklink

Contact Us: admin [ a t ] ucptt.com