diff --git a/drivers/video/tegra/nvmap/Makefile.memory.configs b/drivers/video/tegra/nvmap/Makefile.memory.configs index f62b323b..6ba23a8b 100644 --- a/drivers/video/tegra/nvmap/Makefile.memory.configs +++ b/drivers/video/tegra/nvmap/Makefile.memory.configs @@ -118,6 +118,9 @@ NVMAP_CONFIG_UPSTREAM_KERNEL := n # Config for enabling the cache flush at buffer allocation time from carveout NVMAP_CONFIG_CACHE_FLUSH_AT_ALLOC := y + +# Config for enabling the dma-buf deferred unmapping +NVMAP_CONFIG_DMABUF_DEFERRED_UNMAPPING := n ################################################################################ # Section 3 # Enable/Disable configs based upon the kernel version @@ -139,6 +142,10 @@ NVMAP_CONFIG_SCIIPC := y NVMAP_CONFIG_UPSTREAM_KERNEL := y NVMAP_CONFIG_COLOR_PAGES := n endif +ifeq ($(CONFIG_DMABUF_DEFERRED_UNMAPPING),y) +NVMAP_CONFIG_DMABUF_DEFERRED_UNMAPPING := y +endif + ################################################################################ # Section 4 # This section creates ccflags based upon the values specified @@ -198,6 +205,10 @@ ifeq ($(NVMAP_CONFIG_UPSTREAM_KERNEL),y) ccflags-y += -DNVMAP_UPSTREAM_KERNEL endif #NVMAP_CONFIG_UPSTREAM_KERNEL +ifeq ($(NVMAP_CONFIG_DMABUF_DEFERRED_UNMAPPING),y) +ccflags-y += -DNVMAP_DEFERRED_DMABUF_UNMAP +endif + ifeq ($(NVMAP_CONFIG_PROCRANK),y) ccflags-y += -DNVMAP_CONFIG_PROCRANK endif #NVMAP_CONFIG_PROCRANK diff --git a/drivers/video/tegra/nvmap/nvmap_dmabuf.c b/drivers/video/tegra/nvmap/nvmap_dmabuf.c index 23541797..a12b5c61 100644 --- a/drivers/video/tegra/nvmap/nvmap_dmabuf.c +++ b/drivers/video/tegra/nvmap/nvmap_dmabuf.c @@ -488,7 +488,7 @@ static struct dma_buf *__dma_buf_export(struct nvmap_handle_info *info, exp_info.flags = O_RDWR; } -#if KERNEL_VERSION(6, 0, 0) > LINUX_VERSION_CODE +#ifdef NVMAP_DEFERRED_DMABUF_UNMAP /* Disable defer unmap feature only for kstable */ exp_info.exp_flags = DMABUF_CAN_DEFER_UNMAP | DMABUF_SKIP_CACHE_SYNC;