john_woo
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2004-05-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1439回复:3

pci显卡驱动求助!

楼主#
更多 发布于:2003-11-03 16:00
嵌入式系统(PowerPC405ep+MontaVista Linux)上做pci显卡的驱动,现在无法正确获得显卡寄存器的内容,已经将做了内存映射到地址空间。是什么原因啊。好象ppc系统上无法获得显卡上VGA BIOS的内容,是不是因为vga bios没有对显卡的寄存器做初始化?vga bios的作用是做什么的?如何解决?先谢过了。  


pci上检测到了该显卡,vendor ID,device ID都对,  
显卡为ati rage128  

我在pc机上windowsXP查看显卡资源,  
内存范围:0xE8000000-0xEBFFFFFF  
输入/输出范围:D000-D0FF  
内存范围:0xED000000-0xED003FFF  

这些资源是固定的还是由操作系统分配的,与嵌入式系统上不一样。  

在嵌入式系统上是:  
0xBC000000-0xBFFFFFFF  
0xFF00-0xFFFF  
0xBBFFC000-BBFFFFFF  


源码/kernel/drivers/video/aty128fb.c  

在aty128_pci_register()函数中  

reg_addr = pci_resource_start(pdev, 2);  
request_mem_region(reg_addr, pci_resource_len(pdev, 2)  
info->regbase = ioremap(reg_addr, 0x1FFF);  
/* Grab memory size from the card */  
info->vram_size = aty_ld_le32(CONFIG_MEMSIZE) & 0x03FFFFFF;  

这时aty_ld_le32(CONFIG_MEMSIZE)的值是0,所以后面的代码就执行错误了。  


pci部分应该没问题,在pci上插上网卡,加上网卡驱动,网卡可工作。

mobi
驱动牛犊
驱动牛犊
  • 注册日期2002-06-18
  • 最后登录2005-08-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-04 10:48
你确定你的IO基地址是pdev->resource[2].start ?

理论的东西我解释不来... 或许你可以多尝试一下

试下:reg_addr = pci_resource_start(pdev, 0) ?

试下:reg_addr = pci_resource_start(pdev, 1) ?

(其他代码作相应的改动)

其实还得看你显卡的硬件手册... 看你需要的到底是哪
基地址。



。。。。。。。。。。。。。。。。。
john_woo
驱动牛犊
驱动牛犊
  • 注册日期2003-06-16
  • 最后登录2004-05-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-04 17:02
通过读基址寄存器的最后一位Memory Space Indicator (MSI = 0 to indicate memory space, ratherthan I/O space.)可以得到:

pci_resource_start(pdev, 0)表明是memory space,32bit prefetchable.
pci_resource_start(pdev, 1)表明是I/O space
pci_resource_start(pdev, 2)表明是memory space, 32bit non-prefetchable.

地址0应该是指显卡上32M显存的地址吧,地址2就是芯片寄存器的起始地址,不知道是不是这样的?
mobi
驱动牛犊
驱动牛犊
  • 注册日期2002-06-18
  • 最后登录2005-08-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-05 09:25
试下I/O Space

还有,我不知道你的平台是否有大端小端的问题... 注意下啦
。。。。。。。。。。。。。。。。。
游客

返回顶部