zhuchubo
驱动牛犊
驱动牛犊
  • 注册日期2004-06-22
  • 最后登录2005-01-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:950回复:0

linux下读写9052 local configuration registers

楼主#
更多 发布于:2004-07-28 01:14
 9052 local configuration registers的 intcsr寄存器中断第0位local interrupt 和第   6位 pci interrupt 必须设置为1才能开中断.于是我的驱动程序需要修改这些位.
  
  由于9052的pcibar0是以mem方式访问local configuration registers,pcibar1是以io方 式访问local configuration registers的. 所以按理说我是可以以这两种方式访问intcs
r寄存器的
  
  但是,我采用pcibar0方式,以mem方式访问intcsr时:
writel(0x53,pci_resource_start(pdev,0)+0x4c);//0x4c是intcsr寄存器的相对偏移地址
会出现地址越界无法访问的问题。
  
  我采用pcibar1方式,以io方式访问intcsr时:
outl(pci_resource_start(pdev,0)+0x4c,0x53);//0x4c同上
0x53无法写入0x4c这个地址中。
  
 非常奇怪。
  
 请问我的访问方式是不是有问题?
大家是怎么读写9052 local configuration registers的intscr位的?
  
游客

返回顶部