wdy9927
驱动老牛
驱动老牛
  • 注册日期2003-08-04
  • 最后登录2017-02-04
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望143点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1270回复:2

PCI 设备初始化? ――(100分)

楼主#
更多 发布于:2004-03-10 17:34
pci网卡的phy寄存器,应该一上电就有默认值吧。
我在pc上调试的时候,根本没去管它。 但拿到嵌入式(TM1300)下面,phy的寄存器始终是0。网卡也不工作。 但其他的寄存器没有问题。 可以通过io地址访问到网卡的Internal Registers。

pci 配置寄存器中的 Cache Line Size 是什么作用?
 

好几天了。 不知道哪出问题了。 救命呀。。。。。

最新喜欢:

easyhawkeasyha...
JohnsonJin
驱动牛犊
驱动牛犊
  • 注册日期2003-05-25
  • 最后登录2009-09-26
  • 粉丝0
  • 关注0
  • 积分-1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-12 12:54
我在vxWorks下做82557网卡driver的时候好像没有这个问题,数据自动的会从eeprom设置。如果你有这个问题,可以在driver 初始化,或系统初始化的时候从某个地方读取然后设置他们。

如果 你把pci 配置寄存器的command register bit4 设置为 1 (Write and Invalidate Enable),那么必需设置cache line size 为系统的cache line的 dword 个数。
如果 设置command register bit4=0,那么可以设置 cache line size = 0。
目前的许多系统cache line size = 16byte,所以在pci配置头中cache line size = 4。(dword)

系统对memory做cache时总是成块cache的,一块的就称为一个cache line。cache line的大小和cache的设计有关。
其实任何pci master都可以设置cache line size = 0(只要write and invalidate disable)。这样的话,这个pci主只是损失一些性能而已,不会有错误存在。
而且pci spec对这些提高性能的option的实现不是强制的,只是可选项。
wdy9927
驱动老牛
驱动老牛
  • 注册日期2003-08-04
  • 最后登录2017-02-04
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望143点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2004-03-13 08:40
感谢楼上的。

这就去看看。
 :D
游客

返回顶部