* [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
* Re: [PATCH 1/1] genirq: outline lazy disable in kerneldoc of irq_disable function.
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
1 sibling, 0 replies; 3+ messages in thread
From: Randy Dunlap @ 2013-05-10 18:10 UTC (permalink / raw)
To: Andreas Fenkart; +Cc: tglx, linux-kernel, balbi
On 05/10/13 03:21, Andreas Fenkart wrote:
> 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
- mark interrupt 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);
>
--
~Randy
^ permalink raw reply [flat|nested] 3+ messages in thread
* [tip:irq/core] genirq: Add kerneldoc for irq_disable.
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-bot for Andreas Fenkart
1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Andreas Fenkart @ 2013-05-29 9:24 UTC (permalink / raw)
To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, andreas.fenkart, tglx
Commit-ID: d671a605580d2caafc77f1a25bcf8435795df6fe
Gitweb: http://git.kernel.org/tip/d671a605580d2caafc77f1a25bcf8435795df6fe
Author: Andreas Fenkart <andreas.fenkart@streamunlimited.com>
AuthorDate: Fri, 10 May 2013 12:21:30 +0200
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 29 May 2013 11:09:10 +0200
genirq: Add kerneldoc for irq_disable.
Document the lazy disable functionality. comment based on changelog of
d209a699a0b975ad
Signed-off-by: Andreas Fenkart <andreas.fenkart@streamunlimited.com>
Cc: balbi@ti.com
Link: http://lkml.kernel.org/r/1368181290-1583-1-git-send-email-andreas.fenkart@streamunlimited.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/irq/chip.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index cbd97ce..a3bb14f 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 - Mark 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);
^ 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.