阅读:2776回复:7
关于驱动多卡的问题
请问在minidriver结构中,如何使一个驱动程序驱动多块相同的卡?我遇到的问题是,当驱动两块卡时,不管选择哪块卡,中断callback函数收到的数据都是指向同一块卡的,哪位大哥能指点一二,不胜感激!!!!!
|
|
沙发#
发布于:2002-04-03 09:06
你建造了一个还是多个设备对象?
|
|
板凳#
发布于:2002-04-03 09:18
当我在总线上插入2块卡时,驱动程序会调用两次初始化过程,传进来的设备对象指针也不相同,应该是针对每一块卡都有自己的设备对象,但我发现两个设备对象的数据完全一样,也就是说,是一块卡的两个拷贝。
|
|
地板#
发布于:2002-04-08 11:20
两个设备的资源也一样?
|
|
地下室#
发布于:2002-04-26 19:29
多卡驱动再PCI的配置是不一样的,如果是显卡,第一张卡是VGA译码的,其余的不是这种方式!
|
|
|
5楼#
发布于:2002-04-27 14:07
嘿嘿,做多卡最好老老实实地用Kernel Driver方式,既好控制,
也好调试。 |
|
6楼#
发布于:2002-05-30 10:50
老兄问题解决了吗?我也是碰到过这个问题,我倒是见过有人用这种方法实现:
对于多卡来说,设备对象肯定是两个,因为设备对象的创建直接与pci配置有关,因此在创建设备对象时将设备数据以静态变量的形式储存好,并且与当前设备对象一起加入到一个静态的链表中,然后需要调用这些数据时检查当前设备对象,到链表中搜索对应的数据。 如果老兄有更好的解决方法,也公布出来好吗? |
|
7楼#
发布于:2002-05-30 12:16
minidriver结构是支持多个设备的,只要每个设备的相关资源均保存在自己的内存空间即可(不要使用全局变量保存如设备扩展,地址映射等资源)
|
|