Re: PCI interrupt lost

From: Zwane Mwaikambo
Date: Mon Dec 13 2004 - 10:00:44 EST


On Mon, 13 Dec 2004, Dimitris Lampridis wrote:

> I'm writing a device driver for an embedded USB controller (philips
> ISP116x). I'm using the evaluation board provided by philips for my
> work. This board is a PCI board featuring the Host Controller ISP1160
> and a PCI bridge by PLX.
>
> The bad news (for me) is that I don't get to see any interrupts from my
> device.
>
> The good news is that I've managed to narrow down the problem. Here is
> my case:
> 1) The Host Controller is configured and operating and is producing
> interrupts (I used a logic Analyzer and saw it happening).
> 2) The driver never services these interrupts. The exact behaviour is
> dictated by the "trigger" setting of the INT pin. If it is
> edge-triggered, the interrupts keep on coming from the HC. If it is
> level-triggered, only one interrupt happens and since it is never
> serviced, it keeps on forever, blocking any further signals.
> 3) The driver IS ABLE to service interrupts. The ISR is installed and
> functioning (I was able to see that, when the device was sharing the IRQ
> and the ISR was called only to return IRQ_NONE, nevertheless showing
> that IF an interrupt was to be received, coming from the Host
> Controller, the routine would be called, thus clearing the interrupt on
> the controller).
>
> So, to make things short, my device is generating interrupts, my code
> has a functioning and registered interrupt routine (/proc/interrupts
> agrees as well but interrupt count is 0 for the specific IRQ), but no
> interrupt is ever received from the PCI card.

What does the PCI device report as the interrupt line? What do you
register with request_irq?

Zwane

Ps. Isn't there already a driver for that controller?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/