diff options
Diffstat (limited to 'meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0008-mali_internal_sync-Rename-wait_queue_t-with-wait_que.patch')
-rw-r--r-- | meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0008-mali_internal_sync-Rename-wait_queue_t-with-wait_que.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0008-mali_internal_sync-Rename-wait_queue_t-with-wait_que.patch b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0008-mali_internal_sync-Rename-wait_queue_t-with-wait_que.patch new file mode 100644 index 0000000000..592fea04ed --- /dev/null +++ b/meta-xilinx/meta-xilinx-bsp/recipes-graphics/mali/kernel-module-mali/0008-mali_internal_sync-Rename-wait_queue_t-with-wait_que.patch @@ -0,0 +1,108 @@ +From 717d7899f6d8048c6b88b3c52e8a9c8afbddbb65 Mon Sep 17 00:00:00 2001 +From: Madhurkiran Harikrishnan <madhurki@xilinx.com> +Date: Tue, 5 Dec 2017 09:48:42 -0800 +Subject: [PATCH 8/9] mali_internal_sync: Rename wait_queue_t with + wait_queue_entry_t + +Refer kernel patch ac6424b981bce1c4bc55675c6ce11bfe1bbfa64f +and 2055da which replaces the struct name + +Signed-off-by: Madhurkiran Harikrishnan <madhurki@xilinx.com> +Upstream-Status: Pending +--- + .../src/devicedrv/mali/linux/mali_internal_sync.c | 27 ++++++++++++++++++++-- + .../src/devicedrv/mali/linux/mali_internal_sync.h | 4 ++++ + 2 files changed, 29 insertions(+), 2 deletions(-) + +diff --git a/driver/src/devicedrv/mali/linux/mali_internal_sync.c b/driver/src/devicedrv/mali/linux/mali_internal_sync.c +index 1f2574e..957a056 100644 +--- linux/mali_internal_sync.c ++++ b/linux/mali_internal_sync.c +@@ -121,8 +121,13 @@ static void mali_internal_sync_fence_add_fence(struct mali_internal_sync_fence * + } + #endif + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0) ++static int mali_internal_sync_fence_wake_up_wq(wait_queue_entry_t *curr, unsigned mode, ++ int wake_flags, void *key) ++#else + static int mali_internal_sync_fence_wake_up_wq(wait_queue_t *curr, unsigned mode, + int wake_flags, void *key) ++#endif + { + struct mali_internal_sync_fence_waiter *wait; + MALI_IGNORE(mode); +@@ -130,8 +135,12 @@ static int mali_internal_sync_fence_wake_up_wq(wait_queue_t *curr, unsigned mode + MALI_IGNORE(key); + + wait = container_of(curr, struct mali_internal_sync_fence_waiter, work); +- list_del_init(&wait->work.task_list); + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0) ++ list_del_init(&wait->work.entry); ++#else ++ list_del_init(&wait->work.task_list); ++#endif + wait->callback(wait->work.private, wait); + return 1; + } +@@ -498,7 +507,11 @@ void mali_internal_sync_fence_waiter_init(struct mali_internal_sync_fence_waiter + MALI_DEBUG_ASSERT_POINTER(waiter); + MALI_DEBUG_ASSERT_POINTER(callback); + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0) ++ INIT_LIST_HEAD(&waiter->work.entry); ++#else + INIT_LIST_HEAD(&waiter->work.task_list); ++#endif + waiter->callback = callback; + } + +@@ -560,8 +573,13 @@ int mali_internal_sync_fence_wait_async(struct mali_internal_sync_fence *sync_fe + spin_lock_irqsave(&sync_fence->wq.lock, flags); + err = sync_fence->fence->ops->signaled(sync_fence->fence); + +- if (0 == err) ++ if (0 == err){ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0) ++ __add_wait_queue_entry_tail(&sync_fence->wq, &waiter->work); ++#else + __add_wait_queue_tail(&sync_fence->wq, &waiter->work); ++#endif ++ } + spin_unlock_irqrestore(&sync_fence->wq.lock, flags); + + return err; +@@ -578,8 +596,13 @@ int mali_internal_sync_fence_cancel_async(struct mali_internal_sync_fence *sync_ + MALI_DEBUG_ASSERT_POINTER(waiter); + + spin_lock_irqsave(&sync_fence->wq.lock, flags); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0) ++ if (!list_empty(&waiter->work.entry)) ++ list_del_init(&waiter->work.entry); ++#else + if (!list_empty(&waiter->work.task_list)) + list_del_init(&waiter->work.task_list); ++#endif + else + ret = -ENOENT; + spin_unlock_irqrestore(&sync_fence->wq.lock, flags); +diff --git a/driver/src/devicedrv/mali/linux/mali_internal_sync.h b/driver/src/devicedrv/mali/linux/mali_internal_sync.h +index a5655c7..70f29f9 100644 +--- linux/mali_internal_sync.h ++++ b/linux/mali_internal_sync.h +@@ -112,7 +112,11 @@ typedef void (*mali_internal_sync_callback_t)(struct mali_internal_sync_fence *s + struct mali_internal_sync_fence_waiter *waiter); + + struct mali_internal_sync_fence_waiter { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0) ++ wait_queue_entry_t work; ++#else + wait_queue_t work; ++#endif + mali_internal_sync_callback_t callback; + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0) + #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) +-- +2.7.4 + |