summarylogtreecommitdiffstats
path: root/evdi-1.6.4-kernel-5.4.x.patch
diff options
context:
space:
mode:
Diffstat (limited to 'evdi-1.6.4-kernel-5.4.x.patch')
-rw-r--r--evdi-1.6.4-kernel-5.4.x.patch133
1 files changed, 133 insertions, 0 deletions
diff --git a/evdi-1.6.4-kernel-5.4.x.patch b/evdi-1.6.4-kernel-5.4.x.patch
new file mode 100644
index 00000000000..44db8b311cd
--- /dev/null
+++ b/evdi-1.6.4-kernel-5.4.x.patch
@@ -0,0 +1,133 @@
+diff -Naur evdi-1.6.4/module/evdi_drv.c evdi-1.6.4-p/module/evdi_drv.c
+--- evdi-1.6.4/module/evdi_drv.c 2019-11-21 08:42:24.000000000 +0100
++++ evdi-1.6.4-p/module/evdi_drv.c 2019-11-30 04:46:06.140301023 +0100
+@@ -81,8 +81,12 @@
+ }
+
+ static struct drm_driver driver = {
+- .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME
+- | DRIVER_ATOMIC,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
++ .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_PRIME
++ | DRIVER_ATOMIC,
++#else
++ .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
++#endif
+ #if KERNEL_VERSION(4, 12, 0) > LINUX_VERSION_CODE
+ .load = evdi_driver_load,
+ #endif
+diff -Naur evdi-1.6.4/module/evdi_drv.h evdi-1.6.4-p/module/evdi_drv.h
+--- evdi-1.6.4/module/evdi_drv.h 2019-11-21 08:42:24.000000000 +0100
++++ evdi-1.6.4-p/module/evdi_drv.h 2019-11-30 04:46:06.140301023 +0100
+@@ -20,7 +20,11 @@
+ #include <drm/drm_crtc_helper.h>
+ #include <drm/drm_rect.h>
+ #include <drm/drm_gem.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
+ #include <linux/reservation.h>
++#else
++#include <linux/dma-resv.h>
++#endif
+ #include "evdi_debug.h"
+
+ #define DRIVER_NAME "evdi"
+@@ -51,8 +55,13 @@
+ struct page **pages;
+ void *vmapping;
+ struct sg_table *sg;
+- struct reservation_object *resv;
+- struct reservation_object _resv;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
++ struct reservation_object *resv;
++ struct reservation_object _resv;
++#else
++ struct dma_resv *resv;
++ struct dma_resv _resv;
++#endif
+ };
+
+ #define to_evdi_bo(x) container_of(x, struct evdi_gem_object, base)
+@@ -112,8 +121,12 @@
+
+ struct drm_gem_object *evdi_gem_prime_import(struct drm_device *dev,
+ struct dma_buf *dma_buf);
+-struct dma_buf *evdi_gem_prime_export(struct drm_device *dev,
+- struct drm_gem_object *obj, int flags);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
++struct dma_buf *evdi_gem_prime_export(__maybe_unused struct drm_device *dev,
++ struct drm_gem_object *obj, int flags)
++#else
++struct dma_buf *evdi_gem_prime_export(struct drm_gem_object *obj, int flags);
++#endif
+
+ int evdi_gem_vmap(struct evdi_gem_object *obj);
+ void evdi_gem_vunmap(struct evdi_gem_object *obj);
+diff -Naur evdi-1.6.4/module/evdi_gem.c evdi-1.6.4-p/module/evdi_gem.c
+--- evdi-1.6.4/module/evdi_gem.c 2019-11-21 08:42:24.000000000 +0100
++++ evdi-1.6.4-p/module/evdi_gem.c 2019-11-30 04:47:05.410984523 +0100
+@@ -61,7 +61,11 @@
+ return NULL;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
+ reservation_object_init(&obj->_resv);
++#else
++ dma_resv_init(&obj->_resv);
++#endif
+ obj->resv = &obj->_resv;
+
+ return obj;
+@@ -254,8 +258,11 @@
+
+ if (gem_obj->dev->vma_offset_manager)
+ drm_gem_free_mmap_offset(gem_obj);
+-
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
+ reservation_object_fini(&obj->_resv);
++#else
++ dma_resv_fini(&obj->_resv);
++#endif
+ obj->resv = NULL;
+ }
+
+@@ -569,8 +576,11 @@
+ return ERR_PTR(ret);
+ }
+
+-struct dma_buf *evdi_gem_prime_export(__maybe_unused struct drm_device *dev,
+- struct drm_gem_object *obj, int flags)
++struct dma_buf *evdi_gem_prime_export(
++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 0)
++ __maybe_unused struct drm_device *dev,
++#endif
++ struct drm_gem_object *obj, int flags)
+ {
+ struct evdi_gem_object *evdi_obj = to_evdi_bo(obj);
+ struct dma_buf_export_info exp_info = {
+@@ -581,8 +591,7 @@
+ .resv = evdi_obj->resv,
+ .priv = obj
+ };
+-
+-#if KERNEL_VERSION(4, 9, 0) <= LINUX_VERSION_CODE
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(4, 9, 0)
+ return drm_gem_dmabuf_export(dev, &exp_info);
+ #else
+ return dma_buf_export(&exp_info);
+diff -Naur evdi-1.6.4/module/Makefile evdi-1.6.4-p/module/Makefile
+--- evdi-1.6.4/module/Makefile 2019-11-21 02:42:24.000000000 -0500
++++ evdi-1.6.4-p/module/Makefile 2019-12-05 10:18:30.513130412 -0500
+@@ -19,11 +19,11 @@
+ KBUILD_VERBOSE ?= 1
+
+ all:
+- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) CONFIG_MODULE_SIG= -C $(KERN_DIR) modules
++ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) M=$(CURDIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) CONFIG_MODULE_SIG= -C $(KERN_DIR) modules
+
+ clean:
+ @echo $(KERN_DIR)
+- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) -C $(KERN_DIR) clean
++ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) M=$(CURDIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) -C $(KERN_DIR) clean
+
+ else
+