- 537 名前:login:Penguin mailto:sage [2006/12/14(木) 22:35:16 ID:JyAlagq8]
- すみません どなたか助けて下さる方はいらっしゃらないでしょうか?
当方PCIデバイスのドライバをLinuxデバイスドライバ読みながら 作成しております。 今DMAを用いてread,writeさせようと思っているのですが、 うまく転送ができておりません。 DMA転送の関数としては dma_buff = kmalloc( count, GFP_KERNEL | __GFP_DMA) bus_addr = pci_map_single( pci_dev, dma_buff, count, direction ); flags = claim_dma_lock(); disable_dma(channel); clear_dma_ff(channel); set_dma_mode(channel, mode); set_dma_addr(channel, bus_addr); set_dma_count(channel, count); enable_dma(channel); release_dma_lock(flags); てな感じです。 get_dma_residueで転送できてるかどうかみてるのですが まったく転送されてないみたいです。 DMAコントローラのレジスタの設定とかは ほかに何かいるのでしょうか。 ちなみにターゲットのPCはPen3 800MHZ チップセットは815です。 どなたかお知りの方いらっしゃったら お願いします。
|

|