阅读:977回复:0
linux下读写9052 local configuration registers
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位的? |
|