summaryrefslogtreecommitdiff
path: root/drivers/irqchip/irq-loongson-liointc.c
diff options
context:
space:
mode:
authorJianmin Lv <lvjianmin@loongson.cn>2022-10-22 15:59:55 +0800
committerMarc Zyngier <maz@kernel.org>2022-11-26 13:05:49 +0000
commit17343d0b4039196517ab5c40d8fce3e8d394c526 (patch)
tree16e510f2f6efea7292ac8c4f72645362551ed42f /drivers/irqchip/irq-loongson-liointc.c
parent25f3514aab3748bfef4a279ed599f836ac83e62a (diff)
irqchip/loongson-liointc: Support to set IRQ type for ACPI path
For ACPI path, the xlate callback used IRQ_TYPE_NONE and ignored the IRQ type in intspec[1]. For supporting to set type for IRQs of the irqdomain, intspec[1] should be used to get IRQ type. Signed-off-by: Jianmin Lv <lvjianmin@loongson.cn> Reviewed-by: Huacai Chen <chenhuacai@loongson.cn> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20221022075955.11726-5-lvjianmin@loongson.cn
Diffstat (limited to 'drivers/irqchip/irq-loongson-liointc.c')
-rw-r--r--drivers/irqchip/irq-loongson-liointc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-loongson-liointc.c b/drivers/irqchip/irq-loongson-liointc.c
index 0da8716f8f24..838c8fa2d868 100644
--- a/drivers/irqchip/irq-loongson-liointc.c
+++ b/drivers/irqchip/irq-loongson-liointc.c
@@ -167,7 +167,12 @@ static int liointc_domain_xlate(struct irq_domain *d, struct device_node *ctrlr,
if (WARN_ON(intsize < 1))
return -EINVAL;
*out_hwirq = intspec[0] - GSI_MIN_CPU_IRQ;
- *out_type = IRQ_TYPE_NONE;
+
+ if (intsize > 1)
+ *out_type = intspec[1] & IRQ_TYPE_SENSE_MASK;
+ else
+ *out_type = IRQ_TYPE_NONE;
+
return 0;
}