linux - PCIe中断处理linux内核

标签 linux kernel interrupt pci

我正在研究 PCIe Linux 驱动程序。我想为设备注册一个 ISR。 Linux系统分配给设备的IRQ号是16,其他(USB主机 Controller )设备也共享这个IRQ号。 (通过 lspci -v 检查)。这是一个基于引脚的中断。

通过在线搜索,我发现几乎所有 PCI 驱动程序示例仅提供 IRQF_SHARED 作为 API request_irq() 中的标志,而没有提供任何其他标志来提及高/低级中断等行为。

我的问题是,Linux 内核如何确定共享中断(对于 PCIe 设备)的行为,是低级还是高级?

最佳答案

PCIe 使用 MSI,因此无需关注高/低电平。传统的 PCI 卡使用电平触发中断,但大多数设备使用低电平有效信号,因此驱动程序编写者无权修改/调整。

关于linux - PCIe中断处理linux内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43236314/

相关文章:

android - 什么时候调用 Linux 内核驱动程序的探测函数?

android - 从 Laravel 后端触发对 Android Studio 的自动响应

c - AVR 定时器溢出中断不工作

linux - 如何在不使用find的情况下获取当前目录的直接子目录中名称包含某种模式的所有文件?

linux - SSL 证书安装 apache 2 不工作

io - 驱动程序和用户应用程序之间的主要区别是什么?

gcc - 如何在 beagleboard/gumstix 上为 Linux 用户空间程序使用 __sync_fetch_and_add

linux - 如何远程停止ffmpeg?

linux - 查找所有具有扩展名的文件并查看它们

c - 在 ADC 中断中使用移位和数组求平均值