阅读:1421回复:3
unix-pci驱动请教
我找了好多资料,但是一无所获,帮帮我。
我的问题: 用9054做OpenServer下的PCI驱动程序,使用DMA操作不能成功, 具体表现为我用dma_buffer = kmem_alloc(4096,KM_NOSLEEP),分配虚拟地址,用dma_buffer2 = kvtophys(dma_buffer)函数获取物理地址,然后用dma_buffer2设置PCI配置寄存器0x84空间 ,这样配置后,做DMA操作无法完成,为什么? |
|
|
沙发#
发布于:2003-02-26 18:02
你local端的地址寄存器写的什么内容??
应该将LAS0BA或LAS1BA里的值&~1写入其中!! |
|
板凳#
发布于:2003-02-26 18:34
Local 端的寄存器采用固定的地址 基地址+0x4 HOutD(0x004, 0x20000001 ); HOutD(0x0f4, 0x10000001 ); 你说的LASOBA 是什么意思 |
|
|
地板#
发布于:2003-03-05 16:32
你可以看看《Linux设备驱动程序指南》这本书
|
|