浏览代码

iommu/tegra: Implement DOMAIN_ATTR_GEOMETRY attribute

Implement the attribute for the Tegra IOMMU drivers.

Signed-off-by: Hiroshi DOYU <hdoyu@nvidia.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Hiroshi DOYU 13 年之前
父节点
当前提交
23349902ed
共有 2 个文件被更改,包括 10 次插入0 次删除
  1. 5 0
      drivers/iommu/tegra-gart.c
  2. 5 0
      drivers/iommu/tegra-smmu.c

+ 5 - 0
drivers/iommu/tegra-gart.c

@@ -165,6 +165,11 @@ static int gart_iommu_attach_dev(struct iommu_domain *domain,
 		return -EINVAL;
 		return -EINVAL;
 	domain->priv = gart;
 	domain->priv = gart;
 
 
+	domain->geometry.aperture_start = gart->iovmm_base;
+	domain->geometry.aperture_end   = gart->iovmm_base +
+					gart->page_count * GART_PAGE_SIZE - 1;
+	domain->geometry.force_aperture = true;
+
 	client = devm_kzalloc(gart->dev, sizeof(*c), GFP_KERNEL);
 	client = devm_kzalloc(gart->dev, sizeof(*c), GFP_KERNEL);
 	if (!client)
 	if (!client)
 		return -ENOMEM;
 		return -ENOMEM;

+ 5 - 0
drivers/iommu/tegra-smmu.c

@@ -807,6 +807,11 @@ found:
 	spin_unlock_irqrestore(&as->lock, flags);
 	spin_unlock_irqrestore(&as->lock, flags);
 	domain->priv = as;
 	domain->priv = as;
 
 
+	domain->geometry.aperture_start = smmu->iovmm_base;
+	domain->geometry.aperture_end   = smmu->iovmm_base +
+		smmu->page_count * SMMU_PAGE_SIZE - 1;
+	domain->geometry.force_aperture = true;
+
 	dev_dbg(smmu->dev, "smmu_as@%p\n", as);
 	dev_dbg(smmu->dev, "smmu_as@%p\n", as);
 	return 0;
 	return 0;