免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7302 | 回复: 17
打印 上一主题 下一主题

关于PCI Master [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-11 09:38 |只看该作者 |倒序浏览
我的pci设备驱动中,初始化的时候已经配置设备的master属性(pci_set_master()),但是该设备读cpu内存里面的数据的时候出错,cpu读写该pci设备内存很正常,另外不知具备master属性的pci设备与仅仅作为slave的pci设备在硬件连接上有什么区别?

论坛徽章:
0
2 [报告]
发表于 2009-06-11 11:21 |只看该作者
硬件有区别,首先确定你的pci硬件是否支持master,如果不支持的话你即使pci_set_master()也白搭~
就是这个样子~

论坛徽章:
0
3 [报告]
发表于 2009-06-11 11:51 |只看该作者
mster的意思是抢占总线吧
slave不会抢占总线。
读内存错误,说明系统启动的时候pci设备地址分配有问题。
lspci看一下地址分配

论坛徽章:
0
4 [报告]
发表于 2009-06-11 12:34 |只看该作者
这个设备是pci接口的dsp(类似一块pci显卡),一定支持master传输的
对于地址分配问题,我觉得跟pci设备地址分配没关系,因为pci设备访问Host端内存时候,只需要把Host端的内存物理地址告诉dsp就可以了,Host端内存与设备端内存地址区间没有重叠。

非常想知道硬件上的区别,最好有相关对比的原理图(只做slave的设备和支持master的设备)

论坛徽章:
0
5 [报告]
发表于 2009-06-11 12:44 |只看该作者
我觉得只要能做dma操作的pci设备都可以作为主设备(当其使用dma访问memory时就是个master了)。你说的设备访问内存出错是指dma时出错么?还有,什么叫“cpu里面的内存”啊?应该就是通过nb访问memory吧

论坛徽章:
0
6 [报告]
发表于 2009-06-11 12:48 |只看该作者

回复 #4 garyv 的帖子

嗯,感觉好像是pci设备硬件这边的问题,和cpu上的kernel, driver都没什么关系。

论坛徽章:
0
7 [报告]
发表于 2009-06-11 13:22 |只看该作者

回复 #5 snail_314 的帖子

我说的cpu端的内存就是系统内存,主存。设备端内存指dsp专用内存,相当于独立显卡的显存。

出错时并没有进行dma操作,只是在dsp的软件里面用:
*(addr) = 0x0000ab
之类的操作,addr是主存的物理地址,就是dsp透过PCI读写主存。

我总觉得是硬件上有些问题。。。

论坛徽章:
0
8 [报告]
发表于 2009-06-11 13:44 |只看该作者
不知道你的硬件架构是怎样,如果不用dma的话。。。其他pci设备没有特殊处理应该是不能访问pci总线空间的(除了cpu外就只有dma engine可以访问pci总线空间了)。并且至少你的pci device是和NB连在一起的才行吧。cpu在它的数据总线和地址总线上发出 “addr[n] = data“的命令也只是访问他自己的处理器地址空间,但是因为和NB连在一起,NB本身又是个cpu-pci briage。NB将其hook为pci command然后从对应的pci空间中读写数据(可能是memory,也可能是device)。就算是集成显卡,也有其UMA架构(unified memory architecture)来支撑它可以直接读写pci space中的memory的需求(从bios会隐藏分给集成显卡的memory space的一点可以看出,其动作应该很复杂)。所以我觉得要设计这个应该很复杂才对,一家之言。

论坛徽章:
0
9 [报告]
发表于 2009-06-11 13:52 |只看该作者
dsp读内存空间,这点必须需要锁相环吧,也就是ppl电路,否则cpu也读写,dsp也读写当然会乱吧。

论坛徽章:
0
10 [报告]
发表于 2009-06-11 13:57 |只看该作者

回复 #9 emmoblin 的帖子

在pci架构里面,这些都不需要设备单独实现,memory读写的仲裁都由唯一和memory相连的"briage"-北桥(NB)来做了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP