|
Prev: FINAL CfIP, Conf. Reliable Software Technologies, Ada-Europe 2010
Next: Call for participation: SMART'10 - 4th Workshop on Statistical and Machine learning approaches to ARchitecture and compilaTion
From: mahi on 4 Jan 2010 04:41 Hi All, For my PCI card i can able to read the IRQ line in single core system, using PCI_INTERRUPT_LINE.And using that IRQ line i am getting Interrupts But on SMP systems, i can albe to read IRQ line but i am not getting Interrupts.....because... the assigned IRQ is not equal to which i have requested. if i type "lspci -vvx" i am getting another IRQ Line , which is not equal to read IRQ. ..........So please help how do i get the Exact IRQ number without looking at "lspci -vvx" on SMP systems. Thanks in Advance, Mahender Reddy
From: steve_schefter on 4 Jan 2010 06:20
Hi Mahender. > For my PCI card i can able to read the IRQ line in single core > system, using PCI_INTERRUPT_LINE.And using that IRQ line i am getting > Interrupts > > But on SMP systems, i can albe to read IRQ line but i am not getting > Interrupts.....because... > the assigned IRQ is not equal to which i have requested. You need to use the IRQ number from the struct pci_dev you get back from pci_get_device() rather than directly reading the config register. You should also use this for the card addresses too (resource[].start) rather than reading the BAR registers directly. Regards, Steve |