Re: [PATCH v2 5/6] ARM: OMAP: wakeupgen: fix arm gic irq type configuration

2015-08-13 Thread Tony Lindgren
* Grygorii Strashko  [150812 10:49]:
> It's observed that ARM GIC IRQ triggering type is not configured
> properly when IRQ is routed through IRQ domain hierarchy and
> system started using DT. As result, system will start using default
> ARM GIC configuration, ignore DT IRQ triggering configuration,
> and value of desc->irq_data.state_use_accessors = 0.
> 
> In case of TI OMAP DRA7 the following IRQ hierarchy is defined:
> ARM GIC <- OMAP wakeupgen <- TI CBAR
> 
> Failed call chain:
>  irq_create_of_mapping
>  irq_set_irq_type
>  __irq_set_trigger
>  if (!chip || !chip->irq_set_type) {
> return 0; <- return here
>  }
> OMAP wakeupgen has no .irq_set_type() defined and, so, IRQ triggering
> configuration will not be propagated to parent IRQ domain.
> 
> Hence, fix it by using irq_chip_set_type_parent() for
> propagation IRQ triggering type to parent IRQ domains.
> 
> Fixes: 7136d457f365 ('ARM: omap: convert wakeupgen to stacked domains')
> Signed-off-by: Grygorii Strashko 

Makse sense to merge this along with the irqchip changes once those
are ready, so feel free to add to this one:

Acked-by: Tony Lindgren 

> ---
>  arch/arm/mach-omap2/omap-wakeupgen.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c 
> b/arch/arm/mach-omap2/omap-wakeupgen.c
> index 8e52621..e1d2e99 100644
> --- a/arch/arm/mach-omap2/omap-wakeupgen.c
> +++ b/arch/arm/mach-omap2/omap-wakeupgen.c
> @@ -392,6 +392,7 @@ static struct irq_chip wakeupgen_chip = {
>   .irq_mask   = wakeupgen_mask,
>   .irq_unmask = wakeupgen_unmask,
>   .irq_retrigger  = irq_chip_retrigger_hierarchy,
> + .irq_set_type   = irq_chip_set_type_parent,
>   .flags  = IRQCHIP_SKIP_SET_WAKE | 
> IRQCHIP_MASK_ON_SUSPEND,
>  #ifdef CONFIG_SMP
>   .irq_set_affinity   = irq_chip_set_affinity_parent,
> -- 
> 2.5.0
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v2 5/6] ARM: OMAP: wakeupgen: fix arm gic irq type configuration

2015-08-13 Thread Tony Lindgren
* Grygorii Strashko grygorii.stras...@ti.com [150812 10:49]:
 It's observed that ARM GIC IRQ triggering type is not configured
 properly when IRQ is routed through IRQ domain hierarchy and
 system started using DT. As result, system will start using default
 ARM GIC configuration, ignore DT IRQ triggering configuration,
 and value of desc-irq_data.state_use_accessors = 0.
 
 In case of TI OMAP DRA7 the following IRQ hierarchy is defined:
 ARM GIC - OMAP wakeupgen - TI CBAR
 
 Failed call chain:
  irq_create_of_mapping
  irq_set_irq_type
  __irq_set_trigger
  if (!chip || !chip-irq_set_type) {
 return 0; - return here
  }
 OMAP wakeupgen has no .irq_set_type() defined and, so, IRQ triggering
 configuration will not be propagated to parent IRQ domain.
 
 Hence, fix it by using irq_chip_set_type_parent() for
 propagation IRQ triggering type to parent IRQ domains.
 
 Fixes: 7136d457f365 ('ARM: omap: convert wakeupgen to stacked domains')
 Signed-off-by: Grygorii Strashko grygorii.stras...@ti.com

Makse sense to merge this along with the irqchip changes once those
are ready, so feel free to add to this one:

Acked-by: Tony Lindgren t...@atomide.com

 ---
  arch/arm/mach-omap2/omap-wakeupgen.c | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c 
 b/arch/arm/mach-omap2/omap-wakeupgen.c
 index 8e52621..e1d2e99 100644
 --- a/arch/arm/mach-omap2/omap-wakeupgen.c
 +++ b/arch/arm/mach-omap2/omap-wakeupgen.c
 @@ -392,6 +392,7 @@ static struct irq_chip wakeupgen_chip = {
   .irq_mask   = wakeupgen_mask,
   .irq_unmask = wakeupgen_unmask,
   .irq_retrigger  = irq_chip_retrigger_hierarchy,
 + .irq_set_type   = irq_chip_set_type_parent,
   .flags  = IRQCHIP_SKIP_SET_WAKE | 
 IRQCHIP_MASK_ON_SUSPEND,
  #ifdef CONFIG_SMP
   .irq_set_affinity   = irq_chip_set_affinity_parent,
 -- 
 2.5.0
 
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2 5/6] ARM: OMAP: wakeupgen: fix arm gic irq type configuration

2015-08-12 Thread Grygorii Strashko
It's observed that ARM GIC IRQ triggering type is not configured
properly when IRQ is routed through IRQ domain hierarchy and
system started using DT. As result, system will start using default
ARM GIC configuration, ignore DT IRQ triggering configuration,
and value of desc->irq_data.state_use_accessors = 0.

In case of TI OMAP DRA7 the following IRQ hierarchy is defined:
ARM GIC <- OMAP wakeupgen <- TI CBAR

Failed call chain:
 irq_create_of_mapping
 irq_set_irq_type
 __irq_set_trigger
 if (!chip || !chip->irq_set_type) {
return 0; <- return here
 }
OMAP wakeupgen has no .irq_set_type() defined and, so, IRQ triggering
configuration will not be propagated to parent IRQ domain.

Hence, fix it by using irq_chip_set_type_parent() for
propagation IRQ triggering type to parent IRQ domains.

Fixes: 7136d457f365 ('ARM: omap: convert wakeupgen to stacked domains')
Signed-off-by: Grygorii Strashko 
---
 arch/arm/mach-omap2/omap-wakeupgen.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c 
b/arch/arm/mach-omap2/omap-wakeupgen.c
index 8e52621..e1d2e99 100644
--- a/arch/arm/mach-omap2/omap-wakeupgen.c
+++ b/arch/arm/mach-omap2/omap-wakeupgen.c
@@ -392,6 +392,7 @@ static struct irq_chip wakeupgen_chip = {
.irq_mask   = wakeupgen_mask,
.irq_unmask = wakeupgen_unmask,
.irq_retrigger  = irq_chip_retrigger_hierarchy,
+   .irq_set_type   = irq_chip_set_type_parent,
.flags  = IRQCHIP_SKIP_SET_WAKE | 
IRQCHIP_MASK_ON_SUSPEND,
 #ifdef CONFIG_SMP
.irq_set_affinity   = irq_chip_set_affinity_parent,
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH v2 5/6] ARM: OMAP: wakeupgen: fix arm gic irq type configuration

2015-08-12 Thread Grygorii Strashko
It's observed that ARM GIC IRQ triggering type is not configured
properly when IRQ is routed through IRQ domain hierarchy and
system started using DT. As result, system will start using default
ARM GIC configuration, ignore DT IRQ triggering configuration,
and value of desc-irq_data.state_use_accessors = 0.

In case of TI OMAP DRA7 the following IRQ hierarchy is defined:
ARM GIC - OMAP wakeupgen - TI CBAR

Failed call chain:
 irq_create_of_mapping
 irq_set_irq_type
 __irq_set_trigger
 if (!chip || !chip-irq_set_type) {
return 0; - return here
 }
OMAP wakeupgen has no .irq_set_type() defined and, so, IRQ triggering
configuration will not be propagated to parent IRQ domain.

Hence, fix it by using irq_chip_set_type_parent() for
propagation IRQ triggering type to parent IRQ domains.

Fixes: 7136d457f365 ('ARM: omap: convert wakeupgen to stacked domains')
Signed-off-by: Grygorii Strashko grygorii.stras...@ti.com
---
 arch/arm/mach-omap2/omap-wakeupgen.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c 
b/arch/arm/mach-omap2/omap-wakeupgen.c
index 8e52621..e1d2e99 100644
--- a/arch/arm/mach-omap2/omap-wakeupgen.c
+++ b/arch/arm/mach-omap2/omap-wakeupgen.c
@@ -392,6 +392,7 @@ static struct irq_chip wakeupgen_chip = {
.irq_mask   = wakeupgen_mask,
.irq_unmask = wakeupgen_unmask,
.irq_retrigger  = irq_chip_retrigger_hierarchy,
+   .irq_set_type   = irq_chip_set_type_parent,
.flags  = IRQCHIP_SKIP_SET_WAKE | 
IRQCHIP_MASK_ON_SUSPEND,
 #ifdef CONFIG_SMP
.irq_set_affinity   = irq_chip_set_affinity_parent,
-- 
2.5.0

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/