aboutsummaryrefslogtreecommitdiffstats
path: root/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4157-drm-amdkfd-signal-hw_exception-event-on-GPU-reset.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4157-drm-amdkfd-signal-hw_exception-event-on-GPU-reset.patch')
-rw-r--r--meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4157-drm-amdkfd-signal-hw_exception-event-on-GPU-reset.patch82
1 files changed, 0 insertions, 82 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4157-drm-amdkfd-signal-hw_exception-event-on-GPU-reset.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4157-drm-amdkfd-signal-hw_exception-event-on-GPU-reset.patch
deleted file mode 100644
index 84f38194..00000000
--- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4157-drm-amdkfd-signal-hw_exception-event-on-GPU-reset.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From a8850728a13479e09bde246d3399c8ccc90a48bc Mon Sep 17 00:00:00 2001
-From: Shaoyun Liu <Shaoyun.Liu@amd.com>
-Date: Tue, 3 Apr 2018 16:11:00 -0400
-Subject: [PATCH 4157/5725] drm/amdkfd: signal hw_exception event on GPU reset
-
-Change-Id: I8fae18208103920796f81858f359a9cec563125c
-Signed-off-by: Shaoyun Liu <Shaoyun.Liu@amd.com>
-Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
-Signed-off-by: Kalyan Alle <kalyan.alle@amd.com>
----
- drivers/gpu/drm/amd/amdkfd/kfd_events.c | 24 +++++++++++++++++++++++-
- drivers/gpu/drm/amd/amdkfd/kfd_events.h | 1 +
- include/uapi/linux/kfd_ioctl.h | 8 ++++++++
- 3 files changed, 32 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-index 09c1c31..24d8a21 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
-@@ -1012,5 +1012,27 @@ void kfd_signal_vm_fault_event(struct kfd_dev *dev, unsigned int pasid,
-
- void kfd_signal_reset_event(struct kfd_dev *dev)
- {
-- /*todo*/
-+ struct kfd_hsa_hw_exception_data hw_exception_data;
-+ struct kfd_process *p;
-+ struct kfd_event *ev;
-+ unsigned int temp;
-+ uint32_t id, idx;
-+
-+ /* Whole gpu reset caused by GPU hang , and memory is lost */
-+ memset(&hw_exception_data, 0, sizeof(hw_exception_data));
-+ hw_exception_data.gpu_id = dev->id;
-+ hw_exception_data.memory_lost = 1;
-+
-+ idx = srcu_read_lock(&kfd_processes_srcu);
-+ hash_for_each_rcu(kfd_processes_table, temp, p, kfd_processes) {
-+ mutex_lock(&p->event_mutex);
-+ id = KFD_FIRST_NONSIGNAL_EVENT_ID;
-+ idr_for_each_entry_continue(&p->event_idr, ev, id)
-+ if (ev->type == KFD_EVENT_TYPE_HW_EXCEPTION) {
-+ ev->hw_exception_data = hw_exception_data;
-+ set_event(ev);
-+ }
-+ mutex_unlock(&p->event_mutex);
-+ }
-+ srcu_read_unlock(&kfd_processes_srcu, idx);
- }
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.h b/drivers/gpu/drm/amd/amdkfd/kfd_events.h
-index abca5bf..c7ac6c7 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_events.h
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.h
-@@ -66,6 +66,7 @@ struct kfd_event {
- /* type specific data */
- union {
- struct kfd_hsa_memory_exception_data memory_exception_data;
-+ struct kfd_hsa_hw_exception_data hw_exception_data;
- };
- };
-
-diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h
-index ec0574e..85d833e 100644
---- a/include/uapi/linux/kfd_ioctl.h
-+++ b/include/uapi/linux/kfd_ioctl.h
-@@ -251,6 +251,14 @@ struct kfd_hsa_memory_exception_data {
- uint32_t pad;
- };
-
-+/* hw exception data */
-+struct kfd_hsa_hw_exception_data {
-+ uint32_t reset_type;
-+ uint32_t reset_cause;
-+ uint32_t memory_lost;
-+ uint32_t gpu_id;
-+};
-+
- /* Event data */
- struct kfd_event_data {
- union {
---
-2.7.4
-