23 Nov, 2014
1 commit
-
Implement the basic functions for MSI interrupt support with
hierarchical interrupt domains.[ tglx: Extracted and combined from several patches ]
Signed-off-by: Jiang Liu
Cc: Bjorn Helgaas
Cc: Grant Likely
Cc: Marc Zyngier
Cc: Yingjoe Chen
Cc: Yijing Wang
Signed-off-by: Thomas Gleixner
28 Jul, 2011
1 commit
-
This patch adds irq_domain infrastructure for translating from
hardware irq numbers to linux irqs. This is particularly important
for architectures adding device tree support because the current
implementation (excluding PowerPC and SPARC) cannot handle
translation for more than a single interrupt controller. irq_domain
supports device tree translation for any number of interrupt
controllers.This patch converts x86, Microblaze, ARM and MIPS to use irq_domain
for device tree irq translation. x86 is untested beyond compiling it,
irq_domain is enabled for MIPS and Microblaze, but the old behaviour is
preserved until the core code is modified to actually register an
irq_domain yet. On ARM it works and is required for much of the new
ARM device tree board support.PowerPC has /not/ been converted to use this new infrastructure. It
is still missing some features before it can replace the virq
infrastructure already in powerpc (see documentation on
irq_domain_map/unmap for details). Followup patches will add the
missing pieces and migrate PowerPC to use irq_domain.SPARC has its own method of managing interrupts from the device tree
and is unaffected by this change.Acked-by: Ralf Baechle
Signed-off-by: Grant Likely
03 May, 2011
1 commit
-
Only compile it in when there are users.
Signed-off-by: Thomas Gleixner
Cc: linux-arm-kernel@lists.infradead.org
23 Apr, 2011
1 commit
-
Implement a generic interrupt chip, which is configurable and is able
to handle the most common irq chip implementations.Signed-off-by: Thomas Gleixner
Cc: linux-arm-kernel@lists.infradead.org
Tested-by: H Hartley Sweeten
Tested-by: Tony Lindgren
Tested-by; Kevin Hilman
12 Oct, 2010
2 commits
-
The move_irq_desc() function was only used due to the problem that the
allocator did not free the old descriptors. So the descriptors had to
be moved in create_irq_nr(). That's history.The code would have never been able to move active interrupt
descriptors on affinity settings. That can be done in a completely
different way w/o all this horror.Remove all of it.
Signed-off-by: Thomas Gleixner
Reviewed-by: Ingo Molnar -
kernel/irq/handle.c has become a dumpground for random code in random
order. Split out the irq descriptor management and the dummy irq_chip
implementation into separate files. Cleanup the include maze while at
it.No code change.
Signed-off-by: Thomas Gleixner
Reviewed-by: Ingo Molnar
02 May, 2009
1 commit
-
move_irq_desc() will try to move irq_desc to the home node if
the allocated one is not correct, in create_irq_nr().( This can happen on devices that are on different nodes that
are using MSI, when drivers are loaded and unloaded randomly. )v2: fix non-smp build
v3: add NUMA_IRQ_DESC to eliminate #ifdefs[ Impact: improve irq descriptor locality on NUMA systems ]
Signed-off-by: Yinghai Lu
Cc: Andrew Morton
Cc: Suresh Siddha
Cc: "Eric W. Biederman"
Cc: Rusty Russell
LKML-Reference:
Signed-off-by: Ingo Molnar
28 Apr, 2009
1 commit
-
The original feature of migrating irq_desc dynamic was too fragile
and was causing problems: it caused crashes on systems with lots of
cards with MSI-X when user-space irq-balancer was enabled.We now have new patches that create irq_desc according to device
numa node. This patch removes the leftover bits of the dynamic balancer.[ Impact: remove dead code ]
Signed-off-by: Yinghai Lu
Cc: Andrew Morton
Cc: Suresh Siddha
Cc: "Eric W. Biederman"
Cc: Rusty Russell
LKML-Reference:
Signed-off-by: Ingo Molnar
31 Mar, 2009
1 commit
-
Introduce helper functions allowing us to prevent device drivers from
getting any interrupts (without disabling interrupts on the CPU)
during suspend (or hibernation) and to make them start to receive
interrupts again during the subsequent resume. These functions make it
possible to keep timer interrupts enabled while the "late" suspend and
"early" resume callbacks provided by device drivers are being
executed. In turn, this allows device drivers' "late" suspend and
"early" resume callbacks to sleep, execute ACPI callbacks etc.The functions introduced here will be used to rework the handling of
interrupts during suspend (hibernation) and resume. Namely,
interrupts will only be disabled on the CPU right before suspending
sysdevs, while device drivers will be prevented from receiving
interrupts, with the help of the new helper function, before their
"late" suspend callbacks run (and analogously during resume).Signed-off-by: Rafael J. Wysocki
Acked-by: Ingo Molnar
17 Dec, 2008
1 commit
-
Impact: improve NUMA handling by migrating irq_desc on smp_affinity changes
if CONFIG_NUMA_MIGRATE_IRQ_DESC is set:
- make irq_desc to go with affinity aka irq_desc moving etc
- call move_irq_desc in irq_complete_move()
- legacy irq_desc is not moved, because they are allocated via static arrayfor logical apic mode, need to add move_desc_in_progress_in_same_domain,
otherwise it will not be moved ==> also could need two phases to get
irq_desc moved.Signed-off-by: Yinghai Lu
Signed-off-by: Ingo Molnar
12 Feb, 2007
1 commit
-
* Split the implementation-agnostic stuff in separate files.
* Make sure that targets using non-default request_irq() pull
kernel/irq/devres.o
* Introduce new symbols (HAS_IOPORT and HAS_IOMEM) defaulting to positive;
allow architectures to turn them off (we needed these symbols anyway for
dependencies of quite a few drivers).
* protect the ioport-related parts of lib/devres.o with CONFIG_HAS_IOPORT.Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
30 Jun, 2006
2 commits
-
Enable platforms to use the irq-chip and irq-flow abstractions: allow setting
of the chip, the type and provide highlevel handlers for common irq-flows.[rostedt@goodmis.org: misroute-irq: Don't call desc->chip->end because of edge interrupts]
Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar
Cc: Benjamin Herrenschmidt
Signed-off-by: Steven Rostedt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Enable platforms that do not have a hardware-assisted hardirq-resend mechanism
to resend them via a softirq-driven IRQ emulation mechanism.Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 Apr, 2006
1 commit
-
Signed-off-by: Christoph Hellwig
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
26 Mar, 2006
1 commit
-
Uninline some massive IRQ migration functions. Put them in the new
kernel/irq/migration.c.Cc: Andi Kleen
Cc: "Luck, Tony"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!