linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: imx: support edge irq trigger for gpc
  2015-10-19 17:02 [PATCH] ARM: imx: support edge irq trigger for gpc Anson Huang
@ 2015-10-19 11:06 ` Lucas Stach
  2015-10-19 16:41 ` Marc Zyngier
  1 sibling, 0 replies; 3+ messages in thread
From: Lucas Stach @ 2015-10-19 11:06 UTC (permalink / raw)
  To: linux-arm-kernel

Am Dienstag, den 20.10.2015, 01:02 +0800 schrieb Anson Huang:
> GPC irq domain is a child domain of GIC, now all of
> platform irqs are inside GPC domain, during the module
> populate, all devices irq should have correct type
> setting in GIC, however, there is no .irq_set_type
> callback setting in GPC, so the irq_set_type will be
> skipped and cause edge raising type of irq work
> abnormally after kernel boot up.
> 
What are the symptoms of this "abnormal" working?

> Since GPC has no irq type, so just tell kernel to
> use irq_chip_set_type_parent instead.
> 
The change itself looks good, but the description needs some work. Also
please don't wrap the commit message too early, it makes it harder than
necessary to read.

> Signed-off-by: Anson Huang <b20788@freescale.com>

I think this needs a stable annotation.

> ---
>  arch/arm/mach-imx/gpc.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c
> index 10bf715..b3a7a74 100644
> --- a/arch/arm/mach-imx/gpc.c
> +++ b/arch/arm/mach-imx/gpc.c
> @@ -176,6 +176,7 @@ static struct irq_chip imx_gpc_chip = {
>  	.irq_unmask		= imx_gpc_irq_unmask,
>  	.irq_retrigger		= irq_chip_retrigger_hierarchy,
>  	.irq_set_wake		= imx_gpc_irq_set_wake,
> +	.irq_set_type           = irq_chip_set_type_parent,
>  #ifdef CONFIG_SMP
>  	.irq_set_affinity	= irq_chip_set_affinity_parent,
>  #endif

-- 
Pengutronix e.K.             | Lucas Stach                 |
Industrial Linux Solutions   | http://www.pengutronix.de/  |

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

* [PATCH] ARM: imx: support edge irq trigger for gpc
  2015-10-19 17:02 [PATCH] ARM: imx: support edge irq trigger for gpc Anson Huang
  2015-10-19 11:06 ` Lucas Stach
@ 2015-10-19 16:41 ` Marc Zyngier
  1 sibling, 0 replies; 3+ messages in thread
From: Marc Zyngier @ 2015-10-19 16:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, 20 Oct 2015 01:02:12 +0800
Anson Huang <b20788@freescale.com> wrote:

> GPC irq domain is a child domain of GIC, now all of
> platform irqs are inside GPC domain, during the module
> populate, all devices irq should have correct type
> setting in GIC, however, there is no .irq_set_type
> callback setting in GPC, so the irq_set_type will be
> skipped and cause edge raising type of irq work
> abnormally after kernel boot up.
> 
> Since GPC has no irq type, so just tell kernel to
> use irq_chip_set_type_parent instead.
> 
> Signed-off-by: Anson Huang <b20788@freescale.com>

Looks good to me.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>

	M.
-- 
Jazz is not dead. It just smells funny.

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

* [PATCH] ARM: imx: support edge irq trigger for gpc
@ 2015-10-19 17:02 Anson Huang
  2015-10-19 11:06 ` Lucas Stach
  2015-10-19 16:41 ` Marc Zyngier
  0 siblings, 2 replies; 3+ messages in thread
From: Anson Huang @ 2015-10-19 17:02 UTC (permalink / raw)
  To: linux-arm-kernel

GPC irq domain is a child domain of GIC, now all of
platform irqs are inside GPC domain, during the module
populate, all devices irq should have correct type
setting in GIC, however, there is no .irq_set_type
callback setting in GPC, so the irq_set_type will be
skipped and cause edge raising type of irq work
abnormally after kernel boot up.

Since GPC has no irq type, so just tell kernel to
use irq_chip_set_type_parent instead.

Signed-off-by: Anson Huang <b20788@freescale.com>
---
 arch/arm/mach-imx/gpc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c
index 10bf715..b3a7a74 100644
--- a/arch/arm/mach-imx/gpc.c
+++ b/arch/arm/mach-imx/gpc.c
@@ -176,6 +176,7 @@ static struct irq_chip imx_gpc_chip = {
 	.irq_unmask		= imx_gpc_irq_unmask,
 	.irq_retrigger		= irq_chip_retrigger_hierarchy,
 	.irq_set_wake		= imx_gpc_irq_set_wake,
+	.irq_set_type           = irq_chip_set_type_parent,
 #ifdef CONFIG_SMP
 	.irq_set_affinity	= irq_chip_set_affinity_parent,
 #endif
-- 
1.9.1

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

end of thread, other threads:[~2015-10-19 17:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-19 17:02 [PATCH] ARM: imx: support edge irq trigger for gpc Anson Huang
2015-10-19 11:06 ` Lucas Stach
2015-10-19 16:41 ` Marc Zyngier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).