Lines Matching refs:lr_desc
35 struct vgic_lr lr_desc; in vgic_v2_get_lr() local
38 lr_desc.irq = val & GICH_LR_VIRTUALID; in vgic_v2_get_lr()
39 if (lr_desc.irq <= 15) in vgic_v2_get_lr()
40 lr_desc.source = (val >> GICH_LR_PHYSID_CPUID_SHIFT) & 0x7; in vgic_v2_get_lr()
42 lr_desc.source = 0; in vgic_v2_get_lr()
43 lr_desc.state = 0; in vgic_v2_get_lr()
46 lr_desc.state |= LR_STATE_PENDING; in vgic_v2_get_lr()
48 lr_desc.state |= LR_STATE_ACTIVE; in vgic_v2_get_lr()
50 lr_desc.state |= LR_EOI_INT; in vgic_v2_get_lr()
52 lr_desc.state |= LR_HW; in vgic_v2_get_lr()
53 lr_desc.hwirq = (val & GICH_LR_PHYSID_CPUID) >> GICH_LR_PHYSID_CPUID_SHIFT; in vgic_v2_get_lr()
56 return lr_desc; in vgic_v2_get_lr()
60 struct vgic_lr lr_desc) in vgic_v2_set_lr() argument
64 lr_val = lr_desc.irq; in vgic_v2_set_lr()
66 if (lr_desc.state & LR_STATE_PENDING) in vgic_v2_set_lr()
68 if (lr_desc.state & LR_STATE_ACTIVE) in vgic_v2_set_lr()
70 if (lr_desc.state & LR_EOI_INT) in vgic_v2_set_lr()
73 if (lr_desc.state & LR_HW) { in vgic_v2_set_lr()
75 lr_val |= (u32)lr_desc.hwirq << GICH_LR_PHYSID_CPUID_SHIFT; in vgic_v2_set_lr()
78 if (lr_desc.irq < VGIC_NR_SGIS) in vgic_v2_set_lr()
79 lr_val |= (lr_desc.source << GICH_LR_PHYSID_CPUID_SHIFT); in vgic_v2_set_lr()
83 if (!(lr_desc.state & LR_STATE_MASK)) in vgic_v2_set_lr()