aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Osipenko <digetx@gmail.com>2018-05-19 04:07:10 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-08-24 13:07:03 +0200
commitdd6a05c921c6d2aaa589e3b0af98144110acdaef (patch)
tree088a45d20751574df6a9e55b3fc4d22bbd2d5441
parent054b9b5cd6788ac7cdc749619b8576385811532a (diff)
downloadlinux-dd6a05c921c6d2aaa589e3b0af98144110acdaef.tar.gz
gpu: host1x: Skip IOMMU initialization if firewall is enabled
[ Upstream commit 4466b1f0e022f94a026bd700fee34bff15cdc4ef ] Host1x's CDMA can't access the command buffers if IOMMU and Host1x firewall are enabled in the kernels config because firewall doesn't map the copied buffer into IOVA space. Fix this by skipping IOMMU initialization if firewall is enabled as firewall merges sparse cmdbufs into a single contiguous buffer and hence IOMMU isn't needed in this case. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/host1x/dev.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
index f1d5f76e9c33d8..d88073e7d22ddd 100644
--- a/drivers/gpu/host1x/dev.c
+++ b/drivers/gpu/host1x/dev.c
@@ -218,6 +218,9 @@ static int host1x_probe(struct platform_device *pdev)
return err;
}
+ if (IS_ENABLED(CONFIG_TEGRA_HOST1X_FIREWALL))
+ goto skip_iommu;
+
host->group = iommu_group_get(&pdev->dev);
if (host->group) {
struct iommu_domain_geometry *geometry;