mmap问题

oslinux 2007-04-11 11:58:54
最近在做摄像的驱动,遇到一个问题.我用read方式读可以读到图像的数据,但是经过mmap以后,读出来的都是0, 不知道为什么.

int os_camif_mmap(struct file *filp, struct vm_area_struct *vma)
{
vma->vm_flags |= VM_IO;
vma->vm_flags |= VM_RESERVED;
//vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
vma->vm_pgoff = ( (u32)(cam_phy_addr) >> PAGE_SHIFT); //cam_phy_addr DMA 地址
if (io_remap_page_range( vma->vm_start, vma->vm_pgoff,
vma->vm_end - vma->vm_start, vma->vm_page_prot))
{
printk("camif mmap faile!\n");
return -EAGAIN;
}

printk("camif mmap ok!\n");
return 0;
}
...全文
236 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧