Lines Matching refs:irte
2993 struct irte_ga *irte, struct amd_ir_data *data) in modify_irte_ga() argument
3011 irte->lo.val, irte->hi.val); in modify_irte_ga()
3032 u16 devid, int index, union irte *irte) in modify_irte() argument
3042 table->table[index] = irte->val; in modify_irte()
3072 union irte *irte = (union irte *) entry; in irte_prepare() local
3074 irte->val = 0; in irte_prepare()
3075 irte->fields.vector = vector; in irte_prepare()
3076 irte->fields.int_type = delivery_mode; in irte_prepare()
3077 irte->fields.destination = dest_apicid; in irte_prepare()
3078 irte->fields.dm = dest_mode; in irte_prepare()
3079 irte->fields.valid = 1; in irte_prepare()
3086 struct irte_ga *irte = (struct irte_ga *) entry; in irte_ga_prepare() local
3088 irte->lo.val = 0; in irte_ga_prepare()
3089 irte->hi.val = 0; in irte_ga_prepare()
3090 irte->lo.fields_remap.int_type = delivery_mode; in irte_ga_prepare()
3091 irte->lo.fields_remap.dm = dest_mode; in irte_ga_prepare()
3092 irte->hi.fields.vector = vector; in irte_ga_prepare()
3093 irte->lo.fields_remap.destination = APICID_TO_IRTE_DEST_LO(dest_apicid); in irte_ga_prepare()
3094 irte->hi.fields.destination = APICID_TO_IRTE_DEST_HI(dest_apicid); in irte_ga_prepare()
3095 irte->lo.fields_remap.valid = 1; in irte_ga_prepare()
3100 union irte *irte = (union irte *) entry; in irte_activate() local
3102 irte->fields.valid = 1; in irte_activate()
3103 modify_irte(iommu, devid, index, irte); in irte_activate()
3108 struct irte_ga *irte = (struct irte_ga *) entry; in irte_ga_activate() local
3110 irte->lo.fields_remap.valid = 1; in irte_ga_activate()
3111 modify_irte_ga(iommu, devid, index, irte, NULL); in irte_ga_activate()
3116 union irte *irte = (union irte *) entry; in irte_deactivate() local
3118 irte->fields.valid = 0; in irte_deactivate()
3119 modify_irte(iommu, devid, index, irte); in irte_deactivate()
3124 struct irte_ga *irte = (struct irte_ga *) entry; in irte_ga_deactivate() local
3126 irte->lo.fields_remap.valid = 0; in irte_ga_deactivate()
3127 modify_irte_ga(iommu, devid, index, irte, NULL); in irte_ga_deactivate()
3133 union irte *irte = (union irte *) entry; in irte_set_affinity() local
3135 irte->fields.vector = vector; in irte_set_affinity()
3136 irte->fields.destination = dest_apicid; in irte_set_affinity()
3137 modify_irte(iommu, devid, index, irte); in irte_set_affinity()
3143 struct irte_ga *irte = (struct irte_ga *) entry; in irte_ga_set_affinity() local
3145 if (!irte->lo.fields_remap.guest_mode) { in irte_ga_set_affinity()
3146 irte->hi.fields.vector = vector; in irte_ga_set_affinity()
3147 irte->lo.fields_remap.destination = in irte_ga_set_affinity()
3149 irte->hi.fields.destination = in irte_ga_set_affinity()
3151 modify_irte_ga(iommu, devid, index, irte, NULL); in irte_ga_set_affinity()
3164 struct irte_ga *irte = &ptr[index]; in irte_ga_set_allocated() local
3166 memset(&irte->lo.val, 0, sizeof(u64)); in irte_ga_set_allocated()
3167 memset(&irte->hi.val, 0, sizeof(u64)); in irte_ga_set_allocated()
3168 irte->hi.fields.vector = 0xff; in irte_ga_set_allocated()
3173 union irte *ptr = (union irte *)table->table; in irte_is_allocated()
3174 union irte *irte = &ptr[index]; in irte_is_allocated() local
3176 return irte->val != 0; in irte_is_allocated()
3182 struct irte_ga *irte = &ptr[index]; in irte_ga_is_allocated() local
3184 return irte->hi.fields.vector != 0; in irte_ga_is_allocated()
3195 struct irte_ga *irte = &ptr[index]; in irte_ga_clear_allocated() local
3197 memset(&irte->lo.val, 0, sizeof(u64)); in irte_ga_clear_allocated()
3198 memset(&irte->hi.val, 0, sizeof(u64)); in irte_ga_clear_allocated()
3371 data->entry = kzalloc(sizeof(union irte), GFP_KERNEL); in irq_remapping_alloc()