GART Register/Aperture range should be reserved.
Signed-off-by: Hiroshi DOYU <redacted>
---
drivers/iommu/tegra-gart.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/drivers/iommu/tegra-gart.c b/drivers/iommu/tegra-gart.c
index 33a23b6..a431006 100644
--- a/drivers/iommu/tegra-gart.c
+++ b/drivers/iommu/tegra-gart.c
@@ -366,12 +366,18 @@ static int tegra_gart_probe(struct platform_device *pdev)
return -ENOMEM;
}
- gart_regs = devm_ioremap(dev, res->start, resource_size(res));
+ gart_regs = devm_request_and_ioremap(dev, res);
if (!gart_regs) {
dev_err(dev, "failed to remap GART registers\n");
return -ENXIO;
}
+ if (!devm_request_mem_region(dev, res_remap->start,
+ resource_size(res_remap), dev_name(dev))) {
+ dev_err(dev, "failed to reserve GART aperture\n");
+ return -EBUSY;
+ }
+
gart->dev = &pdev->dev;
spin_lock_init(&gart->pte_lock);
spin_lock_init(&gart->client_lock);--
1.7.5.4