diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-12-02 12:28:53 -0500 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-01-03 08:11:53 -0500 |
commit | a2acfb75792511a35586db80a38b8e4701a97730 (patch) | |
tree | e031a8dc61aa93fe3f43f86647c30f151bfa9f55 /arch/x86/kernel | |
parent | 86db2e5d47bfa61a151d6ac83263f4bde4d52290 (diff) |
AMD IOMMU: add domain id free function
Impact: add code to release a domain id
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index 8a0fd3d09973..0922d5fe633c 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -571,6 +571,18 @@ static u16 domain_id_alloc(void) | |||
571 | return id; | 571 | return id; |
572 | } | 572 | } |
573 | 573 | ||
574 | #ifdef CONFIG_IOMMU_API | ||
575 | static void domain_id_free(int id) | ||
576 | { | ||
577 | unsigned long flags; | ||
578 | |||
579 | write_lock_irqsave(&amd_iommu_devtable_lock, flags); | ||
580 | if (id > 0 && id < MAX_DOMAIN_ID) | ||
581 | __clear_bit(id, amd_iommu_pd_alloc_bitmap); | ||
582 | write_unlock_irqrestore(&amd_iommu_devtable_lock, flags); | ||
583 | } | ||
584 | #endif | ||
585 | |||
574 | /* | 586 | /* |
575 | * Used to reserve address ranges in the aperture (e.g. for exclusion | 587 | * Used to reserve address ranges in the aperture (e.g. for exclusion |
576 | * ranges. | 588 | * ranges. |