diff options
author | Joerg Roedel <jroedel@suse.de> | 2015-05-28 18:41:33 +0200 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2015-06-09 08:55:23 +0200 |
commit | a1015c2b99b94cf521603b41debf167114031456 (patch) | |
tree | 9d088f6fd69a45acd0d5c40031845561f6d06064 /drivers/iommu/iommu.c | |
parent | 2c1296d92ac0367364bcb73a43c12a0bdfbfee75 (diff) | |
download | op-kernel-dev-a1015c2b99b94cf521603b41debf167114031456.zip op-kernel-dev-a1015c2b99b94cf521603b41debf167114031456.tar.gz |
iommu: Introduce direct mapped region handling
Add two new functions to the IOMMU-API to allow the IOMMU
drivers to export the requirements for direct mapped regions
per device.
This is useful for exporting the information in Intel VT-d's
RMRR entries or AMD-Vi's unity mappings.
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/iommu.c')
-rw-r--r-- | drivers/iommu/iommu.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index a0a38bd..6b8d6e7 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -1469,3 +1469,19 @@ int iommu_domain_set_attr(struct iommu_domain *domain, return ret; } EXPORT_SYMBOL_GPL(iommu_domain_set_attr); + +void iommu_get_dm_regions(struct device *dev, struct list_head *list) +{ + const struct iommu_ops *ops = dev->bus->iommu_ops; + + if (ops && ops->get_dm_regions) + ops->get_dm_regions(dev, list); +} + +void iommu_put_dm_regions(struct device *dev, struct list_head *list) +{ + const struct iommu_ops *ops = dev->bus->iommu_ops; + + if (ops && ops->put_dm_regions) + ops->put_dm_regions(dev, list); +} |