Lines Matching refs:lr_desc
49 struct vgic_lr lr_desc; in vgic_v3_get_lr() local
53 lr_desc.irq = val & ICH_LR_VIRTUALID_MASK; in vgic_v3_get_lr()
55 lr_desc.irq = val & GICH_LR_VIRTUALID; in vgic_v3_get_lr()
57 lr_desc.source = 0; in vgic_v3_get_lr()
58 if (lr_desc.irq <= 15 && in vgic_v3_get_lr()
60 lr_desc.source = (val >> GICH_LR_PHYSID_CPUID_SHIFT) & 0x7; in vgic_v3_get_lr()
62 lr_desc.state = 0; in vgic_v3_get_lr()
65 lr_desc.state |= LR_STATE_PENDING; in vgic_v3_get_lr()
67 lr_desc.state |= LR_STATE_ACTIVE; in vgic_v3_get_lr()
69 lr_desc.state |= LR_EOI_INT; in vgic_v3_get_lr()
71 lr_desc.state |= LR_HW; in vgic_v3_get_lr()
72 lr_desc.hwirq = (val >> ICH_LR_PHYS_ID_SHIFT) & GENMASK(9, 0); in vgic_v3_get_lr()
75 return lr_desc; in vgic_v3_get_lr()
79 struct vgic_lr lr_desc) in vgic_v3_set_lr() argument
83 lr_val = lr_desc.irq; in vgic_v3_set_lr()
96 if (lr_desc.irq < VGIC_NR_SGIS) in vgic_v3_set_lr()
97 lr_val |= (u32)lr_desc.source << GICH_LR_PHYSID_CPUID_SHIFT; in vgic_v3_set_lr()
103 if (lr_desc.state & LR_STATE_PENDING) in vgic_v3_set_lr()
105 if (lr_desc.state & LR_STATE_ACTIVE) in vgic_v3_set_lr()
107 if (lr_desc.state & LR_EOI_INT) in vgic_v3_set_lr()
109 if (lr_desc.state & LR_HW) { in vgic_v3_set_lr()
111 lr_val |= ((u64)lr_desc.hwirq) << ICH_LR_PHYS_ID_SHIFT; in vgic_v3_set_lr()
116 if (!(lr_desc.state & LR_STATE_MASK)) in vgic_v3_set_lr()