From 437bb539beea997a142a65f1ce9c71167fb39e7d Mon Sep 17 00:00:00 2001 From: Jon Hunter Date: Wed, 14 Sep 2022 10:46:47 +0100 Subject: [PATCH] drm/tegra: Update to Linux v6.0-rc5 Update the Tegra-DRM driver to align with the latest upstream driver from Linux v6.0-rc5. Bug 3767126 Change-Id: Iaadc3b6a616b327fea5dab9acfba9c1d174557d3 Signed-off-by: Jon Hunter Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2776688 Reviewed-by: Mikko Perttunen GVS: Gerrit_Virtual_Submit --- drivers/gpu/drm/tegra/dc.c | 3 +++ drivers/gpu/drm/tegra/drm.c | 1 + drivers/gpu/drm/tegra/fb.c | 1 + drivers/gpu/drm/tegra/gem.c | 15 +++++++++++++++ drivers/gpu/drm/tegra/hdmi.c | 3 --- drivers/gpu/drm/tegra/hub.c | 3 +++ drivers/gpu/drm/tegra/nvdec.c | 1 + drivers/gpu/drm/tegra/plane.c | 2 ++ drivers/gpu/drm/tegra/vic.c | 13 +++---------- 9 files changed, 29 insertions(+), 13 deletions(-) diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c index c6951cf5..747abafb 100644 --- a/drivers/gpu/drm/tegra/dc.c +++ b/drivers/gpu/drm/tegra/dc.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -21,8 +22,10 @@ #include #include +#include #include #include +#include #include #include diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 9e009022..74bf273f 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c index 89f3bae0..69d486aa 100644 --- a/drivers/gpu/drm/tegra/fb.c +++ b/drivers/gpu/drm/tegra/fb.c @@ -11,6 +11,7 @@ #include #include +#include #include #include diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c index fae442ee..47409f5c 100644 --- a/drivers/gpu/drm/tegra/gem.c +++ b/drivers/gpu/drm/tegra/gem.c @@ -716,14 +716,29 @@ static int tegra_gem_prime_vmap(struct dma_buf *buf, struct iosys_map *map) { struct drm_gem_object *gem = buf->priv; struct tegra_bo *bo = to_tegra_bo(gem); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0) + void *vaddr; + vaddr = tegra_bo_mmap(&bo->base); + if (IS_ERR(vaddr)) + return PTR_ERR(vaddr); + + iosys_map_set_vaddr(map, vaddr); +#else iosys_map_set_vaddr(map, bo->vaddr); +#endif return 0; } static void tegra_gem_prime_vunmap(struct dma_buf *buf, struct iosys_map *map) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0) + struct drm_gem_object *gem = buf->priv; + struct tegra_bo *bo = to_tegra_bo(gem); + + tegra_bo_munmap(&bo->base, map->vaddr); +#endif } #else static int tegra_gem_prime_vmap(struct dma_buf *buf, struct dma_buf_map *map) diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c index f112d116..aefe8f36 100644 --- a/drivers/gpu/drm/tegra/hdmi.c +++ b/drivers/gpu/drm/tegra/hdmi.c @@ -20,9 +20,6 @@ #include #include -#include -#include - #include #include #include diff --git a/drivers/gpu/drm/tegra/hub.c b/drivers/gpu/drm/tegra/hub.c index 64f03cf6..e5b31f67 100644 --- a/drivers/gpu/drm/tegra/hub.c +++ b/drivers/gpu/drm/tegra/hub.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -16,7 +17,9 @@ #include #include +#include #include +#include #include #include "drm.h" diff --git a/drivers/gpu/drm/tegra/nvdec.c b/drivers/gpu/drm/tegra/nvdec.c index 334ac70e..e07534ea 100644 --- a/drivers/gpu/drm/tegra/nvdec.c +++ b/drivers/gpu/drm/tegra/nvdec.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include diff --git a/drivers/gpu/drm/tegra/plane.c b/drivers/gpu/drm/tegra/plane.c index e4e524f8..fc977275 100644 --- a/drivers/gpu/drm/tegra/plane.c +++ b/drivers/gpu/drm/tegra/plane.c @@ -3,6 +3,7 @@ * Copyright (C) 2017 NVIDIA CORPORATION. All rights reserved. */ +#include #include #include #include @@ -10,6 +11,7 @@ #include #include #include +#include #include #include diff --git a/drivers/gpu/drm/tegra/vic.c b/drivers/gpu/drm/tegra/vic.c index 70527fcb..5296a526 100644 --- a/drivers/gpu/drm/tegra/vic.c +++ b/drivers/gpu/drm/tegra/vic.c @@ -324,7 +324,7 @@ cleanup: } -static int vic_runtime_resume(struct device *dev) +static int __maybe_unused vic_runtime_resume(struct device *dev) { struct vic *vic = dev_get_drvdata(dev); int err; @@ -358,7 +358,7 @@ disable: return err; } -static int vic_runtime_suspend(struct device *dev) +static int __maybe_unused vic_runtime_suspend(struct device *dev) { struct vic *vic = dev_get_drvdata(dev); int err; @@ -470,7 +470,6 @@ static int vic_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct host1x_syncpt **syncpts; - struct resource *regs; struct vic *vic; int err; @@ -491,13 +490,7 @@ static int vic_probe(struct platform_device *pdev) if (!syncpts) return -ENOMEM; - regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!regs) { - dev_err(&pdev->dev, "failed to get registers\n"); - return -ENXIO; - } - - vic->regs = devm_ioremap_resource(dev, regs); + vic->regs = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(vic->regs)) return PTR_ERR(vic->regs);