diff options
author | Thierry Reding <treding@nvidia.com> | 2019-09-09 14:25:45 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2019-10-28 11:18:34 +0100 |
commit | 47b15779b03bf70ca5a315775d2b171c7913ebc3 (patch) | |
tree | ca167329a1ab72fca983c6e3186c181858550f4d /drivers/gpu/drm/tegra/dc.c | |
parent | 33904487f1ab1ec1f8103b1ec5dd3d26f94d9711 (diff) | |
download | lwn-47b15779b03bf70ca5a315775d2b171c7913ebc3.tar.gz lwn-47b15779b03bf70ca5a315775d2b171c7913ebc3.zip |
drm/tegra: Inherit device DMA parameters from host1x
The display controllers and VIC don't have any limitations on the
DMA segment size. Inherit the DMA parameters from the parent device,
which also doesn't have any such limitations.
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 | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c index fbf57bc3cdab..f7f7984bb749 100644 --- a/drivers/gpu/drm/tegra/dc.c +++ b/drivers/gpu/drm/tegra/dc.c @@ -2074,6 +2074,12 @@ static int tegra_dc_init(struct host1x_client *client) goto cleanup; } + /* + * Inherit the DMA parameters (such as maximum segment size) from the + * parent device. + */ + client->dev->dma_parms = client->parent->dma_parms; + return 0; cleanup: @@ -2097,6 +2103,9 @@ static int tegra_dc_exit(struct host1x_client *client) if (!tegra_dc_has_window_groups(dc)) return 0; + /* avoid a dangling pointer just in case this disappears */ + client->dev->dma_parms = NULL; + devm_free_irq(dc->dev, dc->irq, dc); err = tegra_dc_rgb_exit(dc); |