 |
|
 |
|
Next: Bug#544455: deja-dup: Category should be set to S..
|
| Author |
Message |
External

Since: Sep 04, 2009 Posts: 4
|
(Msg. 1) Posted: Fri Sep 04, 2009 10:15 pm
Post subject: irq sharing between devices Archived from groups: comp>os>linux>development>system (more info?)
|
|
|
Hi,
if I have two/three devices sharing the same interrupt num having
three interrupt handlers ,say pci devices , which interrupt handler
will get called when there is a interrupt.
Against the interrupt number, these two/three interrupt handlers will
be registered in interrupt descriptor table.Am I correct?
Should there be register which says which actual interrupt is
generated? So, in which device this register will be present?
Basically I m trying to understand how irq sharing is happening in
Linux.
Thanks in advance.
kavi |
|
| Back to top |
|
 |  |
External

Since: Jul 16, 2003 Posts: 24
|
(Msg. 2) Posted: Sat Sep 05, 2009 2:12 pm
Post subject: Re: irq sharing between devices [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
kavi <mekaviraj DeleteThis @gmail.com> wrote:
>
>if I have two/three devices sharing the same interrupt num having
>three interrupt handlers ,say pci devices , which interrupt handler
>will get called when there is a interrupt.
All of them. Presumably, all but one of the handlers will realize that the
interrupt was not for them, and do nothing (quickly).
>Against the interrupt number, these two/three interrupt handlers will
>be registered in interrupt descriptor table.Am I correct?
Well, they will be registered in the kernel's interrupt tables. The
hardware IDT can only have one handler, which points to a kernel routine
that calls all of the registered handlers.
>Should there be register which says which actual interrupt is
>generated? So, in which device this register will be present?
Yes. Every PCI hardware device must have a register that says "yes, I
really did fire an interrupt."
--
Tim Roberts, timr DeleteThis @probo.com
Providenza & Boekelheide, Inc. |
|
| Back to top |
|
 |  |
External

Since: Sep 08, 2009 Posts: 1
|
(Msg. 3) Posted: Tue Sep 08, 2009 7:48 am
Post subject: Re: irq sharing between devices [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Sep 6, 2:12 am, Tim Roberts <t....DeleteThis@probo.com> wrote:
> kavi <mekavi....DeleteThis@gmail.com> wrote:
>
> >if I have two/three devices sharing the same interrupt num having
> >three interrupt handlers ,say pci devices , which interrupt handler
> >will get called when there is a interrupt.
>
> All of them. Presumably, all but one of the handlers will realize that the
> interrupt was not for them, and do nothing (quickly).
>
> >Against the interrupt number, these two/three interrupt handlers will
> >be registered in interrupt descriptor table.Am I correct?
>
> Well, they will be registered in the kernel's interrupt tables. The
> hardware IDT can only have one handler, which points to a kernel routine
> that calls all of the registered handlers.
>
> >Should there be register which says which actual interrupt is
> >generated? So, in which device this register will be present?
>
> Yes. Every PCI hardware device must have a register that says "yes, I
> really did fire an interrupt."
> --
> Tim Roberts, t....DeleteThis@probo.com
> Providenza & Boekelheide, Inc.
Thanks Tim !! |
|
| Back to top |
|
 |  |
External

Since: Sep 04, 2009 Posts: 4
|
(Msg. 4) Posted: Tue Sep 08, 2009 10:27 am
Post subject: Re: irq sharing between devices [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Sep 6, 2:12 am, Tim Roberts <t....DeleteThis@probo.com> wrote:
> kavi <mekavi....DeleteThis@gmail.com> wrote:
>
> >if I have two/three devices sharing the same interrupt num having
> >three interrupt handlers ,say pci devices , which interrupt handler
> >will get called when there is a interrupt.
>
> All of them. Presumably, all but one of the handlers will realize that the
> interrupt was not for them, and do nothing (quickly).
>
> >Against the interrupt number, these two/three interrupt handlers will
> >be registered in interrupt descriptor table.Am I correct?
>
> Well, they will be registered in the kernel's interrupt tables. The
> hardware IDT can only have one handler, which points to a kernel routine
> that calls all of the registered handlers.
>
> >Should there be register which says which actual interrupt is
> >generated? So, in which device this register will be present?
>
> Yes. Every PCI hardware device must have a register that says "yes, I
> really did fire an interrupt."
> --
> Tim Roberts, t....DeleteThis@probo.com
> Providenza & Boekelheide, Inc.
Thanks Tim !! |
|
| Back to top |
|
 |  |
External

Since: Apr 25, 2007 Posts: 134
|
(Msg. 5) Posted: Tue Sep 08, 2009 2:16 pm
Post subject: Re: irq sharing between devices [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Sep 4, 10:15 pm, kavi <mekavi....DeleteThis@gmail.com> wrote:
> Hi,
> if I have two/three devices sharing the same interrupt num having
> three interrupt handlers ,say pci devices , which interrupt handler
> will get called when there is a interrupt.
> Against the interrupt number, these two/three interrupt handlers will
> be registered in interrupt descriptor table.Am I correct?
> Should there be register which says which actual interrupt is
> generated? So, in which device this register will be present?
>
> Basically I m trying to understand how irq sharing is happening in
> Linux.
Devices which support IRQ sharing have an interrupt handler that first
checks the device to see if it issued the interrupt. If it did not,
they return immediately. The kernel will call all the interrupt
handlers in succession.
Pretty much every modern device that supports IRQ sharing has a
register that indicates what IRQs it has issued and why. So if it's,
say, a network card, there will be a register that has several bit
flags, one for send interrupt, one for receive interrupt, one for
media change interrupt, and so on. The interrupt driver will read that
register and if none of the flags are set, it will return.
You need this even if there is no interrupt sharing, as it provides a
quick way to tell what interrupt handling code the driver needs to
run.
DS |
|
| Back to top |
|
 |  |
External

Since: Sep 04, 2009 Posts: 4
|
(Msg. 6) Posted: Thu Sep 10, 2009 11:01 am
Post subject: Re: irq sharing between devices [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Sep 9, 2:16 am, David Schwartz <dav... DeleteThis @webmaster.com> wrote:
> On Sep 4, 10:15 pm, kavi <mekavi... DeleteThis @gmail.com> wrote:
>
> > Hi,
> > if I have two/three devices sharing the same interrupt num having
> > three interrupt handlers ,say pci devices , which interrupt handler
> > will get called when there is a interrupt.
> > Against the interrupt number, these two/three interrupt handlers will
> > be registered in interrupt descriptor table.Am I correct?
> > Should there be register which says which actual interrupt is
> > generated? So, in which device this register will be present?
>
> > Basically I m trying to understand how irq sharing is happening in
> > Linux.
>
> Devices which support IRQ sharing have an interrupt handler that first
> checks the device to see if it issued the interrupt. If it did not,
> they return immediately. The kernel will call all the interrupt
> handlers in succession.
>
> Pretty much every modern device that supports IRQ sharing has a
> register that indicates what IRQs it has issued and why. So if it's,
> say, a network card, there will be a register that has several bit
> flags, one for send interrupt, one for receive interrupt, one for
> media change interrupt, and so on. The interrupt driver will read that
> register and if none of the flags are set, it will return.
>
> You need this even if there is no interrupt sharing, as it provides a
> quick way to tell what interrupt handling code the driver needs to
> run.
>
> DS
Thanks David !!
You really got gr8 insight into these subjects  |
|
| Back to top |
|
 |  |
External

Since: Apr 25, 2007 Posts: 134
|
(Msg. 7) Posted: Thu Sep 10, 2009 6:26 pm
Post subject: Re: irq sharing between devices [Login to view extended thread Info.] Archived from groups: per prev. post (more info?)
|
|
|
On Sep 10, 11:01 am, kavi <mekavi....RemoveThis@gmail.com> wrote:
> Thanks David !!
> You really got gr8 insight into these subjects
You're welcome. That's why they pay me the big bucks. (The green ones
that you can actually *spend*!)
DS |
|
| Back to top |
|
 |  |
| Related Topics: | RFC3971 - Does anyone know if RFC3971 support is being developed for Linux? It does not seem to be implemented in the mainline..
Size 8 bit, 16 bit, 32 bit and 64 bit systems. - I need to find out what is the size of following data structures in 8 bit, 16 bit, 32 bit, and 64 bit systems. struct....
Size 8 bit, 16 bit, 32 bit and 64 bit systems. - I need to find out what is the size of following data structures in 8 bit, 16 bit, 32 bit, and 64 bit systems. struct....
Access shared memory from kernel module - Hi All, I wanted to know if shared memory created in user space can be accessed from a loadable kernel module. Have no...
Controlling UART transmission of bytes - I'm programming an ARM's UART that comes with a library implementing the standard unix termios interface. Regarding..
Fwd: Re: Phis in /proc/bus/input/devices same for all devi.. - Hi, can anybody reply to this and share his/her opinion? Thanks a lot Michal ---------- Předaná zpráva ----------... |
|
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|
 |
|
|