Lines Matching refs:irte

56 	struct irte				irte_entry;
160 struct irte *irte_modified) in modify_irte()
164 struct irte *irte; in modify_irte() local
175 irte = &iommu->ir_table->base[index]; in modify_irte()
177 if ((irte->pst == 1) || (irte_modified->pst == 1)) { in modify_irte()
184 u128 old = irte->irte; in modify_irte()
185 WARN_ON(!try_cmpxchg128(&irte->irte, &old, irte_modified->irte)); in modify_irte()
187 WRITE_ONCE(irte->low, irte_modified->low); in modify_irte()
188 WRITE_ONCE(irte->high, irte_modified->high); in modify_irte()
190 __iommu_flush_cache(iommu, irte, sizeof(*irte)); in modify_irte()
195 irq_iommu->mode = irte->pst ? IRQ_POSTING : IRQ_REMAPPING; in modify_irte()
232 struct irte *start, *entry, *end; in clear_entries()
280 static void set_irte_sid(struct irte *irte, unsigned int svt, in set_irte_sid() argument
285 irte->svt = svt; in set_irte_sid()
286 irte->sq = sq; in set_irte_sid()
287 irte->sid = sid; in set_irte_sid()
295 static void set_irte_verify_bus(struct irte *irte, unsigned int start_bus, in set_irte_verify_bus() argument
298 set_irte_sid(irte, SVT_VERIFY_BUS, SQ_ALL_16, in set_irte_verify_bus()
302 static int set_ioapic_sid(struct irte *irte, int apic) in set_ioapic_sid() argument
307 if (!irte) in set_ioapic_sid()
322 set_irte_sid(irte, SVT_VERIFY_SID_SQ, SQ_ALL_16, sid); in set_ioapic_sid()
327 static int set_hpet_sid(struct irte *irte, u8 id) in set_hpet_sid() argument
332 if (!irte) in set_hpet_sid()
352 set_irte_sid(irte, SVT_VERIFY_SID_SQ, SQ_13_IGNORE_3, sid); in set_hpet_sid()
378 static int set_msi_sid(struct irte *irte, struct pci_dev *dev) in set_msi_sid() argument
382 if (!irte || !dev) in set_msi_sid()
408 set_irte_verify_bus(irte, PCI_BUS_NUM(data.alias), in set_msi_sid()
411 set_irte_verify_bus(irte, dev->bus->number, dev->bus->number); in set_msi_sid()
413 set_irte_sid(irte, SVT_VERIFY_SID_SQ, SQ_ALL_16, data.alias); in set_msi_sid()
415 set_irte_sid(irte, SVT_VERIFY_SID_SQ, SQ_ALL_16, in set_msi_sid()
423 struct irte *old_ir_table; in iommu_load_old_irte()
436 size = INTR_REMAP_TABLE_ENTRIES*sizeof(struct irte); in iommu_load_old_irte()
1101 static void prepare_irte(struct irte *irte, int vector, unsigned int dest) in prepare_irte() argument
1103 memset(irte, 0, sizeof(*irte)); in prepare_irte()
1105 irte->present = 1; in prepare_irte()
1106 irte->dst_mode = apic->dest_mode_logical; in prepare_irte()
1114 irte->trigger_mode = 0; in prepare_irte()
1115 irte->dlvry_mode = apic->delivery_mode; in prepare_irte()
1116 irte->vector = vector; in prepare_irte()
1117 irte->dest_id = IRTE_DEST(dest); in prepare_irte()
1118 irte->redir_hint = 1; in prepare_irte()
1132 struct irte *irte = &ir_data->irte_entry; in intel_ir_reconfigure_irte() local
1139 irte->vector = cfg->vector; in intel_ir_reconfigure_irte()
1140 irte->dest_id = IRTE_DEST(cfg->dest_apicid); in intel_ir_reconfigure_irte()
1144 modify_irte(&ir_data->irq_2_iommu, irte); in intel_ir_reconfigure_irte()
1201 struct irte irte_pi; in intel_ir_set_vcpu_affinity()
1256 struct irte *irte = &data->irte_entry; in intel_irq_remapping_prepare_irte() local
1258 prepare_irte(irte, irq_cfg->vector, irq_cfg->dest_apicid); in intel_irq_remapping_prepare_irte()
1263 set_ioapic_sid(irte, info->devid); in intel_irq_remapping_prepare_irte()
1265 info->devid, irte->present, irte->fpd, in intel_irq_remapping_prepare_irte()
1266 irte->dst_mode, irte->redir_hint, in intel_irq_remapping_prepare_irte()
1267 irte->trigger_mode, irte->dlvry_mode, in intel_irq_remapping_prepare_irte()
1268 irte->avail, irte->vector, irte->dest_id, in intel_irq_remapping_prepare_irte()
1269 irte->sid, irte->sq, irte->svt); in intel_irq_remapping_prepare_irte()
1273 set_hpet_sid(irte, info->devid); in intel_irq_remapping_prepare_irte()
1277 set_msi_sid(irte, in intel_irq_remapping_prepare_irte()
1395 struct irte entry; in intel_irq_remapping_deactivate()