Lines Matching refs:irte

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