diff options
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | evdi.Changelog | 3 | ||||
-rw-r--r-- | kernel-5.9.patch | 156 |
4 files changed, 11 insertions, 168 deletions
@@ -1,7 +1,7 @@ pkgbase = evdi pkgdesc = A Linux® kernel module that enables management of multiple screens. - pkgver = 1.7.0 - pkgrel = 2 + pkgver = 1.7.2 + pkgrel = 1 url = https://github.com/DisplayLink/evdi install = evdi.install changelog = evdi.Changelog @@ -11,10 +11,8 @@ pkgbase = evdi depends = glibc depends = dkms depends = libdrm - source = evdi-1.7.0-2.tar.gz::https://github.com/DisplayLink/evdi/archive/v1.7.0.tar.gz - source = kernel-5.9.patch - md5sums = 2924de4e1350e1b2b2717f94c6dd6922 - md5sums = 7d5de7acfce184ae0c1aaabbb74fbce5 + source = evdi-1.7.2-1.tar.gz::https://github.com/DisplayLink/evdi/archive/v1.7.2.tar.gz + md5sums = 7bdcf5bf574b39d5ed7b37e774acec52 pkgname = evdi @@ -2,8 +2,8 @@ # Contributor: PlusMinus pkgname=evdi -pkgver=1.7.0 -pkgrel=2 +pkgver=1.7.2 +pkgrel=1 pkgdesc="A Linux® kernel module that enables management of multiple screens." arch=('i686' 'x86_64') url="https://github.com/DisplayLink/evdi" @@ -19,11 +19,9 @@ backup=() options=() install=$pkgname.install changelog=$pkgname.Changelog -source=($pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/DisplayLink/evdi/archive/v$pkgver.tar.gz - kernel-5.9.patch) +source=($pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/DisplayLink/evdi/archive/v$pkgver.tar.gz) noextract=() -md5sums=('2924de4e1350e1b2b2717f94c6dd6922' - '7d5de7acfce184ae0c1aaabbb74fbce5') +md5sums=('7bdcf5bf574b39d5ed7b37e774acec52') prepare() { cd "$pkgname-$pkgver" diff --git a/evdi.Changelog b/evdi.Changelog index 701e35858d7..ca3be921bf7 100644 --- a/evdi.Changelog +++ b/evdi.Changelog @@ -1,3 +1,6 @@ +v1.7.2 +- Add support for kernel 5.9 and 5.10 + v1.8.0 - add i2c adapter when creating an EVDI node diff --git a/kernel-5.9.patch b/kernel-5.9.patch deleted file mode 100644 index 5ee5db8bc03..00000000000 --- a/kernel-5.9.patch +++ /dev/null @@ -1,156 +0,0 @@ -From 83046d3e6e55de2069bada70894c633c090f7ddc Mon Sep 17 00:00:00 2001 -From: Gabriel Craciunescu <nix.or.die@gmail.com> -Date: Wed, 14 Oct 2020 15:39:07 +0200 -Subject: [PATCH] Adjust to kernel 5.9 - ---- - module/evdi_cursor.c | 4 ++++ - module/evdi_drv.c | 21 +++++++++++++++++++-- - module/evdi_fb.c | 13 ++++++++++++- - module/evdi_gem.c | 5 ++++- - module/evdi_modeset.c | 5 ++++- - 5 files changed, 43 insertions(+), 5 deletions(-) - -diff --git a/module/evdi_cursor.c b/module/evdi_cursor.c -index 10cbf29..cb4282a 100644 ---- a/module/evdi_cursor.c -+++ b/module/evdi_cursor.c -@@ -55,7 +55,11 @@ static void evdi_cursor_set_gem(struct evdi_cursor *cursor, - if (obj) - drm_gem_object_get(&obj->base); - if (cursor->obj) -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+ drm_gem_object_put(&cursor->obj->base); -+#else - drm_gem_object_put_unlocked(&cursor->obj->base); -+#endif - - cursor->obj = obj; - } -diff --git a/module/evdi_drv.c b/module/evdi_drv.c -index 7740ccc..f9d8a45 100644 ---- a/module/evdi_drv.c -+++ b/module/evdi_drv.c -@@ -16,6 +16,9 @@ - #include <drm/drm_crtc_helper.h> - #include <linux/module.h> - #include <linux/platform_device.h> -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+#include <linux/iommu.h> -+#endif - - #include "evdi_drv.h" - #include "evdi_drm.h" -@@ -91,7 +94,11 @@ static struct drm_driver driver = { - .postclose = evdi_driver_postclose, - - /* gem hooks */ -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+ .gem_free_object_unlocked = evdi_gem_free_object, -+#else - .gem_free_object = evdi_gem_free_object, -+#endif - .gem_vm_ops = &evdi_gem_vm_ops, - - .dumb_create = evdi_dumb_create, -@@ -166,13 +173,23 @@ static int evdi_platform_probe(struct platform_device *pdev) - { - struct drm_device *dev; - int ret; -- -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+#if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU) -+ struct dev_iommu iommu; -+#endif -+#endif - EVDI_CHECKPT(); - -- /* Intel-IOMMU workaround: platform-bus unsupported, force ID-mapping */ -+/* Intel-IOMMU workaround: platform-bus unsupported, force ID-mapping */ - #if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU) -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+ memset(&iommu, 0, sizeof(iommu)); -+ iommu.priv = (void *)-1; -+ pdev->dev.iommu = &iommu; -+#else - #define INTEL_IOMMU_DUMMY_DOMAIN ((void *)-1) - pdev->dev.archdata.iommu = INTEL_IOMMU_DUMMY_DOMAIN; -+#endif - #endif - - dev = drm_dev_alloc(&driver, &pdev->dev); -diff --git a/module/evdi_fb.c b/module/evdi_fb.c -index 10d1990..3639bf8 100644 ---- a/module/evdi_fb.c -+++ b/module/evdi_fb.c -@@ -319,8 +319,11 @@ static void evdi_user_framebuffer_destroy(struct drm_framebuffer *fb) - - EVDI_CHECKPT(); - if (efb->obj) -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+ drm_gem_object_put(&efb->obj->base); -+#else - drm_gem_object_put_unlocked(&efb->obj->base); -- -+#endif - drm_framebuffer_cleanup(fb); - kfree(efb); - } -@@ -438,7 +441,11 @@ static int evdifb_create(struct drm_fb_helper *helper, - - return ret; - out_gfree: -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+ drm_gem_object_put(&efbdev->efb.obj->base); -+#else - drm_gem_object_put_unlocked(&efbdev->efb.obj->base); -+#endif - out: - return ret; - } -@@ -464,7 +471,11 @@ static void evdi_fbdev_destroy(__always_unused struct drm_device *dev, - if (efbdev->efb.obj) { - drm_framebuffer_unregister_private(&efbdev->efb.base); - drm_framebuffer_cleanup(&efbdev->efb.base); -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+ drm_gem_object_put(&efbdev->efb.obj->base); -+#else - drm_gem_object_put_unlocked(&efbdev->efb.obj->base); -+#endif - } - } - -diff --git a/module/evdi_gem.c b/module/evdi_gem.c -index 9bb54d7..cc411b9 100644 ---- a/module/evdi_gem.c -+++ b/module/evdi_gem.c -@@ -81,8 +81,11 @@ evdi_gem_create(struct drm_file *file, - kfree(obj); - return ret; - } -- -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+ drm_gem_object_put(&obj->base); -+#else - drm_gem_object_put_unlocked(&obj->base); -+#endif - *handle_p = handle; - return 0; - } -diff --git a/module/evdi_modeset.c b/module/evdi_modeset.c -index fb9bfac..c0f904c 100644 ---- a/module/evdi_modeset.c -+++ b/module/evdi_modeset.c -@@ -129,8 +129,11 @@ static int evdi_crtc_cursor_set(struct drm_crtc *crtc, - evdi_cursor_set(evdi->cursor, - eobj, width, height, hot_x, hot_y, - format, stride); -- -+#if KERNEL_VERSION(5, 9, 0) <= LINUX_VERSION_CODE -+ drm_gem_object_put(obj); -+#else - drm_gem_object_put_unlocked(obj); -+#endif - - /* - * For now we don't care whether the application wanted the mouse set, |