All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] genirq: outline lazy disable in kerneldoc of irq_disable function.
@ 2013-05-10 10:21 Andreas Fenkart
  2013-05-10 18:10 ` Randy Dunlap
  2013-05-29  9:24 ` [tip:irq/core] genirq: Add kerneldoc for irq_disable tip-bot for Andreas Fenkart
  0 siblings, 2 replies; 3+ messages in thread
From: Andreas Fenkart @ 2013-05-10 10:21 UTC (permalink / raw)
  To: tglx; +Cc: linux-kernel, balbi, Andreas Fenkart

comment based on changelog of d209a699a0b975ad

Signed-off-by: Andreas Fenkart <andreas.fenkart@streamunlimited.com>
---
 kernel/irq/chip.c |   13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index cbd97ce..4e3c439 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -213,6 +213,19 @@ void irq_enable(struct irq_desc *desc)
 	irq_state_clr_masked(desc);
 }
 
+/**
+ * irq_disable - mask interupt disabled
+ * @desc:		irq descriptor which should be disabled
+ *
+ * If the chip does not implement the irq_disable callback, we
+ * use a lazy disable approach. That means we mark the interrupt
+ * disabled, but leave the hardware unmasked. That's an
+ * optimization because we avoid the hardware access for the
+ * common case where no interrupt happens after we marked it
+ * disabled. If an interrupt happens, then the interrupt flow
+ * handler masks the line at the hardware level and marks it
+ * pending.
+ */
 void irq_disable(struct irq_desc *desc)
 {
 	irq_state_set_disabled(desc);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-05-29  9:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-10 10:21 [PATCH 1/1] genirq: outline lazy disable in kerneldoc of irq_disable function Andreas Fenkart
2013-05-10 18:10 ` Randy Dunlap
2013-05-29  9:24 ` [tip:irq/core] genirq: Add kerneldoc for irq_disable tip-bot for Andreas Fenkart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.