linuxwbwu 发表于 2006-12-1 11:48:21

PCI DSP驱动移植到MIPS(PNX8550)的问题

我有一个PCI DSP的驱动,原先用于X86,可以正常使用,交叉编译到mips下。加载使用时出现这样的问题:
1. 将DSP的内存通过ioremap()映射到内核空间,可以正常访问。
2.再将DSP的内存通过mmap()映射到用户空间,却出错:data bus error.

请问这是什么原因?这个驱动在X86下是可以正常使用的。驱动的mmap方法也一样。

驱动mmap的映射函数如下:
int dsp_mmap(struct file *filp, struct vm_area_struct *vma)
{
      //.....................//省了获取DSP物理地址部分
      //vma->f_flags = MAP_SHARED;用户程序调用mmap()时设置的;
        if(remap_pfn_range(vma,
                        vma->vm_start,
                        physical>>PAGE_SHIFT, // DSP的物理地址是0x08000000;
                        vsize,//DSP的内存是64MB
                        vma->vm_page_prot //用户程序调用mmap()时,设置了可读写PROT_READ | PROT_WRITE。
        ))
      {
            DPF(0,
                ("remap_page_range failed.\n"));
            return -EAGAIN;
      }
   //..............................//返回

}
页: [1]
查看完整版本: PCI DSP驱动移植到MIPS(PNX8550)的问题