Skip to content

Commit

Permalink
AMD IOMMU: add domain cleanup helper function
Browse files Browse the repository at this point in the history
Impact: add a function to remove all devices from a domain

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
  • Loading branch information
Joerg Roedel committed Jan 3, 2009
1 parent e275a2a commit 6d98cd8
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions arch/x86/kernel/amd_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -1579,3 +1579,31 @@ int __init amd_iommu_init_dma_ops(void)

return ret;
}

/*****************************************************************************
*
* The following functions belong to the exported interface of AMD IOMMU
*
* This interface allows access to lower level functions of the IOMMU
* like protection domain handling and assignement of devices to domains
* which is not possible with the dma_ops interface.
*
*****************************************************************************/

#ifdef CONFIG_IOMMU_API

static void cleanup_domain(struct protection_domain *domain)
{
unsigned long flags;
u16 devid;

write_lock_irqsave(&amd_iommu_devtable_lock, flags);

for (devid = 0; devid <= amd_iommu_last_bdf; ++devid)
if (amd_iommu_pd_table[devid] == domain)
__detach_device(domain, devid);

write_unlock_irqrestore(&amd_iommu_devtable_lock, flags);
}

#endif

0 comments on commit 6d98cd8

Please sign in to comment.