linux-origin
[Top] [All Lists]

Re: irq level mapping

To: Kanoj Sarcar <kanoj@xxxxxxxxxxxxxxxxxxx>
Subject: Re: irq level mapping
From: Colin Ngam <cngam@xxxxxxx>
Date: Wed, 12 Apr 2000 17:32:38 -0500
Cc: linux-origin@xxxxxxxxxxx
Organization: Cray Research, A Division Of SGI
References: <200004122147.OAA57478@xxxxxxxxxxxxxxxxxxx>
Sender: owner-linux-origin@xxxxxxxxxxx
Kanoj Sarcar wrote:

> I just changed arch/mips64/sgi-ip27/ip27-irq.c to say
>
> #define IRQ_TO_SWLEVEL(i)       i + 10
> #define SWLEVEL_TO_IRQ(s)       s - 10
>
> from
>
> #define IRQ_TO_SWLEVEL(i)       i + 7
> #define SWLEVEL_TO_IRQ(s)       s - 7
>
> This _might_ break certain things, so if you do identify this as causing
> a problem, feel free to revert this change. I tested kernel boots, it
> seems to be working ...
>
> On a different note, how do the different drivers determine their
> irqs and call request_irq() for their own irqs?

Kanoj,

In some cases, I have noticed that the IRQ for the PCI slot is determined
by the platform dependent(arch) layer druing PCI probe and written out
into the PCI Config Area.  Then when the driver does it's init, it reads
this back out and call request_irq() with this number.

For snia64, this is exactly what we are going to do.  During out initial
probe we will determine the IRQ for each slot/function, write it out
and the driver later can use it to register.

Thanks.

Colin

>
>
> Kanoj




<Prev in Thread] Current Thread [Next in Thread>