diff --git a/Makefile b/Makefile index c8f9108c..3e0979a6 100644 --- a/Makefile +++ b/Makefile @@ -26,9 +26,6 @@ endif # Legacy GPIO support is removed in Linux v6.3 ifeq ($(shell test $(LINUX_VERSION) -ge $(LINUX_VERSION_6_3); echo $$?),0) export CONFIG_TEGRA_GPIO_LEGACY_DISABLE=y - -# Setting VM flag via API vm_flags_set -subdir-ccflags-y += -DNV_VM_FLAG_SET_API_AVAILABLE endif # Changes done in Linux 6.4 onwards diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c index 0555e2d0..45425758 100644 --- a/drivers/gpu/drm/tegra/gem.c +++ b/drivers/gpu/drm/tegra/gem.c @@ -584,8 +584,7 @@ int __tegra_gem_mmap(struct drm_gem_object *gem, struct vm_area_struct *vma) * and set the vm_pgoff (used as a fake buffer offset by DRM) * to 0 as we want to map the whole buffer. */ -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) \ - || (defined(CONFIG_TEGRA_SYSTEM_TYPE_ACK) && (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_clear(vma, VM_PFNMAP); #else vma->vm_flags &= ~VM_PFNMAP; @@ -603,8 +602,7 @@ int __tegra_gem_mmap(struct drm_gem_object *gem, struct vm_area_struct *vma) } else { pgprot_t prot = vm_get_page_prot(vma->vm_flags); -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) \ - || (defined(CONFIG_TEGRA_SYSTEM_TYPE_ACK) && (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_set(vma, VM_MIXEDMAP); vm_flags_clear(vma, VM_PFNMAP); #else diff --git a/drivers/misc/nvscic2c-pcie/endpoint.c b/drivers/misc/nvscic2c-pcie/endpoint.c index 8a0b2a26..99e40014 100644 --- a/drivers/misc/nvscic2c-pcie/endpoint.c +++ b/drivers/misc/nvscic2c-pcie/endpoint.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include @@ -345,7 +344,7 @@ endpoint_fops_mmap(struct file *filp, struct vm_area_struct *vma) } vma->vm_pgoff = 0; -#if defined(NV_VM_FLAG_SET_API_AVAILABLE) || (defined(CONFIG_TEGRA_SYSTEM_TYPE_ACK) && (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_set(vma, VM_DONTCOPY); #else vma->vm_flags |= (VM_DONTCOPY); // fork() not supported. diff --git a/drivers/misc/nvscic2c-pcie/stream-extensions.c b/drivers/misc/nvscic2c-pcie/stream-extensions.c index 4d6a4cd2..9ff5c2b6 100644 --- a/drivers/misc/nvscic2c-pcie/stream-extensions.c +++ b/drivers/misc/nvscic2c-pcie/stream-extensions.c @@ -3,6 +3,8 @@ #define pr_fmt(fmt) "nvscic2c-pcie: stream-ext: " fmt +#include + #include #include #include @@ -15,7 +17,6 @@ #include #include #include -#include #include @@ -294,7 +295,7 @@ fops_mmap(struct file *filep, struct vm_area_struct *vma) memaddr = stream_obj->aper; vma->vm_pgoff = 0; -#if defined(NV_VM_FLAG_SET_API_AVAILABLE) || (defined(CONFIG_TEGRA_SYSTEM_TYPE_ACK) && (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_set(vma, VM_DONTCOPY); #else vma->vm_flags |= (VM_DONTCOPY); diff --git a/drivers/video/tegra/nvmap/nvmap_dmabuf.c b/drivers/video/tegra/nvmap/nvmap_dmabuf.c index f6c209f5..9be5d96f 100644 --- a/drivers/video/tegra/nvmap/nvmap_dmabuf.c +++ b/drivers/video/tegra/nvmap/nvmap_dmabuf.c @@ -452,8 +452,7 @@ int __nvmap_map(struct nvmap_handle *h, struct vm_area_struct *vma) } priv->handle = h; -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0)) \ - || (defined(CONFIG_TEGRA_SYSTEM_TYPE_ACK) && (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0))) +#if defined(NV_VM_AREA_STRUCT_HAS_CONST_VM_FLAGS) /* Linux v6.3 */ vm_flags_set(vma, VM_SHARED | VM_DONTEXPAND | VM_DONTDUMP | VM_DONTCOPY | (h->heap_pgalloc ? 0 : VM_PFNMAP)); diff --git a/scripts/conftest/Makefile b/scripts/conftest/Makefile index 064b8a4b..e76365ed 100644 --- a/scripts/conftest/Makefile +++ b/scripts/conftest/Makefile @@ -131,6 +131,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += snd_soc_of_get_dai_name_has_index_arg NV_CONFTEST_FUNCTION_COMPILE_TESTS += tc_taprio_qopt_offload_struct_has_cmd NV_CONFTEST_FUNCTION_COMPILE_TESTS += tegra_dev_iommu_get_stream_id NV_CONFTEST_FUNCTION_COMPILE_TESTS += tegra_ivc_struct_has_iosys_map +NV_CONFTEST_FUNCTION_COMPILE_TESTS += vm_area_struct_has_const_vm_flags NV_CONFTEST_GENERIC_COMPILE_TESTS += is_export_symbol_present_drm_gem_prime_fd_to_handle NV_CONFTEST_GENERIC_COMPILE_TESTS += is_export_symbol_present_drm_gem_prime_handle_to_fd NV_CONFTEST_MACRO_COMPILE_TESTS ?=