我正在开发PCIe Linux驱动程序。我想为设备注册一个ISR。 Linux系统分配给设备的IRQ编号为16,也由其他(USB主控制器)设备共享。 (由lspci -v检查)。这是一个基于引脚的中断。
通过在线搜索,我发现几乎所有的PCI驱动程序示例在API request_irq()中仅提供IRQF_SHARED作为标志,并且不提供任何其他标志来提及高/低级别中断等行为。
我的问题是,Linux内核如何确定共享中断(对于PCIe设备)的行为,如果它是低电平或高电平?
答案 0 :(得分:1)
PCIe使用MSI,因此不需要关注高/低电平。传统PCI卡使用电平触发中断,但大多数设备使用低电平有效信号,因此这不是驱动程序编写者可以修改/调整的。