Lines Matching refs:irte
56 struct irte irte_entry;
159 struct irte *irte_modified) in modify_irte()
163 struct irte *irte; in modify_irte() local
174 irte = &iommu->ir_table->base[index]; in modify_irte()
177 if ((irte->pst == 1) || (irte_modified->pst == 1)) { in modify_irte()
180 ret = cmpxchg_double(&irte->low, &irte->high, in modify_irte()
181 irte->low, irte->high, in modify_irte()
193 set_64bit(&irte->low, irte_modified->low); in modify_irte()
194 set_64bit(&irte->high, irte_modified->high); in modify_irte()
196 __iommu_flush_cache(iommu, irte, sizeof(*irte)); in modify_irte()
201 irq_iommu->mode = irte->pst ? IRQ_POSTING : IRQ_REMAPPING; in modify_irte()
245 struct irte *start, *entry, *end; in clear_entries()
293 static void set_irte_sid(struct irte *irte, unsigned int svt, in set_irte_sid() argument
298 irte->svt = svt; in set_irte_sid()
299 irte->sq = sq; in set_irte_sid()
300 irte->sid = sid; in set_irte_sid()
308 static void set_irte_verify_bus(struct irte *irte, unsigned int start_bus, in set_irte_verify_bus() argument
311 set_irte_sid(irte, SVT_VERIFY_BUS, SQ_ALL_16, in set_irte_verify_bus()
315 static int set_ioapic_sid(struct irte *irte, int apic) in set_ioapic_sid() argument
320 if (!irte) in set_ioapic_sid()
337 set_irte_sid(irte, SVT_VERIFY_SID_SQ, SQ_ALL_16, sid); in set_ioapic_sid()
342 static int set_hpet_sid(struct irte *irte, u8 id) in set_hpet_sid() argument
347 if (!irte) in set_hpet_sid()
369 set_irte_sid(irte, SVT_VERIFY_SID_SQ, SQ_13_IGNORE_3, sid); in set_hpet_sid()
395 static int set_msi_sid(struct irte *irte, struct pci_dev *dev) in set_msi_sid() argument
399 if (!irte || !dev) in set_msi_sid()
425 set_irte_verify_bus(irte, PCI_BUS_NUM(data.alias), in set_msi_sid()
428 set_irte_verify_bus(irte, dev->bus->number, dev->bus->number); in set_msi_sid()
430 set_irte_sid(irte, SVT_VERIFY_SID_SQ, SQ_ALL_16, data.alias); in set_msi_sid()
432 set_irte_sid(irte, SVT_VERIFY_SID_SQ, SQ_ALL_16, in set_msi_sid()
440 struct irte *old_ir_table; in iommu_load_old_irte()
453 size = INTR_REMAP_TABLE_ENTRIES*sizeof(struct irte); in iommu_load_old_irte()
1118 static void prepare_irte(struct irte *irte, int vector, unsigned int dest) in prepare_irte() argument
1120 memset(irte, 0, sizeof(*irte)); in prepare_irte()
1122 irte->present = 1; in prepare_irte()
1123 irte->dst_mode = apic->irq_dest_mode; in prepare_irte()
1131 irte->trigger_mode = 0; in prepare_irte()
1132 irte->dlvry_mode = apic->irq_delivery_mode; in prepare_irte()
1133 irte->vector = vector; in prepare_irte()
1134 irte->dest_id = IRTE_DEST(dest); in prepare_irte()
1135 irte->redir_hint = 1; in prepare_irte()
1166 struct irte *irte = &ir_data->irte_entry; in intel_ir_reconfigure_irte() local
1173 irte->vector = cfg->vector; in intel_ir_reconfigure_irte()
1174 irte->dest_id = IRTE_DEST(cfg->dest_apicid); in intel_ir_reconfigure_irte()
1178 modify_irte(&ir_data->irq_2_iommu, irte); in intel_ir_reconfigure_irte()
1235 struct irte irte_pi; in intel_ir_set_vcpu_affinity()
1276 struct irte *irte = &data->irte_entry; in intel_irq_remapping_prepare_irte() local
1279 prepare_irte(irte, irq_cfg->vector, irq_cfg->dest_apicid); in intel_irq_remapping_prepare_irte()
1283 set_ioapic_sid(irte, info->devid); in intel_irq_remapping_prepare_irte()
1285 info->devid, irte->present, irte->fpd, in intel_irq_remapping_prepare_irte()
1286 irte->dst_mode, irte->redir_hint, in intel_irq_remapping_prepare_irte()
1287 irte->trigger_mode, irte->dlvry_mode, in intel_irq_remapping_prepare_irte()
1288 irte->avail, irte->vector, irte->dest_id, in intel_irq_remapping_prepare_irte()
1289 irte->sid, irte->sq, irte->svt); in intel_irq_remapping_prepare_irte()
1314 set_hpet_sid(irte, info->devid); in intel_irq_remapping_prepare_irte()
1316 set_msi_sid(irte, msi_desc_to_pci_dev(info->desc)); in intel_irq_remapping_prepare_irte()
1450 struct irte entry; in intel_irq_remapping_deactivate()