免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: Cyberman.Wu

pci_request_regions是干啥的,在驱动中需要调用吗? [复制链接]

论坛徽章:
0
发表于 2009-03-10 10:08 |显示全部楼层
原帖由 Cyberman.Wu 于 2009-3-10 09:52 发表
Thanks. 这本书我以前下载了,但从来没看过,只看过LDD3,看来要多看一些不同的书及代码才行。

不过在实际的驱动中还是看到过没有调用这一函数处理的,是一个错误,还是不调用关系也不大?


我觉得Essential这本书讲得不错.

有的驱动可能不是PCI设备啊.

论坛徽章:
0
发表于 2009-03-10 13:20 |显示全部楼层

回复 #11 scutan 的帖子

我看得驱动就是PCI的,呵呵,是一个PCIe x4的板子。

LDD3对于具体的硬件相关部分感觉讲得不怎么到位,前一段时间都是看PCI/PCIe规范、别人的驱动加内核源码去理解的。

[ 本帖最后由 Cyberman.Wu 于 2009-3-10 13:21 编辑 ]

论坛徽章:
0
发表于 2009-03-10 13:31 |显示全部楼层
我觉得不掉用这个函数,除非驱动不需要直接内存访问硬件。
通过bios接口一样可以控制硬件,但是对于dma需要直接内存访问。
反正pci设备有多种访问方式,不用也成,就是效率低

论坛徽章:
0
发表于 2009-03-10 19:16 |显示全部楼层

回复 #13 emmoblin 的帖子

我用的那个驱动就是用DMA传数据的,用了这么久没任何问题。从代码看它主要是把那些地址段根据是MEM还是IO加到不同的链表中了,好像也没做太多操作吧。

论坛徽章:
0
发表于 2018-03-11 17:32 |显示全部楼层
回复 1# Cyberman.Wu

BIOS或系统初始化时已经把各个PCI桥和设备的resource插入ioport/iomem_resource资源树了,其中PCI设备的resource是叶子节点,但是这些叶子结点的flag没有被设置为IORESOURCE_BUSY,网卡驱动调用pci_request_regions() -> ... -> __request_region(),__request_region()创建一个resource并把flag设置为IORESOURCE_BUSY,然后递归查询ioport/iomem_resource资源树,直到找到相应的叶子结点,然后将这个resource插入叶子结点的child链表,如果有其它的进程也来请求同一块地址,会查到IORESOURCE_BUSY,请求失败,这就实现了互斥

论坛徽章:
0
发表于 2018-03-11 17:38 |显示全部楼层
回复 1# Cyberman.Wu

BIOS或系统初始化时已经把各个PCI桥和设备的resource插入ioport/iomem_resource资源树了,其中PCI设备的resource是叶子节点,但是这些叶子结点的flag没有被设置为IORESOURCE_BUSY,网卡驱动调用pci_request_regions() -> ... -> __request_region(),__request_region()创建一个resource并把flag设置为IORESOURCE_BUSY,然后递归查询ioport/iomem_resource资源树,直到找到相应的叶子结点,然后将这个resource插入叶子结点的child链表,如果有其它的进程也来请求同一块地址,会查到IORESOURCE_BUSY,请求失败,这就实现了互斥
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP