Home
last modified time | relevance | path

Searched refs:irte (Results 1 – 12 of 12) sorted by relevance

/openbmc/linux/drivers/iommu/intel/
H A Dirq_remapping.c56 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()
[all …]
H A Ddebugfs.c460 struct irte *ri_entry; in ir_tbl_remap_entry_show()
484 struct irte *pi_entry; in ir_tbl_posted_entry_show()
H A Diommu.h510 struct irte *base;
/openbmc/linux/drivers/parisc/
H A Diosapic.c158 #define COMPARE_IRTE_ADDR(irte, hpa) ((irte)->dest_iosapic_addr == (hpa)) argument
160 #define COMPARE_IRTE_ADDR(irte, hpa) \ argument
161 ((irte)->dest_iosapic_addr == ((hpa) | 0xffffffff00000000ULL))
554 struct irt_entry *p = vi->irte; in iosapic_set_irt_data()
700 struct irt_entry *irte = NULL; /* only used if PAT PDC */ in iosapic_fixup_irq() local
730 irte = iosapic_xlate_pin(isi, pcidev); in iosapic_fixup_irq()
731 if (!irte) { in iosapic_fixup_irq()
737 irte, in iosapic_fixup_irq()
738 irte->entry_type, in iosapic_fixup_irq()
739 irte->entry_length, in iosapic_fixup_irq()
[all …]
H A Diosapic_private.h120 struct irt_entry *irte; /* IRT entry */ member
/openbmc/linux/drivers/iommu/amd/
H A Diommu.c3069 struct irte_ga *irte) in modify_irte_ga() argument
3091 old = entry->irte; in modify_irte_ga()
3092 WARN_ON(!try_cmpxchg128(&entry->irte, &old, irte->irte)); in modify_irte_ga()
3102 u16 devid, int index, union irte *irte) in modify_irte() argument
3112 table->table[index] = irte->val; in modify_irte()
3140 union irte *irte = (union irte *) entry; in irte_prepare() local
3142 irte->val = 0; in irte_prepare()
3143 irte->fields.vector = vector; in irte_prepare()
3144 irte->fields.int_type = delivery_mode; in irte_prepare()
3145 irte->fields.destination = dest_apicid; in irte_prepare()
[all …]
H A Damd_iommu_types.h943 union irte { union
1010 u128 irte; member
/openbmc/qemu/hw/i386/
H A Damd_iommu.c1069 union irte *irte, uint16_t devid) in amdvi_get_irte() argument
1079 irte, sizeof(*irte), MEMTXATTRS_UNSPECIFIED)) { in amdvi_get_irte()
1084 trace_amdvi_ir_irte_val(irte->val); in amdvi_get_irte()
1097 union irte irte; in amdvi_int_remap_legacy() local
1100 ret = amdvi_get_irte(iommu, origin, dte, &irte, sid); in amdvi_int_remap_legacy()
1105 if (!irte.fields.valid) { in amdvi_int_remap_legacy()
1110 if (irte.fields.guest_mode) { in amdvi_int_remap_legacy()
1115 if (irte.fields.int_type > AMDVI_IOAPIC_INT_TYPE_ARBITRATED) { in amdvi_int_remap_legacy()
1120 irq->delivery_mode = irte.fields.int_type; in amdvi_int_remap_legacy()
1121 irq->vector = irte.fields.vector; in amdvi_int_remap_legacy()
[all …]
H A Dintel_iommu.c3466 if (entry->irte.fault_disable) { in vtd_irte_get()
3470 if (!entry->irte.present) { in vtd_irte_get()
3480 if (entry->irte.__reserved_0 || entry->irte.__reserved_1 || in vtd_irte_get()
3481 entry->irte.__reserved_2) { in vtd_irte_get()
3493 source_id = entry->irte.source_id; in vtd_irte_get()
3494 switch (entry->irte.sid_vtype) { in vtd_irte_get()
3499 mask = vtd_svt_mask[entry->irte.sid_q]; in vtd_irte_get()
3529 index, entry->irte.sid_vtype); in vtd_irte_get()
3545 VTD_IR_TableEntry irte = {}; in vtd_remap_irq_get() local
3547 if (!vtd_irte_get(iommu, index, &irte, sid, do_fault)) { in vtd_remap_irq_get()
[all …]
H A Damd_iommu.h252 union irte { union
/openbmc/linux/include/linux/
H A Ddmar.h201 struct irte { struct
269 __u128 irte; member
274 static inline void dmar_copy_shared_irte(struct irte *dst, struct irte *src) in dmar_copy_shared_irte()
/openbmc/qemu/include/hw/i386/
H A Dintel_iommu.h218 } QEMU_PACKED irte; member