diff options
author | Thierry Reding <treding@nvidia.com> | 2021-03-26 15:51:32 +0100 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2021-03-31 17:42:14 +0200 |
commit | 86044e749be77a3544990027244abb20ddb3caf0 (patch) | |
tree | af4f698643e7da641bb55b0d577d87bf663bf92a /drivers/gpu/drm/tegra/dc.c | |
parent | gpu: host1x: Add early init and late exit callbacks (diff) | |
download | linux-86044e749be77a3544990027244abb20ddb3caf0.tar.xz linux-86044e749be77a3544990027244abb20ddb3caf0.zip |
drm/tegra: dc: Inherit DMA mask
Inherit the DMA mask from host1x (on Tegra210 and earlier) or the
display hub (on Tegra186 and later). This is necessary in order to
properly map buffers without SMMU support and use the maximum IOVA
space available with SMMU support.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/drm/tegra/dc.c')
-rw-r--r-- | drivers/gpu/drm/tegra/dc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c index 40bf8f33a2ae..935717e7410d 100644 --- a/drivers/gpu/drm/tegra/dc.c +++ b/drivers/gpu/drm/tegra/dc.c @@ -2538,9 +2538,16 @@ static int tegra_dc_couple(struct tegra_dc *dc) static int tegra_dc_probe(struct platform_device *pdev) { + u64 dma_mask = dma_get_mask(pdev->dev.parent); struct tegra_dc *dc; int err; + err = dma_coerce_mask_and_coherent(&pdev->dev, dma_mask); + if (err < 0) { + dev_err(&pdev->dev, "failed to set DMA mask: %d\n", err); + return err; + } + dc = devm_kzalloc(&pdev->dev, sizeof(*dc), GFP_KERNEL); if (!dc) return -ENOMEM; |