From: Lina Iyer <il...@codeaurora.org>

[ Upstream commit 7bae48b22c8d38c5cd50f52b6e15d134e2bb3935 ]

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.

Fixes: f55c73aef890 ("irqchip/pdc: Add PDC interrupt controller for QCOM SoCs")
Reported-by: Evan Green <evgr...@chromium.org>
Reviewed-by: Evan Green <evgr...@chromium.org>
Signed-off-by: Lina Iyer <il...@codeaurora.org>
Signed-off-by: Marc Zyngier <marc.zyng...@arm.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 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;
-- 
2.17.1

Reply via email to