2018-09-27 17:21:31

by Lina Iyer

[permalink] [raw]
Subject: [PATCH] drivers: irqchip: pdc: setup all edge interrupts as rising edge at GIC

The PDC irqchp can convert a falling edge or level low interrupt to a
rising edge or level high interrupt at the GIC. We just need to setup
the GIC correctly. Set up the interrupt type for the IRQ_TYPE_EDGE_BOTH
as IRQ_TYPE_EDGE_RISING at the GIC.

Reported-by: Evan Green <[email protected]>
Signed-off-by: Lina Iyer <[email protected]>
---
drivers/irqchip/qcom-pdc.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c
index b1b47a40a278..faa7d61b9d6c 100644
--- a/drivers/irqchip/qcom-pdc.c
+++ b/drivers/irqchip/qcom-pdc.c
@@ -124,6 +124,7 @@ static int qcom_pdc_gic_set_type(struct irq_data *d, unsigned int type)
break;
case IRQ_TYPE_EDGE_BOTH:
pdc_type = PDC_EDGE_DUAL;
+ type = IRQ_TYPE_EDGE_RISING;
break;
case IRQ_TYPE_LEVEL_HIGH:
pdc_type = PDC_LEVEL_HIGH;
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project



2018-09-27 18:06:00

by Evan Green

[permalink] [raw]
Subject: Re: [PATCH] drivers: irqchip: pdc: setup all edge interrupts as rising edge at GIC

On Thu, Sep 27, 2018 at 10:18 AM Lina Iyer <[email protected]> wrote:
>
> The PDC irqchp can convert a falling edge or level low interrupt to a
> rising edge or level high interrupt at the GIC. We just need to setup
> the GIC correctly. Set up the interrupt type for the IRQ_TYPE_EDGE_BOTH
> as IRQ_TYPE_EDGE_RISING at the GIC.
>
> Reported-by: Evan Green <[email protected]>
> Signed-off-by: Lina Iyer <[email protected]>
> ---
> drivers/irqchip/qcom-pdc.c | 1 +
> 1 file changed, 1 insertion(+)
>

Reviewed-by: Evan Green <[email protected]>

2018-09-28 10:40:51

by Marc Zyngier

[permalink] [raw]
Subject: Re: [PATCH] drivers: irqchip: pdc: setup all edge interrupts as rising edge at GIC

On 27/09/18 18:18, Lina Iyer wrote:
> The PDC irqchp can convert a falling edge or level low interrupt to a
> rising edge or level high interrupt at the GIC. We just need to setup
> the GIC correctly. Set up the interrupt type for the IRQ_TYPE_EDGE_BOTH
> as IRQ_TYPE_EDGE_RISING at the GIC.
>
> Reported-by: Evan Green <[email protected]>
> Signed-off-by: Lina Iyer <[email protected]>
> ---
> drivers/irqchip/qcom-pdc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c
> index b1b47a40a278..faa7d61b9d6c 100644
> --- a/drivers/irqchip/qcom-pdc.c
> +++ b/drivers/irqchip/qcom-pdc.c
> @@ -124,6 +124,7 @@ static int qcom_pdc_gic_set_type(struct irq_data *d, unsigned int type)
> break;
> case IRQ_TYPE_EDGE_BOTH:
> pdc_type = PDC_EDGE_DUAL;
> + type = IRQ_TYPE_EDGE_RISING;
> break;
> case IRQ_TYPE_LEVEL_HIGH:
> pdc_type = PDC_LEVEL_HIGH;
>

Queued for 4.20, with

Fixes: f55c73aef890 ("irqchip/pdc: Add PDC interrupt controller for QCOM
SoCs")

added. Please consider providing these tags in the future.

Thanks,

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

2018-09-28 14:58:56

by Lina Iyer

[permalink] [raw]
Subject: Re: [PATCH] drivers: irqchip: pdc: setup all edge interrupts as rising edge at GIC

On Fri, Sep 28 2018 at 04:40 -0600, Marc Zyngier wrote:
>On 27/09/18 18:18, Lina Iyer wrote:
>>The PDC irqchp can convert a falling edge or level low interrupt to a
>>rising edge or level high interrupt at the GIC. We just need to setup
>>the GIC correctly. Set up the interrupt type for the IRQ_TYPE_EDGE_BOTH
>>as IRQ_TYPE_EDGE_RISING at the GIC.
>>
>>Reported-by: Evan Green <[email protected]>
>>Signed-off-by: Lina Iyer <[email protected]>
>>---
>> drivers/irqchip/qcom-pdc.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>>diff --git a/drivers/irqchip/qcom-pdc.c b/drivers/irqchip/qcom-pdc.c
>>index b1b47a40a278..faa7d61b9d6c 100644
>>--- a/drivers/irqchip/qcom-pdc.c
>>+++ b/drivers/irqchip/qcom-pdc.c
>>@@ -124,6 +124,7 @@ static int qcom_pdc_gic_set_type(struct irq_data *d, unsigned int type)
>> break;
>> case IRQ_TYPE_EDGE_BOTH:
>> pdc_type = PDC_EDGE_DUAL;
>>+ type = IRQ_TYPE_EDGE_RISING;
>> break;
>> case IRQ_TYPE_LEVEL_HIGH:
>> pdc_type = PDC_LEVEL_HIGH;
>>
>
>Queued for 4.20, with
>
>Fixes: f55c73aef890 ("irqchip/pdc: Add PDC interrupt controller for
>QCOM SoCs")
>
>added. Please consider providing these tags in the future.

Thanks Marc. Will do.

-- Lina