diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2114-drm-amdkfd-remove-redundant-kfd_event_waiter.input_i.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2114-drm-amdkfd-remove-redundant-kfd_event_waiter.input_i.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2114-drm-amdkfd-remove-redundant-kfd_event_waiter.input_i.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2114-drm-amdkfd-remove-redundant-kfd_event_waiter.input_i.patch new file mode 100644 index 00000000..24f50f9b --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2114-drm-amdkfd-remove-redundant-kfd_event_waiter.input_i.patch @@ -0,0 +1,66 @@ +From 77d67189591cf5e28d378ac20950d7a02e6d0c22 Mon Sep 17 00:00:00 2001 +From: Felix Kuehling <Felix.Kuehling@amd.com> +Date: Sat, 30 Sep 2017 17:26:13 -0400 +Subject: [PATCH 2114/4131] drm/amdkfd: remove redundant + kfd_event_waiter.input_index + +This always identical with the index of the event_waiter in the array. +No need to store it in the waiter record. + +Change-Id: I9e2eb180c277351609a036cd83fb40de0709900e +Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_events.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c +index b7d3757..a4cf3f4 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c +@@ -52,7 +52,6 @@ struct kfd_event_waiter { + + /* Event */ + struct kfd_event *event; +- uint32_t input_index; + }; + + #define SLOTS_PER_PAGE KFD_SIGNAL_EVENT_LIMIT +@@ -690,8 +689,7 @@ static struct kfd_event_waiter *alloc_event_waiters(uint32_t num_events) + + static int init_event_waiter_get_status(struct kfd_process *p, + struct kfd_event_waiter *waiter, +- uint32_t event_id, +- uint32_t input_index) ++ uint32_t event_id) + { + struct kfd_event *ev = lookup_event_by_id(p, event_id); + +@@ -699,7 +697,6 @@ static int init_event_waiter_get_status(struct kfd_process *p, + return -EINVAL; + + waiter->event = ev; +- waiter->input_index = input_index; + waiter->activated = ev->signaled; + ev->signaled = ev->signaled && !ev->auto_reset; + +@@ -767,7 +764,7 @@ static int copy_signaled_event_data(uint32_t num_events, + waiter = &event_waiters[i]; + event = waiter->event; + if (waiter->activated && event->type == KFD_EVENT_TYPE_MEMORY) { +- dst = &data[waiter->input_index].memory_exception_data; ++ dst = &data[i].memory_exception_data; + src = &event->memory_exception_data; + if (copy_to_user(dst, src, + sizeof(struct kfd_hsa_memory_exception_data))) +@@ -839,7 +836,7 @@ int kfd_wait_on_events(struct kfd_process *p, + } + + ret = init_event_waiter_get_status(p, &event_waiters[i], +- event_data.event_id, i); ++ event_data.event_id); + if (ret) + goto out_unlock; + } +-- +2.7.4 + |