![Giulio Benetti](/assets/img/avatar_default.png)
Add 2 patches pending[1] upstream to fix build failure with both Linux 5.9 and Linux 5.10 due to uaccess.h file moved after version >= 5.9 and and due to moved code from dma-contiguous.h to dma-mapping. [1]: https://github.com/mripard/sunxi-mali/pull/89 Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
270 lines
10 KiB
Diff
270 lines
10 KiB
Diff
From 66731b7ec7d36e86d772aee84a84b648f37dbf5d Mon Sep 17 00:00:00 2001
|
|
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
Date: Thu, 17 Dec 2020 01:32:21 +0100
|
|
Subject: [PATCH] mali: support building against 5.9
|
|
|
|
Add patches to fix build failure with Linux version 5.9 due to
|
|
asm/uaccess.h changes and HAVE_UNLOCKED_IOCTL macro missing in version
|
|
r6p0 and r6p2. While for r8p1 and r9p0 patch is the same and is located
|
|
in patches/ root and fix HAVE_UNLOCKED_IOCTL issue only.
|
|
|
|
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
---
|
|
...24-mali-support-building-against-5.9.patch | 36 +++++++++
|
|
...24-mali-support-building-against-5.9.patch | 76 +++++++++++++++++++
|
|
patches/r6p0/series | 1 +
|
|
...24-mali-support-building-against-5.9.patch | 76 +++++++++++++++++++
|
|
patches/r6p2/series | 1 +
|
|
patches/r8p1/series | 1 +
|
|
patches/r9p0/series | 1 +
|
|
7 files changed, 192 insertions(+)
|
|
create mode 100644 patches/0024-mali-support-building-against-5.9.patch
|
|
create mode 100644 patches/r6p0/0024-mali-support-building-against-5.9.patch
|
|
create mode 100644 patches/r6p2/0024-mali-support-building-against-5.9.patch
|
|
|
|
diff --git a/patches/0024-mali-support-building-against-5.9.patch b/patches/0024-mali-support-building-against-5.9.patch
|
|
new file mode 100644
|
|
index 0000000..c54dfef
|
|
--- /dev/null
|
|
+++ b/patches/0024-mali-support-building-against-5.9.patch
|
|
@@ -0,0 +1,36 @@
|
|
+From f760b79bc15557a13d9bb68a9a3fb9c8e08dfbae Mon Sep 17 00:00:00 2001
|
|
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
+Date: Thu, 17 Dec 2020 16:41:49 +0100
|
|
+Subject: [PATCH] mali: support building against 5.9
|
|
+
|
|
+Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been
|
|
+removed making actual code to use .ioctl struct member resulting in a
|
|
+build failure, so let's declare locally such macro if Linux
|
|
+version >= 5.9.0.
|
|
+
|
|
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
+---
|
|
+ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++
|
|
+ 1 file changed, 7 insertions(+)
|
|
+
|
|
+diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
+index d7893a3..9005466 100644
|
|
+--- a/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
+@@ -65,6 +65,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_hw_counter);
|
|
+ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters);
|
|
+ #endif /* CONFIG_TRACEPOINTS */
|
|
+
|
|
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
|
|
++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed
|
|
++ * so let's reintroduce it here.
|
|
++ */
|
|
++#define HAVE_UNLOCKED_IOCTL
|
|
++#endif
|
|
++
|
|
+ #ifdef CONFIG_MALI_DEVFREQ
|
|
+ #include "mali_devfreq.h"
|
|
+ #include "mali_osk_mali.h"
|
|
+--
|
|
+2.25.1
|
|
+
|
|
diff --git a/patches/r6p0/0024-mali-support-building-against-5.9.patch b/patches/r6p0/0024-mali-support-building-against-5.9.patch
|
|
new file mode 100644
|
|
index 0000000..54b773b
|
|
--- /dev/null
|
|
+++ b/patches/r6p0/0024-mali-support-building-against-5.9.patch
|
|
@@ -0,0 +1,76 @@
|
|
+From 44dbb7d2036ba41d5db46fadb86e0461fce0948f Mon Sep 17 00:00:00 2001
|
|
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
+Date: Thu, 17 Dec 2020 02:26:49 +0100
|
|
+Subject: [PATCH] mali: support building against 5.9
|
|
+
|
|
+Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been
|
|
+removed making actual code to use .ioctl struct member resulting in a
|
|
+build failure, so let's declare locally such macro if Linux
|
|
+version >= 5.9.0.
|
|
+
|
|
+Starting from Linux version 5.9.0 also part of <asm/uaccess.h> has been
|
|
+moved to <linux/uaccess.h> so let's include <linux/uaccess.h> if Linux
|
|
+version >= 5.9.0.
|
|
+
|
|
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
+---
|
|
+ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++
|
|
+ src/devicedrv/mali/linux/mali_osk_mali.c | 5 +++++
|
|
+ src/devicedrv/mali/linux/mali_osk_misc.c | 5 +++++
|
|
+ 3 files changed, 17 insertions(+)
|
|
+
|
|
+diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
+index 34cb3d7..c098c77 100755
|
|
+--- a/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
+@@ -63,6 +63,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_hw_counter);
|
|
+ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters);
|
|
+ #endif /* CONFIG_TRACEPOINTS */
|
|
+
|
|
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
|
|
++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed
|
|
++ * so let's reintroduce it here.
|
|
++ */
|
|
++#define HAVE_UNLOCKED_IOCTL
|
|
++#endif
|
|
++
|
|
+ /* from the __malidrv_build_info.c file that is generated during build */
|
|
+ extern const char *__malidrv_build_info(void);
|
|
+
|
|
+diff --git a/src/devicedrv/mali/linux/mali_osk_mali.c b/src/devicedrv/mali/linux/mali_osk_mali.c
|
|
+index ee82b6e..1491d10 100755
|
|
+--- a/src/devicedrv/mali/linux/mali_osk_mali.c
|
|
++++ b/src/devicedrv/mali/linux/mali_osk_mali.c
|
|
+@@ -13,7 +13,12 @@
|
|
+ * Implementation of the OS abstraction layer which is specific for the Mali kernel device driver
|
|
+ */
|
|
+ #include <linux/kernel.h>
|
|
++#include <linux/version.h>
|
|
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
|
|
++#include <linux/uaccess.h>
|
|
++#else
|
|
+ #include <asm/uaccess.h>
|
|
++#endif
|
|
+ #include <linux/platform_device.h>
|
|
+ #include <linux/mali/mali_utgard.h>
|
|
+ #include <linux/of.h>
|
|
+diff --git a/src/devicedrv/mali/linux/mali_osk_misc.c b/src/devicedrv/mali/linux/mali_osk_misc.c
|
|
+index 0a619e3..87ff192 100755
|
|
+--- a/src/devicedrv/mali/linux/mali_osk_misc.c
|
|
++++ b/src/devicedrv/mali/linux/mali_osk_misc.c
|
|
+@@ -13,7 +13,12 @@
|
|
+ * Implementation of the OS abstraction layer for the kernel device driver
|
|
+ */
|
|
+ #include <linux/kernel.h>
|
|
++#include <linux/version.h>
|
|
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
|
|
++#include <linux/uaccess.h>
|
|
++#else
|
|
+ #include <asm/uaccess.h>
|
|
++#endif
|
|
+ #include <asm/cacheflush.h>
|
|
+ #include <linux/sched.h>
|
|
+ #include <linux/seq_file.h>
|
|
+--
|
|
+2.25.1
|
|
+
|
|
diff --git a/patches/r6p0/series b/patches/r6p0/series
|
|
index 50e54d6..4074177 100644
|
|
--- a/patches/r6p0/series
|
|
+++ b/patches/r6p0/series
|
|
@@ -17,3 +17,4 @@ r6p0/0013-mali-support-building-against-4.15.patch
|
|
0021-mali-support-building-against-5.3.patch
|
|
r6p0/0022-mali-support-building-against-5.6.patch
|
|
0023-mali-support-building-against-5.7.patch
|
|
+r6p0/0024-mali-support-building-against-5.9.patch
|
|
diff --git a/patches/r6p2/0024-mali-support-building-against-5.9.patch b/patches/r6p2/0024-mali-support-building-against-5.9.patch
|
|
new file mode 100644
|
|
index 0000000..0f9ca40
|
|
--- /dev/null
|
|
+++ b/patches/r6p2/0024-mali-support-building-against-5.9.patch
|
|
@@ -0,0 +1,76 @@
|
|
+From ebcecb62301c49e0dd67032e7db14c20be2df48b Mon Sep 17 00:00:00 2001
|
|
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
+Date: Thu, 17 Dec 2020 00:49:45 +0100
|
|
+Subject: [PATCH] mali: support building against 5.9
|
|
+
|
|
+Starting from Linux version 5.9.0 HAVE_UNLOCKED_IOCTL macro has been
|
|
+removed making actual code to use .ioctl struct member resulting in a
|
|
+build failure, so let's declare locally such macro if Linux
|
|
+version >= 5.9.0.
|
|
+
|
|
+Starting from Linux version 5.9.0 also part of <asm/uaccess.h> has been
|
|
+moved to <linux/uaccess.h> so let's include <linux/uaccess.h> if Linux
|
|
+version >= 5.9.0.
|
|
+
|
|
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
|
+---
|
|
+ src/devicedrv/mali/linux/mali_kernel_linux.c | 7 +++++++
|
|
+ src/devicedrv/mali/linux/mali_osk_mali.c | 5 +++++
|
|
+ src/devicedrv/mali/linux/mali_osk_misc.c | 5 +++++
|
|
+ 3 files changed, 17 insertions(+)
|
|
+
|
|
+diff --git a/src/devicedrv/mali/linux/mali_kernel_linux.c b/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
+index 9bfa2bd..51e5012 100755
|
|
+--- a/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
++++ b/src/devicedrv/mali/linux/mali_kernel_linux.c
|
|
+@@ -69,6 +69,13 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(mali_sw_counters);
|
|
+ #include "mali_devfreq.h"
|
|
+ #include "mali_osk_mali.h"
|
|
+
|
|
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
|
|
++/* From Linux version 5.9.0 HAVE_UNLOCKED_IOCTL has been removed
|
|
++ * so let's reintroduce it here.
|
|
++ */
|
|
++#define HAVE_UNLOCKED_IOCTL
|
|
++#endif
|
|
++
|
|
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)
|
|
+ #include <linux/pm_opp.h>
|
|
+ #else
|
|
+diff --git a/src/devicedrv/mali/linux/mali_osk_mali.c b/src/devicedrv/mali/linux/mali_osk_mali.c
|
|
+index 272d196..fdb8952 100755
|
|
+--- a/src/devicedrv/mali/linux/mali_osk_mali.c
|
|
++++ b/src/devicedrv/mali/linux/mali_osk_mali.c
|
|
+@@ -13,7 +13,12 @@
|
|
+ * Implementation of the OS abstraction layer which is specific for the Mali kernel device driver
|
|
+ */
|
|
+ #include <linux/kernel.h>
|
|
++#include <linux/version.h>
|
|
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
|
|
++#include <linux/uaccess.h>
|
|
++#else
|
|
+ #include <asm/uaccess.h>
|
|
++#endif
|
|
+ #include <linux/platform_device.h>
|
|
+ #include <linux/mali/mali_utgard.h>
|
|
+ #include <linux/of.h>
|
|
+diff --git a/src/devicedrv/mali/linux/mali_osk_misc.c b/src/devicedrv/mali/linux/mali_osk_misc.c
|
|
+index 7dda283..58c6a4c 100755
|
|
+--- a/src/devicedrv/mali/linux/mali_osk_misc.c
|
|
++++ b/src/devicedrv/mali/linux/mali_osk_misc.c
|
|
+@@ -13,7 +13,12 @@
|
|
+ * Implementation of the OS abstraction layer for the kernel device driver
|
|
+ */
|
|
+ #include <linux/kernel.h>
|
|
++#include <linux/version.h>
|
|
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0)
|
|
++#include <linux/uaccess.h>
|
|
++#else
|
|
+ #include <asm/uaccess.h>
|
|
++#endif
|
|
+ #include <asm/cacheflush.h>
|
|
+ #include <linux/sched.h>
|
|
+ #include <linux/seq_file.h>
|
|
+--
|
|
+2.25.1
|
|
+
|
|
diff --git a/patches/r6p2/series b/patches/r6p2/series
|
|
index 4c68a77..775bc6f 100644
|
|
--- a/patches/r6p2/series
|
|
+++ b/patches/r6p2/series
|
|
@@ -20,3 +20,4 @@ r6p2/0016-mali-support-building-against-4.16.patch
|
|
0021-mali-support-building-against-5.3.patch
|
|
r6p2/0022-mali-support-building-against-5.6.patch
|
|
0023-mali-support-building-against-5.7.patch
|
|
+r6p2/0024-mali-support-building-against-5.9.patch
|
|
diff --git a/patches/r8p1/series b/patches/r8p1/series
|
|
index a49a59b..0f15e40 100644
|
|
--- a/patches/r8p1/series
|
|
+++ b/patches/r8p1/series
|
|
@@ -15,3 +15,4 @@ r8p1/0017-mali-support-building-against-4.9-later.patch
|
|
0021-mali-support-building-against-5.3.patch
|
|
r6p2/0022-mali-support-building-against-5.6.patch
|
|
0023-mali-support-building-against-5.7.patch
|
|
+0024-mali-support-building-against-5.9.patch
|
|
diff --git a/patches/r9p0/series b/patches/r9p0/series
|
|
index 301177c..866e869 100644
|
|
--- a/patches/r9p0/series
|
|
+++ b/patches/r9p0/series
|
|
@@ -12,3 +12,4 @@ r6p2/0016-mali-support-building-against-4.16.patch
|
|
0021-mali-support-building-against-5.3.patch
|
|
r6p2/0022-mali-support-building-against-5.6.patch
|
|
0023-mali-support-building-against-5.7.patch
|
|
+0024-mali-support-building-against-5.9.patch
|
|
--
|
|
2.25.1
|
|
|