QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2471|回复: 0

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

[复制链接]
发表于 2006-12-1 11:48:21 | 显示全部楼层 |阅读模式
我有一个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;
        }
   //..............................//返回

}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-29 02:07 , Processed in 0.092685 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表