iommu/amd: Implement DOMAIN_ATTR_GEOMETRY attribute

Implement the attribute itself and add the code for the
AMD IOMMU driver.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
Joerg Roedel
2012-01-26 19:40:53 +01:00
parent 0cd76dd13b
commit 0ff64f80e0
3 changed files with 28 additions and 3 deletions

View File

@@ -348,10 +348,23 @@ EXPORT_SYMBOL_GPL(iommu_device_group);
int iommu_domain_get_attr(struct iommu_domain *domain,
enum iommu_attr attr, void *data)
{
if (!domain->ops->domain_get_attr)
return -EINVAL;
struct iommu_domain_geometry *geometry;
int ret = 0;
return domain->ops->domain_get_attr(domain, attr, data);
switch (attr) {
case DOMAIN_ATTR_GEOMETRY:
geometry = data;
*geometry = domain->geometry;
break;
default:
if (!domain->ops->domain_get_attr)
return -EINVAL;
ret = domain->ops->domain_get_attr(domain, attr, data);
}
return ret;
}
EXPORT_SYMBOL_GPL(iommu_domain_get_attr);