pci_enable_device_mem 和 pci_enable_device 有什么区别?
在 ixgbe 中,pf 驱动程序使用 pci_enable_device_mem,vf 驱动程序使用 pci_enable_device。
好吧,这两个函数内部都会调用 pci_enable_device_flags()。不同之处在于 pci_enable_device_mem() 变体仅初始化内存映射 BAR,而 pci_enable_device() 将初始化内存映射和 IO BAR。
如果您的 PCI 设备没有 IO 空间(很可能确实是这种情况),您可以轻松使用 pci_enable_device_mem()。
这是 drivers/pci/pci.c 中的代码:
int pci_enable_device_mem(struct pci_dev *dev)
{
return pci_enable_device_flags(dev, IORESOURCE_MEM);
}
int pci_enable_device(struct pci_dev *dev)
{
return pci_enable_device_flags(dev, IORESOURCE_MEM | IORESOURCE_IO);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2384 次 |
| 最近记录: |