diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2009-11-23 15:26:46 +0100 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-11-27 14:20:32 +0100 |
commit | 657cbb6b6cba0f9c98c5299e0c803b2c0e67ea0a (patch) | |
tree | 529b149cbb5d1d80ea0b7cd37e0a638441aaf69e /arch/x86/include | |
parent | 8793abeb783c12cc37f92f6133fd6468152b98df (diff) |
x86/amd-iommu: Use dev->arch->iommu to store iommu related information
This patch changes IOMMU code to use dev->archdata->iommu to
store information about the alias device and the domain the
device is attached to.
This allows the driver to get rid of the amd_iommu_pd_table
in the future.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/amd_iommu_types.h | 8 | ||||
-rw-r--r-- | arch/x86/include/asm/device.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/arch/x86/include/asm/amd_iommu_types.h b/arch/x86/include/asm/amd_iommu_types.h index 02b6a0fd863c..9eaa27b46860 100644 --- a/arch/x86/include/asm/amd_iommu_types.h +++ b/arch/x86/include/asm/amd_iommu_types.h @@ -248,6 +248,14 @@ struct protection_domain { }; /* + * This struct contains device specific data for the IOMMU + */ +struct iommu_dev_data { + struct device *alias; /* The Alias Device */ + struct protection_domain *domain; /* Domain the device is bound to */ +}; + +/* * For dynamic growth the aperture size is split into ranges of 128MB of * DMA address space each. This struct represents one such range. */ diff --git a/arch/x86/include/asm/device.h b/arch/x86/include/asm/device.h index cee34e9ca45b..029f230ab637 100644 --- a/arch/x86/include/asm/device.h +++ b/arch/x86/include/asm/device.h @@ -8,7 +8,7 @@ struct dev_archdata { #ifdef CONFIG_X86_64 struct dma_map_ops *dma_ops; #endif -#ifdef CONFIG_DMAR +#if defined(CONFIG_DMAR) || defined(CONFIG_AMD_IOMMU) void *iommu; /* hook for IOMMU specific extension */ #endif }; |