目前,我需要在我的PCI設備上支持2個向量的MSI。每個矢量需要有不同的處理程序。 HW文件說以下使用不同的IRQ處理程序在PCI驅動程序中啓用多個MSI
矢量0爲溫度傳感器
矢量1是用於功率傳感器
下面是我下面的驅動程序代碼。 1.首先使用pci_enable_msi_block(pdev,2) 啓用兩個向量2.然後使用request_irq(兩個不同的irq,兩個diff中斷處理程序)分配中斷處理程序。
int vecs = 2;
struct pci_dev *pdev = dev->pci_dev;
result = pci_enable_msi_block(pdev, vecs);
這裏的結果是零,表示調用成功啓用兩個向量。
的問題,我已經是:
- HW文件說矢量0,我希望這不是OS的矢量0吧?無論如何,我無法在操作系統中獲得向量0。
- 我面臨的困難問題是,當我做第一個irq的request_irq()時,我該如何對操作系統說我需要將此請求映射到HW的向量0?對於第二個irq,我如何映射HW的t矢量1?