Lines Matching refs:iommu

160     struct amd_iommu *iommu,  in update_intremap_entry_from_ioapic()  argument
172 req_id = get_intremap_requestor_id(iommu->seg, bdf); in update_intremap_entry_from_ioapic()
173 lock = get_intremap_lock(iommu->seg, req_id); in update_intremap_entry_from_ioapic()
185 offset = alloc_intremap_entry(iommu->seg, req_id, 1); in update_intremap_entry_from_ioapic()
196 entry = get_intremap_entry(iommu->seg, req_id, offset); in update_intremap_entry_from_ioapic()
215 if ( iommu->enabled ) in update_intremap_entry_from_ioapic()
217 spin_lock_irqsave(&iommu->lock, flags); in update_intremap_entry_from_ioapic()
218 amd_iommu_flush_intremap(iommu, req_id); in update_intremap_entry_from_ioapic()
219 spin_unlock_irqrestore(&iommu->lock, flags); in update_intremap_entry_from_ioapic()
235 struct amd_iommu *iommu; in amd_iommu_setup_ioapic_remapping() local
257 iommu = find_iommu_for_device(seg, bdf); in amd_iommu_setup_ioapic_remapping()
258 if ( !iommu ) in amd_iommu_setup_ioapic_remapping()
265 req_id = get_intremap_requestor_id(iommu->seg, bdf); in amd_iommu_setup_ioapic_remapping()
266 lock = get_intremap_lock(iommu->seg, req_id); in amd_iommu_setup_ioapic_remapping()
276 entry = get_intremap_entry(iommu->seg, req_id, offset); in amd_iommu_setup_ioapic_remapping()
285 if ( iommu->enabled ) in amd_iommu_setup_ioapic_remapping()
287 spin_lock_irqsave(&iommu->lock, flags); in amd_iommu_setup_ioapic_remapping()
288 amd_iommu_flush_intremap(iommu, req_id); in amd_iommu_setup_ioapic_remapping()
289 spin_unlock_irqrestore(&iommu->lock, flags); in amd_iommu_setup_ioapic_remapping()
308 struct amd_iommu *iommu; in amd_iommu_ioapic_update_ire() local
324 iommu = find_iommu_for_device(seg, bdf); in amd_iommu_ioapic_update_ire()
325 if ( !iommu ) in amd_iommu_ioapic_update_ire()
366 bdf, iommu, &new_rte, reg == rte_lo, in amd_iommu_ioapic_update_ire()
426 struct amd_iommu *iommu, u16 bdf, unsigned int nr, in update_intremap_entry_from_msi_msg() argument
436 req_id = get_dma_requestor_id(iommu->seg, bdf); in update_intremap_entry_from_msi_msg()
437 alias_id = get_intremap_requestor_id(iommu->seg, bdf); in update_intremap_entry_from_msi_msg()
441 lock = get_intremap_lock(iommu->seg, req_id); in update_intremap_entry_from_msi_msg()
444 free_intremap_entry(iommu->seg, req_id, *remap_index + i); in update_intremap_entry_from_msi_msg()
449 lock = get_intremap_lock(iommu->seg, req_id); in update_intremap_entry_from_msi_msg()
460 offset = alloc_intremap_entry(iommu->seg, bdf, nr); in update_intremap_entry_from_msi_msg()
469 entry = get_intremap_entry(iommu->seg, req_id, offset); in update_intremap_entry_from_msi_msg()
483 get_ivrs_mappings(iommu->seg)[alias_id].intremap_table != NULL ) in update_intremap_entry_from_msi_msg()
485 BUG_ON(get_ivrs_mappings(iommu->seg)[req_id].intremap_table != in update_intremap_entry_from_msi_msg()
486 get_ivrs_mappings(iommu->seg)[alias_id].intremap_table); in update_intremap_entry_from_msi_msg()
490 if ( iommu->enabled ) in update_intremap_entry_from_msi_msg()
492 spin_lock_irqsave(&iommu->lock, flags); in update_intremap_entry_from_msi_msg()
493 amd_iommu_flush_intremap(iommu, req_id); in update_intremap_entry_from_msi_msg()
495 amd_iommu_flush_intremap(iommu, alias_id); in update_intremap_entry_from_msi_msg()
496 spin_unlock_irqrestore(&iommu->lock, flags); in update_intremap_entry_from_msi_msg()
504 struct amd_iommu *iommu; in _find_iommu_for_device() local
506 list_for_each_entry ( iommu, &amd_iommu_head, list ) in _find_iommu_for_device()
507 if ( iommu->seg == seg && iommu->bdf == bdf ) in _find_iommu_for_device()
510 iommu = find_iommu_for_device(seg, bdf); in _find_iommu_for_device()
511 if ( iommu ) in _find_iommu_for_device()
512 return iommu; in _find_iommu_for_device()
524 struct amd_iommu *iommu; in amd_iommu_msi_msg_update_ire() local
531 iommu = _find_iommu_for_device(seg, bdf); in amd_iommu_msi_msg_update_ire()
532 if ( IS_ERR_OR_NULL(iommu) ) in amd_iommu_msi_msg_update_ire()
533 return PTR_ERR(iommu); in amd_iommu_msi_msg_update_ire()
541 update_intremap_entry_from_msi_msg(iommu, bdf, nr, in amd_iommu_msi_msg_update_ire()
559 rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr, in amd_iommu_msi_msg_update_ire()