It was always cleared.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
lr |= irq->type.irq << GICH_LR_PHYS_ID_SHIFT;
} else {
lr |= irq->type.sgi.cpuid << GICH_LR_CPUID_SHIFT;
- if (irq->type.sgi.maintenance)
- lr |= GICH_LR_SGI_EOI_BIT;
}
gic_write_lr(first_free, lr);
if (irq->hw) {
lr |= ICH_LR_HW_BIT;
lr |= (u64)irq->type.irq << ICH_LR_PHYS_ID_SHIFT;
- } else if (irq->type.sgi.maintenance) {
- lr |= ICH_LR_SGI_EOI;
}
gic_write_lr(free_lr, lr);
struct {
/* GICv2 needs cpuid for SGIs */
u16 cpuid : 15;
- /* EOI generates a maintenance irq */
- u16 maintenance : 1;
} sgi __attribute__((packed));
} type;
if (is_sgi(irq_id)) {
pending.hw = 0;
- pending.type.sgi.maintenance = 0;
pending.type.sgi.cpuid = 0;
} else {
pending.hw = 1;