diff --git a/drivers/video/tegra/nvmap/nvmap_cache.c b/drivers/video/tegra/nvmap/nvmap_cache.c index 0146eb6d..5f44c23b 100644 --- a/drivers/video/tegra/nvmap/nvmap_cache.c +++ b/drivers/video/tegra/nvmap/nvmap_cache.c @@ -11,14 +11,10 @@ #include #include -#ifdef NVMAP_UPSTREAM_KERNEL #include -#endif /* NVMAP_UPSTREAM_KERNEL */ #include -#ifdef NVMAP_LOADABLE_MODULE __weak struct arm64_ftr_reg arm64_ftr_reg_ctrel0; -#endif /*NVMAP_LOADABLE_MODULE */ #include @@ -53,11 +49,7 @@ void nvmap_clean_cache(struct page **pages, int numpages) void inner_cache_maint(unsigned int op, void *vaddr, size_t size) { if (op == NVMAP_CACHE_OP_WB_INV) -#ifdef NVMAP_UPSTREAM_KERNEL arch_invalidate_pmem(vaddr, size); -#else - __dma_flush_area(vaddr, size); -#endif else if (op == NVMAP_CACHE_OP_INV) __dma_map_area(vaddr, size, DMA_FROM_DEVICE); else diff --git a/drivers/video/tegra/nvmap/nvmap_cache_maint.S b/drivers/video/tegra/nvmap/nvmap_cache_maint.S index c0b6d961..c2b698b2 100644 --- a/drivers/video/tegra/nvmap/nvmap_cache_maint.S +++ b/drivers/video/tegra/nvmap/nvmap_cache_maint.S @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* - * Copyright (c) 2021-2023, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2021-2024, NVIDIA CORPORATION. All rights reserved. * Derived from Linux kernel source file arch/arm64/mm/cache.S * Copyright (C) 2001 Deep Blue Solutions Ltd. * Copyright (C) 2012 ARM Ltd. @@ -54,9 +54,7 @@ SYM_FUNC_END(invalidate_icache_range) * - size - size in question */ SYM_FUNC_START(__flush_dcache_area) -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0) add x1, x0, x1 -#endif dcache_by_line_op civac, sy, x0, x1, x2, x3 ret SYM_FUNC_END(__flush_dcache_area) @@ -75,9 +73,7 @@ alternative_if ARM64_HAS_CACHE_IDC dsb ishst ret alternative_else_nop_endif -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0) add x1, x0, x1 -#endif dcache_by_line_op cvau, ish, x0, x1, x2, x3 ret SYM_FUNC_END(__clean_dcache_area_pou) @@ -140,9 +136,7 @@ SYM_FUNC_START(__clean_dcache_area_poc) * - start - virtual start address of region * - size - size in question */ -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0) add x1, x0, x1 -#endif dcache_by_line_op cvac, sy, x0, x1, x2, x3 ret SYM_FUNC_END(__clean_dcache_area_poc) @@ -161,9 +155,7 @@ SYM_FUNC_START(__clean_dcache_area_pop) alternative_if_not ARM64_HAS_DCPOP b __clean_dcache_area_poc alternative_else_nop_endif -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0) add x1, x0, x1 -#endif dcache_by_line_op cvap, sy, x0, x1, x2, x3 ret SYM_FUNC_END(__clean_dcache_area_pop) @@ -177,9 +169,7 @@ SYM_FUNC_END(__clean_dcache_area_pop) * - size - size in question */ SYM_FUNC_START(__dma_flush_area) -#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 14, 0) add x1, x0, x1 -#endif dcache_by_line_op civac, sy, x0, x1, x2, x3 ret SYM_FUNC_END(__dma_flush_area) diff --git a/drivers/video/tegra/nvmap/nvmap_dev.c b/drivers/video/tegra/nvmap/nvmap_dev.c index 67068604..f65656b2 100644 --- a/drivers/video/tegra/nvmap/nvmap_dev.c +++ b/drivers/video/tegra/nvmap/nvmap_dev.c @@ -1371,13 +1371,6 @@ int __init nvmap_probe(struct platform_device *pdev) nvmap_init(pdev); plat = pdev->dev.platform_data; -#ifndef NVMAP_LOADABLE_MODULE - if (!plat) { - dev_err(&pdev->dev, "no platform data?\n"); - e = -ENODEV; - goto finish; - } -#endif /* !NVMAP_LOADABLE_MODULE */ nvmap_dev = dev; nvmap_dev->plat = plat; diff --git a/drivers/video/tegra/nvmap/nvmap_dmabuf.c b/drivers/video/tegra/nvmap/nvmap_dmabuf.c index 7d71412b..ff07b51f 100644 --- a/drivers/video/tegra/nvmap/nvmap_dmabuf.c +++ b/drivers/video/tegra/nvmap/nvmap_dmabuf.c @@ -548,9 +548,6 @@ err_nomem: int __nvmap_dmabuf_fd(struct nvmap_client *client, struct dma_buf *dmabuf, int flags) { -#if !defined(NVMAP_CONFIG_HANDLE_AS_ID) && !defined(NVMAP_LOADABLE_MODULE) - int start_fd = NVMAP_CONFIG_FD_START; -#endif int ret; #ifdef NVMAP_CONFIG_DEFER_FD_RECYCLE @@ -566,11 +563,7 @@ int __nvmap_dmabuf_fd(struct nvmap_client *client, * __FD_SETSIZE limitation issue for select(), * pselect() syscalls. */ -#if defined(NVMAP_LOADABLE_MODULE) || defined(NVMAP_CONFIG_HANDLE_AS_ID) ret = get_unused_fd_flags(flags); -#else - ret = __alloc_fd(current->files, start_fd, sysctl_nr_open, flags); -#endif if (ret == -EMFILE) pr_err_ratelimited("NvMap: FD limit is crossed for uid %d\n", from_kuid(current_user_ns(), current_uid())); diff --git a/drivers/video/tegra/nvmap/nvmap_heap.c b/drivers/video/tegra/nvmap/nvmap_heap.c index 1073bd6a..492d3e9f 100644 --- a/drivers/video/tegra/nvmap/nvmap_heap.c +++ b/drivers/video/tegra/nvmap/nvmap_heap.c @@ -518,10 +518,8 @@ void nvmap_heap_destroy(struct nvmap_heap *heap) kfree(heap->name); kfree(heap->carevout_debugfs_info); -#ifdef NVMAP_LOADABLE_MODULE nvmap_dma_release_coherent_memory((struct dma_coherent_mem_replica *) heap->dma_dev->dma_mem); -#endif /* NVMAP_LOADABLE_MODULE */ while (!list_empty(&heap->all_list)) { struct list_block *l; diff --git a/drivers/video/tegra/nvmap/nvmap_heap.h b/drivers/video/tegra/nvmap/nvmap_heap.h index 3e60f289..c79af438 100644 --- a/drivers/video/tegra/nvmap/nvmap_heap.h +++ b/drivers/video/tegra/nvmap/nvmap_heap.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* - * Copyright (c) 2010-2023, NVIDIA Corporation. All rights reserved. + * Copyright (c) 2010-2024, NVIDIA Corporation. All rights reserved. * * GPU heap allocator. */ diff --git a/drivers/video/tegra/nvmap/nvmap_ioctl.c b/drivers/video/tegra/nvmap/nvmap_ioctl.c index 4ecc0e1e..53fb331e 100644 --- a/drivers/video/tegra/nvmap/nvmap_ioctl.c +++ b/drivers/video/tegra/nvmap/nvmap_ioctl.c @@ -38,9 +38,6 @@ #include "nvmap_heap.h" #include -#ifndef NVMAP_LOADABLE_MODULE -#include -#endif /* !NVMAP_LOADABLE_MODULE */ #if defined(CONFIG_TEGRA_SYSTEM_TYPE_ACK) MODULE_IMPORT_NS(VFS_internal_I_am_really_a_filesystem_and_am_NOT_a_driver); diff --git a/drivers/video/tegra/nvmap/nvmap_mm.c b/drivers/video/tegra/nvmap/nvmap_mm.c index fdd708f3..498c1793 100644 --- a/drivers/video/tegra/nvmap/nvmap_mm.c +++ b/drivers/video/tegra/nvmap/nvmap_mm.c @@ -12,55 +12,7 @@ #include "nvmap_priv.h" - -#ifndef NVMAP_LOADABLE_MODULE -void nvmap_zap_handle(struct nvmap_handle *handle, u64 offset, u64 size) -{ - struct list_head *vmas; - struct nvmap_vma_list *vma_list; - struct vm_area_struct *vma; - - if (!handle->heap_pgalloc) - return; - - /* if no dirty page is present, no need to zap */ - if (nvmap_handle_track_dirty(handle) && !atomic_read(&handle->pgalloc.ndirty)) - return; - - if (!size) { - offset = 0; - size = handle->size; - } - - size = PAGE_ALIGN((offset & ~PAGE_MASK) + size); - - mutex_lock(&handle->lock); - vmas = &handle->vmas; - list_for_each_entry(vma_list, vmas, list) { - struct nvmap_vma_priv *priv; - size_t vm_size = size; - - vma = vma_list->vma; - priv = vma->vm_private_data; - if ((offset + size) > (vma->vm_end - vma->vm_start)) - vm_size = vma->vm_end - vma->vm_start - offset; - - if (priv->offs || vma->vm_pgoff) - /* vma mapping starts in the middle of handle memory. - * zapping needs special care. zap entire range for now. - * FIXME: optimze zapping. - */ - zap_page_range(vma, vma->vm_start, - vma->vm_end - vma->vm_start); - else - zap_page_range(vma, vma->vm_start + offset, - vm_size); - } - mutex_unlock(&handle->lock); -} -#else void nvmap_zap_handle(struct nvmap_handle *handle, u64 offset, u64 size) { pr_debug("%s is not supported!\n", __func__); } -#endif /* !NVMAP_LOADABLE_MODULE */