Forum Discussion
Altera_Forum
Honored Contributor
13 years agoHi,
I finally get it with severals MSIs. Just take a look below:
#dmesg
pci 0000:04:00.0: irq 47-48 for MSI/MSI-X
# cat /proc/interrupts
CPU0
0: 49252 IO-APIC-edge timer
1: 2 IO-APIC-edge i8042
........
5: 0 IO-APIC-edge parport0
8: 1 IO-APIC-edge rtc0
46: 9454 PCI-MSI-edge eth1
47: 0 PCI-MSI-edge LATTICE_pci
Let's say 47 is my CAN and 48 is my UART
Question 1
May I need to request twice as you sa
if (request_irq (47,(irq_handler_t) irqreturn_CAN_isr,
IRQF_DISABLED, LATTICE_PCI_NAME, &LATTICE_pci_dev))
if (request_irq (48,(irq_handler_t)irqreturn_UART_isr,
IRQF_DISABLED, LATTICE_PCI_NAME, &LATTICE_pci_dev))
--------------------Interrupt Handlers---------------------------------
static irqreturn_CAN_isr ( 47, void *dev ) {
void testCAN();
printk(KERN_DEBUG " CAN received irq = %d \n", irq);
return IRQ_HANDLED;
}
static irqreturn_UART_isr ( int irq, void *dev ) {
void testUART();
printk(KERN_DEBUG " UART received irq = %d \n", irq);
return IRQ_HANDLED;
}
Is it OK?