aboutsummaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch')
-rw-r--r--meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch
new file mode 100644
index 00000000..247c92ff
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0026-Fix-gpu-driver-probe-failure.patch
@@ -0,0 +1,46 @@
+From d7a56b7bdf1ea34194fe86639cc318d7a33b9abb Mon Sep 17 00:00:00 2001
+From: Parth Gajjar <parth.gajjar@xilinx.com>
+Date: Thu, 12 Jan 2023 06:00:20 -0800
+Subject: [PATCH] Fix gpu driver probe failure
+
+In patch a1a2b7125e1079cfcc13a116aa3af3df2f9e002b
+(Drop static setup of IRQ resource from DT core) platform_get_resource()
+stopped from returning the IRQ, as all drivers were supposed to have
+switched to platform_get_irq().
+Using platform_get_irq_optional() to avoid printing error messages
+for interrupts not found.
+
+Signed-off-by: Parth Gajjar <parth.gajjar@xilinx.com>
+---
+ linux/mali_osk_mali.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/linux/mali_osk_mali.c b/linux/mali_osk_mali.c
+index c22758d..3f66132 100644
+--- a/linux/mali_osk_mali.c
++++ b/linux/mali_osk_mali.c
+@@ -113,7 +113,7 @@ static int _mali_osk_get_compatible_name(const char **out_string)
+ _mali_osk_errcode_t _mali_osk_resource_initialize(void)
+ {
+ mali_bool mali_is_450 = MALI_FALSE, mali_is_470 = MALI_FALSE;
+- int i, pp_core_num = 0, l2_core_num = 0;
++ int i, pp_core_num = 0, l2_core_num = 0, irq = 0;
+ struct resource *res;
+ const char *compatible_name = NULL;
+
+@@ -128,9 +128,9 @@ _mali_osk_errcode_t _mali_osk_resource_initialize(void)
+ }
+
+ for (i = 0; i < MALI_OSK_RESOURCE_WITH_IRQ_NUMBER; i++) {
+- res = platform_get_resource_byname(mali_platform_device, IORESOURCE_IRQ, mali_osk_resource_bank[i].irq_name);
+- if (res) {
+- mali_osk_resource_bank[i].irq = res->start;
++ irq = platform_get_irq_byname_optional(mali_platform_device, mali_osk_resource_bank[i].irq_name);
++ if (irq > 0) {
++ mali_osk_resource_bank[i].irq = irq;
+ } else {
+ mali_osk_resource_bank[i].base = MALI_OSK_INVALID_RESOURCE_ADDRESS;
+ }
+--
+2.17.1
+