From: Thierry Reding <treding@xxxxxxxxxx> commit ea90f66f2a8629dde07328df0b8314aae5e54a47 upstream. Commit 63a613fdb16c ("memory: tegra: Add gr2d and gr3d to DRM IOMMU group") added the GPU to the DRM IOMMU group, which doesn't make any sense. This causes problems when Nouveau tries to attach to the SMMU and causes it to fall back to using the DMA API. Remove the GPU from the DRM groups to restore the old behaviour. The GPU should always have its own IOMMU domain to make sure it can map buffers into contiguous chunks (for big page support) without getting in the way of mappings from the DRM group. Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 63a613fdb16c ("memory: tegra: Add gr2d and gr3d to DRM IOMMU group") Reported-by: Matias Zuniga <matias.nicolas.zc@xxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx> Link: https://lore.kernel.org/r/20200901153248.1831263-1-thierry.reding@xxxxxxxxx Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/memory/tegra/tegra124.c | 1 - 1 file changed, 1 deletion(-) --- a/drivers/memory/tegra/tegra124.c +++ b/drivers/memory/tegra/tegra124.c @@ -957,7 +957,6 @@ static const struct tegra_smmu_swgroup t static const unsigned int tegra124_group_drm[] = { TEGRA_SWGROUP_DC, TEGRA_SWGROUP_DCB, - TEGRA_SWGROUP_GPU, TEGRA_SWGROUP_VIC, };