Skip to content

Commit 87745ba

Browse files
Marc Zyngierrkhuangtao
authored andcommitted
UPSTREAM: irqchip/gic-v3: Allow interrupt to be configured as wake-up sources
Although GICv3 doesn't directly offers support for wake-up interrupts and relies on external HW for this, it shouldn't prevent the driver for such HW from doing it work. Let's set the required flags on the irq_chip structures. Reported-by: Lina Iyer <ilina@codeaurora.org> Tested-by: Lina Iyer <ilina@codeaurora.org> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> (cherry picked from commit 4110b5cbb014ebaaeb3d18ac8b98470b7251847d) Change-Id: I1a165eb8a2b585fd201249fe4a7d51a2eaf169f2 Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
1 parent 180529d commit 87745ba

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

drivers/irqchip/irq-gic-v3.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,9 @@ static struct irq_chip gic_chip = {
715715
.irq_set_affinity = gic_set_affinity,
716716
.irq_get_irqchip_state = gic_irq_get_irqchip_state,
717717
.irq_set_irqchip_state = gic_irq_set_irqchip_state,
718-
.flags = IRQCHIP_SET_TYPE_MASKED,
718+
.flags = IRQCHIP_SET_TYPE_MASKED |
719+
IRQCHIP_SKIP_SET_WAKE |
720+
IRQCHIP_MASK_ON_SUSPEND,
719721
};
720722

721723
static struct irq_chip gic_eoimode1_chip = {
@@ -731,7 +733,9 @@ static struct irq_chip gic_eoimode1_chip = {
731733
.irq_get_irqchip_state = gic_irq_get_irqchip_state,
732734
.irq_set_irqchip_state = gic_irq_set_irqchip_state,
733735
.irq_set_vcpu_affinity = gic_irq_set_vcpu_affinity,
734-
.flags = IRQCHIP_SET_TYPE_MASKED,
736+
.flags = IRQCHIP_SET_TYPE_MASKED |
737+
IRQCHIP_SKIP_SET_WAKE |
738+
IRQCHIP_MASK_ON_SUSPEND,
735739
};
736740

737741
#define GIC_ID_NR (1U << gic_data.rdists.id_bits)

0 commit comments

Comments
 (0)