From: Joerg Roedel <joerg.roedel@amd.com>
Date: Tue, 2 Dec 2008 17:28:53 +0000 (+0100)
Subject: AMD IOMMU: add domain id free function
X-Git-Tag: firefly_0821_release~16422^2~1^2~42
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a2acfb75792511a35586db80a38b8e4701a97730;p=firefly-linux-kernel-4.4.55.git

AMD IOMMU: add domain id free function

Impact: add code to release a domain id

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
---

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)
 	return id;
 }
 
+#ifdef CONFIG_IOMMU_API
+static void domain_id_free(int id)
+{
+	unsigned long flags;
+
+	write_lock_irqsave(&amd_iommu_devtable_lock, flags);
+	if (id > 0 && id < MAX_DOMAIN_ID)
+		__clear_bit(id, amd_iommu_pd_alloc_bitmap);
+	write_unlock_irqrestore(&amd_iommu_devtable_lock, flags);
+}
+#endif
+
 /*
  * Used to reserve address ranges in the aperture (e.g. for exclusion
  * ranges.