在pcie设备中找到pcie的root port
来源:互联网 发布:算法推荐书籍 编辑:程序博客网 时间:2024/06/07 20:20
pcie 设备是通过一种树状的方式连接在root port上,有时候需要知道自己连在哪个root port上就可以通过pcie_find_root_port来找到root port。例如下例就是找到root port,然后判断root port是否支持aer功能struct pci_dev *dev, *rpdev;dev = pci_get_domain_bus_and_slot(einj->domain, einj->bus, devfn);if (!dev)return -ENODEV;rpdev = pcie_find_root_port(dev);if (!rpdev) {dev_err(&dev->dev, "aer_inject: Root port not found\n");ret = -ENODEV;goto out_put;}rp_pos_cap_err = pci_find_ext_capability(rpdev, PCI_EXT_CAP_ID_ERR);if (!rp_pos_cap_err) {dev_err(&rpdev->dev,"aer_inject: Root port doesn't support AER\n");ret = -EPROTONOSUPPORT;goto out_put;}继续看看pcie_find_root_port是如何找到root port的呢?static inline struct pci_dev *pcie_find_root_port(struct pci_dev *dev){while (1) {if (!pci_is_pcie(dev))break;//原来就是一直往上回溯,知道找到root port后,返回root portif (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT)return dev;if (!dev->bus->self)break;dev = dev->bus->self;}return NULL;}
阅读全文
0 0
- 在pcie设备中找到pcie的root port
- PCIe设备的配置空间
- PCIE 设备扫描的过程
- PCIE 设备扫描的过程
- pcie对设备的枚举
- PCIE 设备扫描的过程
- PCIE 设备扫描的过程
- pcie
- pcie
- PCIE
- PCIE
- PCIE
- Linux中PCIe设备上下电
- PCIe设备,功能,总线
- PCIe设备发现过程
- 大话PCIe:设备枚举
- PCIE中TLP prefix的疑问
- device tree中对PCIe的描述
- 分析 ddp dither 模块
- Java总结篇:Java多线程
- linux基础link
- MySQL vs. MariaDB:默认配置对比
- PHP mysqli连接数据库,并实现数据操作
- 在pcie设备中找到pcie的root port
- Android中Application类用法
- C语言中的fprintf函数
- iOS 更改tabBar分割线颜色
- Android Studio中获取SHA1
- android7.0之系统应用Gallery2整体分析以及开始过程
- SQL Server 无法生成 FRunCM 线程
- UE4——查找指定类型或名称的Actor对象
- 聊聊服务端异常终止的问题