aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu.c
diff options
context:
space:
mode:
authorSheng Yang <sheng@linux.intel.com>2009-03-18 03:33:06 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2009-03-24 05:42:51 -0400
commitdbb9fd8630e95b6155aff658a2b5f80e95ca2bc6 (patch)
treeb24caff50e1c5bfb428cb7422608bfef95d916e8 /arch/x86/kernel/amd_iommu.c
parent58c610bd1a3f50820e45a7c09ec0e44d2cda15dd (diff)
iommu: Add domain_has_cap iommu_ops
This iommu_op can tell if domain have a specific capability, like snooping control for Intel IOMMU, which can be used by other components of kernel to adjust the behaviour. Signed-off-by: Sheng Yang <sheng@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'arch/x86/kernel/amd_iommu.c')
-rw-r--r--arch/x86/kernel/amd_iommu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
index 5113c080f0c4..65c9b58655ff 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -1924,6 +1924,12 @@ static phys_addr_t amd_iommu_iova_to_phys(struct iommu_domain *dom,
1924 return paddr; 1924 return paddr;
1925} 1925}
1926 1926
1927static int amd_iommu_domain_has_cap(struct iommu_domain *domain,
1928 unsigned long cap)
1929{
1930 return 0;
1931}
1932
1927static struct iommu_ops amd_iommu_ops = { 1933static struct iommu_ops amd_iommu_ops = {
1928 .domain_init = amd_iommu_domain_init, 1934 .domain_init = amd_iommu_domain_init,
1929 .domain_destroy = amd_iommu_domain_destroy, 1935 .domain_destroy = amd_iommu_domain_destroy,
@@ -1932,5 +1938,6 @@ static struct iommu_ops amd_iommu_ops = {
1932 .map = amd_iommu_map_range, 1938 .map = amd_iommu_map_range,
1933 .unmap = amd_iommu_unmap_range, 1939 .unmap = amd_iommu_unmap_range,
1934 .iova_to_phys = amd_iommu_iova_to_phys, 1940 .iova_to_phys = amd_iommu_iova_to_phys,
1941 .domain_has_cap = amd_iommu_domain_has_cap,
1935}; 1942};
1936 1943