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>
This commit is contained in:
parent
44beda0c35
commit
4110b5cbb0
|
@ -861,7 +861,9 @@ static struct irq_chip gic_chip = {
|
||||||
.irq_set_affinity = gic_set_affinity,
|
.irq_set_affinity = gic_set_affinity,
|
||||||
.irq_get_irqchip_state = gic_irq_get_irqchip_state,
|
.irq_get_irqchip_state = gic_irq_get_irqchip_state,
|
||||||
.irq_set_irqchip_state = gic_irq_set_irqchip_state,
|
.irq_set_irqchip_state = gic_irq_set_irqchip_state,
|
||||||
.flags = IRQCHIP_SET_TYPE_MASKED,
|
.flags = IRQCHIP_SET_TYPE_MASKED |
|
||||||
|
IRQCHIP_SKIP_SET_WAKE |
|
||||||
|
IRQCHIP_MASK_ON_SUSPEND,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct irq_chip gic_eoimode1_chip = {
|
static struct irq_chip gic_eoimode1_chip = {
|
||||||
|
@ -874,7 +876,9 @@ static struct irq_chip gic_eoimode1_chip = {
|
||||||
.irq_get_irqchip_state = gic_irq_get_irqchip_state,
|
.irq_get_irqchip_state = gic_irq_get_irqchip_state,
|
||||||
.irq_set_irqchip_state = gic_irq_set_irqchip_state,
|
.irq_set_irqchip_state = gic_irq_set_irqchip_state,
|
||||||
.irq_set_vcpu_affinity = gic_irq_set_vcpu_affinity,
|
.irq_set_vcpu_affinity = gic_irq_set_vcpu_affinity,
|
||||||
.flags = IRQCHIP_SET_TYPE_MASKED,
|
.flags = IRQCHIP_SET_TYPE_MASKED |
|
||||||
|
IRQCHIP_SKIP_SET_WAKE |
|
||||||
|
IRQCHIP_MASK_ON_SUSPEND,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define GIC_ID_NR (1U << GICD_TYPER_ID_BITS(gic_data.rdists.gicd_typer))
|
#define GIC_ID_NR (1U << GICD_TYPER_ID_BITS(gic_data.rdists.gicd_typer))
|
||||||
|
|
Loading…
Reference in a new issue