diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2009-11-20 16:44:01 +0100 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-11-27 14:16:27 +0100 |
commit | aeb26f55337d4310840c8adc3ec7d6aebb714472 (patch) | |
tree | 9ce73b81101613adf42fcee68860dc4e767e0fee /arch/x86/kernel/amd_iommu_init.c | |
parent | 601367d76bd19b7eea2286ae99e5b1cb5d74f38d (diff) | |
download | op-kernel-dev-aeb26f55337d4310840c8adc3ec7d6aebb714472.zip op-kernel-dev-aeb26f55337d4310840c8adc3ec7d6aebb714472.tar.gz |
x86/amd-iommu: Implement protection domain list
This patch adds code to keep a global list of all protection
domains. This allows to simplify the resume code.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/kernel/amd_iommu_init.c')
-rw-r--r-- | arch/x86/kernel/amd_iommu_init.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index 8567d16..73d5173 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c @@ -142,6 +142,12 @@ struct amd_iommu *amd_iommus[MAX_IOMMUS]; int amd_iommus_present; /* + * List of protection domains - used during resume + */ +LIST_HEAD(amd_iommu_pd_list); +spinlock_t amd_iommu_pd_lock; + +/* * Pointer to the device table which is shared by all AMD IOMMUs * it is indexed by the PCI device id or the HT unit id and contains * information about the domain the device belongs to as well as the @@ -1263,6 +1269,8 @@ static int __init amd_iommu_init(void) */ amd_iommu_pd_alloc_bitmap[0] = 1; + spin_lock_init(&amd_iommu_pd_lock); + /* * now the data structures are allocated and basically initialized * start the real acpi table scan |