EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

IRQ assigning for PCI card in SMP linux system ( Dual core )

Started by mahi January 4, 2010
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
Hi Mahender.

> =A0 =A0 =A0 =A0For 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

The 2024 Embedded Online Conference