Can be derived from virt_id.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
lr = irq->virt_id;
lr |= GICH_LR_PENDING_BIT;
- if (irq->hw) {
+ if (!is_sgi(irq->virt_id)) {
lr |= GICH_LR_HW_BIT;
lr |= irq->type.irq << GICH_LR_PHYS_ID_SHIFT;
} else {
/* Only group 1 interrupts */
lr |= ICH_LR_GROUP_BIT;
lr |= ICH_LR_PENDING;
- if (irq->hw) {
+ if (!is_sgi(irq->virt_id)) {
lr |= ICH_LR_HW_BIT;
lr |= (u64)irq->type.irq << ICH_LR_PHYS_ID_SHIFT;
}
struct pending_irq {
u32 virt_id;
- u8 hw;
union {
/* Physical id, when hw is 1 */
u16 irq;
pending.virt_id = irq_id;
if (is_sgi(irq_id)) {
- pending.hw = 0;
pending.type.sgi.cpuid = 0;
} else {
- pending.hw = 1;
pending.type.irq = irq_id;
}