xref: /linux/Documentation/core-api/irq/concepts.rst (revision 95298d63c67673c654c08952672d016212b26054)
1===============
2What is an IRQ?
3===============
4
5An IRQ is an interrupt request from a device.
6Currently they can come in over a pin, or over a packet.
7Several devices may be connected to the same pin thus
8sharing an IRQ.
9
10An IRQ number is a kernel identifier used to talk about a hardware
11interrupt source.  Typically this is an index into the global irq_desc
12array, but except for what linux/interrupt.h implements the details
13are architecture specific.
14
15An IRQ number is an enumeration of the possible interrupt sources on a
16machine.  Typically what is enumerated is the number of input pins on
17all of the interrupt controller in the system.  In the case of ISA
18what is enumerated are the 16 input pins on the two i8259 interrupt
19controllers.
20
21Architectures can assign additional meaning to the IRQ numbers, and
22are encouraged to in the case  where there is any manual configuration
23of the hardware involved.  The ISA IRQs are a classic example of
24assigning this kind of additional meaning.
25