From a28927a2c225d27b23b5e91b80b028645fc543ea Mon Sep 17 00:00:00 2001 From: Puneet Saxena Date: Wed, 14 Sep 2022 15:28:58 +0000 Subject: [PATCH] tegra: nvmap: fix build for kernel 6.0 Fix build for kernel 6.0 onwards. "register_shrinker" expects shrinker name, hence pass the name string. PAGE_KERNEL's Page Protection value needs to be set. Bug 3767126 Change-Id: I71a54891999d0554eaccac6f37d0f1d9c2a65ace Signed-off-by: Puneet Saxena Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2776872 Reviewed-by: svc-mobile-coverity Reviewed-by: Sachin Nikam GVS: Gerrit_Virtual_Submit --- drivers/video/tegra/nvmap/nvmap_cache.c | 2 +- drivers/video/tegra/nvmap/nvmap_pp.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/video/tegra/nvmap/nvmap_cache.c b/drivers/video/tegra/nvmap/nvmap_cache.c index 67de73aa..0303e906 100644 --- a/drivers/video/tegra/nvmap/nvmap_cache.c +++ b/drivers/video/tegra/nvmap/nvmap_cache.c @@ -159,7 +159,7 @@ int nvmap_cache_maint_phys_range(unsigned int op, phys_addr_t pstart, void *base; next = min(next, pend); #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0) - io_addr = ioremap_prot(loop, PAGE_SIZE, (unsigned long)PAGE_KERNEL); + io_addr = ioremap_prot(loop, PAGE_SIZE, pgprot_val(PAGE_KERNEL)); #else io_addr = __ioremap(loop, PAGE_SIZE, PG_PROT_KERNEL); #endif diff --git a/drivers/video/tegra/nvmap/nvmap_pp.c b/drivers/video/tegra/nvmap/nvmap_pp.c index 981a2bf9..2b81b156 100644 --- a/drivers/video/tegra/nvmap/nvmap_pp.c +++ b/drivers/video/tegra/nvmap/nvmap_pp.c @@ -744,8 +744,11 @@ int nvmap_page_pool_init(struct nvmap_device *dev) NULL, "nvmap-bz"); if (IS_ERR(background_allocator)) goto fail; - +#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 0, 0) + register_shrinker(&nvmap_page_pool_shrinker, "nvmap_pp_shrinker"); +#else register_shrinker(&nvmap_page_pool_shrinker); +#endif return 0; fail: