aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3445-Revert-drm-amdkfd-add-debug-notification.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3445-Revert-drm-amdkfd-add-debug-notification.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3445-Revert-drm-amdkfd-add-debug-notification.patch565
1 files changed, 565 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3445-Revert-drm-amdkfd-add-debug-notification.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3445-Revert-drm-amdkfd-add-debug-notification.patch
new file mode 100644
index 00000000..124bb56b
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3445-Revert-drm-amdkfd-add-debug-notification.patch
@@ -0,0 +1,565 @@
+From 0ffeab32aca5b181f96841ddd0a558e076d76a3c Mon Sep 17 00:00:00 2001
+From: changzhu <Changfeng.Zhu@amd.com>
+Date: Wed, 14 Aug 2019 17:22:03 +0800
+Subject: [PATCH 3445/4256] Revert "drm/amdkfd: add debug notification"
+
+Change-Id: I4fc086e2f866dd8ea54eee996d8b7d2ab3d2be0e
+Signed-off-by: changzhu <Changfeng.Zhu@amd.com>
+---
+ drivers/gpu/drm/amd/amdkfd/Makefile | 3 +-
+ drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 18 --
+ drivers/gpu/drm/amd/amdkfd/kfd_debug_events.c | 285 ------------------
+ drivers/gpu/drm/amd/amdkfd/kfd_debug_events.h | 40 ---
+ .../gpu/drm/amd/amdkfd/kfd_int_process_v9.c | 27 +-
+ drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 11 -
+ include/uapi/linux/kfd_ioctl.h | 21 +-
+ 7 files changed, 9 insertions(+), 396 deletions(-)
+ delete mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_debug_events.c
+ delete mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_debug_events.h
+
+diff --git a/drivers/gpu/drm/amd/amdkfd/Makefile b/drivers/gpu/drm/amd/amdkfd/Makefile
+index aa951107a895..dad236a68a25 100644
+--- a/drivers/gpu/drm/amd/amdkfd/Makefile
++++ b/drivers/gpu/drm/amd/amdkfd/Makefile
+@@ -59,8 +59,7 @@ AMDKFD_FILES := $(AMDKFD_PATH)/kfd_module.o \
+ $(AMDKFD_PATH)/kfd_rdma.o \
+ $(AMDKFD_PATH)/kfd_peerdirect.o \
+ $(AMDKFD_PATH)/kfd_ipc.o \
+- $(AMDKFD_PATH)/kfd_trace.o \
+- $(AMDKFD_PATH)/kfd_debug_events.o
++ $(AMDKFD_PATH)/kfd_trace.o
+
+ ifneq ($(CONFIG_AMD_IOMMU_V2),)
+ AMDKFD_FILES += $(AMDKFD_PATH)/kfd_iommu.o
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+index 44a9803f26f3..e96aa4eaaa66 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
+@@ -42,7 +42,6 @@
+ #include "kfd_priv.h"
+ #include "kfd_device_queue_manager.h"
+ #include "kfd_dbgmgr.h"
+-#include "kfd_debug_events.h"
+ #include "kfd_ipc.h"
+ #include "kfd_trace.h"
+
+@@ -2737,18 +2736,6 @@ static int kfd_ioctl_dbg_set_debug_trap(struct file *filep,
+ r = dev->kfd2kgd->enable_debug_trap(dev->kgd,
+ pdd->trap_debug_wave_launch_mode,
+ dev->vm_info.last_vmid_kfd);
+- if (r)
+- break;
+-
+- r = kfd_dbg_ev_enable(pdd);
+- if (r >= 0) {
+- args->data3 = r;
+- r = 0;
+- } else {
+- pdd->debug_trap_enabled = false;
+- dev->kfd2kgd->disable_debug_trap(dev->kgd);
+- }
+-
+ break;
+ default:
+ pr_err("Invalid trap enable option: %i\n",
+@@ -2796,11 +2783,6 @@ static int kfd_ioctl_dbg_set_debug_trap(struct file *filep,
+ if (r)
+ goto unlock_out;
+ break;
+- case KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT:
+- r = kfd_dbg_ev_query_debug_event(pdd, &args->data1,
+- args->data2,
+- &args->data3);
+- break;
+ default:
+ pr_err("Invalid option: %i\n", debug_trap_action);
+ r = -EINVAL;
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_debug_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_debug_events.c
+deleted file mode 100644
+index 210cccdeed81..000000000000
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_debug_events.c
++++ /dev/null
+@@ -1,285 +0,0 @@
+-/*
+- * Copyright 2019 Advanced Micro Devices, Inc.
+- *
+- * Permission is hereby granted, free of charge, to any person obtaining a
+- * copy of this software and associated documentation files (the "Software"),
+- * to deal in the Software without restriction, including without limitation
+- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+- * and/or sell copies of the Software, and to permit persons to whom the
+- * Software is furnished to do so, subject to the following conditions:
+- *
+- * The above copyright notice and this permission notice shall be included in
+- * all copies or substantial portions of the Software.
+- *
+- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+- * OTHER DEALINGS IN THE SOFTWARE.
+- */
+-
+-#include <linux/kfifo.h>
+-#include <linux/poll.h>
+-#include <linux/wait.h>
+-#include <linux/anon_inodes.h>
+-#include <uapi/linux/kfd_ioctl.h>
+-#include "kfd_debug_events.h"
+-#include "kfd_priv.h"
+-#include "kfd_topology.h"
+-
+-/* poll and read functions */
+-static __poll_t kfd_dbg_ev_poll(struct file *, struct poll_table_struct *);
+-static ssize_t kfd_dbg_ev_read(struct file *, char __user *, size_t, loff_t *);
+-static int kfd_dbg_ev_release(struct inode *, struct file *);
+-
+-/* fd name */
+-static const char kfd_dbg_name[] = "kfd_debug";
+-
+-/* fops for polling, read and ioctl */
+-static const struct file_operations kfd_dbg_ev_fops = {
+- .owner = THIS_MODULE,
+- .poll = kfd_dbg_ev_poll,
+- .read = kfd_dbg_ev_read,
+- .release = kfd_dbg_ev_release
+-};
+-
+-/* poll on wait queue of file */
+-static __poll_t kfd_dbg_ev_poll(struct file *filep,
+- struct poll_table_struct *wait)
+-{
+-
+- struct kfd_debug_process_device *dpd = filep->private_data;
+-
+- __poll_t mask = 0;
+-
+- /* pending event have been queue'd via interrupt */
+- poll_wait(filep, &dpd->wait_queue, wait);
+- mask |= !kfifo_is_empty(&dpd->fifo) ? POLLIN | POLLRDNORM : mask;
+-
+- return mask;
+-}
+-
+-/* read based on wait entries and return types found */
+-static ssize_t kfd_dbg_ev_read(struct file *filep, char __user *user,
+- size_t size, loff_t *offset)
+-{
+- int ret, copied;
+- struct kfd_debug_process_device *dpd = filep->private_data;
+-
+- ret = kfifo_to_user(&dpd->fifo, user, size, &copied);
+-
+- if (ret) {
+- pr_debug("KFD DEBUG EVENT: Failed to read poll fd (%i)\n", ret);
+- return ret;
+- }
+-
+- return copied;
+-}
+-
+-static int kfd_dbg_ev_release(struct inode *inode, struct file *filep)
+-{
+- struct kfd_debug_process_device *dpd = filep->private_data;
+-
+- kfifo_free(&dpd->fifo);
+-
+- return 0;
+-}
+-
+-/* query pending events and return queue_id, event_type and is_suspended */
+-#define KFD_DBG_EV_SET_SUSPEND_STATE(x, s) \
+- ((x) = (s) ? (x) | KFD_DBG_EV_STATUS_SUSPENDED : \
+- (x) & ~KFD_DBG_EV_STATUS_SUSPENDED)
+-
+-#define KFD_DBG_EV_SET_EVENT_TYPE(x, e) \
+- ((x) = ((x) & ~(KFD_DBG_EV_STATUS_TRAP \
+- | KFD_DBG_EV_STATUS_VMFAULT)) | (e))
+-
+-int kfd_dbg_ev_query_debug_event(struct kfd_process_device *pdd,
+- unsigned int *queue_id,
+- unsigned int flags,
+- uint32_t *event_status)
+-{
+- struct process_queue_manager *pqm;
+- struct process_queue_node *pqn;
+- struct queue *q;
+- int ret = 0;
+-
+- if (!pdd || !pdd->process)
+- return -ENODATA;
+-
+- /* lock process events to update event queues */
+- mutex_lock(&pdd->process->event_mutex);
+- pqm = &pdd->process->pqm;
+-
+- if (*queue_id != KFD_INVALID_QUEUEID) {
+- q = pqm_get_user_queue(pqm, *queue_id);
+-
+- if (!q) {
+- ret = -EINVAL;
+- goto out;
+- }
+-
+- KFD_DBG_EV_SET_EVENT_TYPE(*event_status,
+- q->properties.debug_event_type);
+- KFD_DBG_EV_SET_SUSPEND_STATE(*event_status,
+- q->properties.is_suspended);
+- if (flags & KFD_DBG_EV_FLAG_CLEAR_STATUS)
+- q->properties.debug_event_type = 0;
+- goto out;
+-
+- } else {
+- list_for_each_entry(pqn, &pqm->queues, process_queue_list) {
+- if (pqn->q &&
+- (pqn->q->properties.debug_event_type
+- == KFD_DBG_EV_STATUS_TRAP
+- || pqn->q->properties.debug_event_type
+- == KFD_DBG_EV_STATUS_VMFAULT)) {
+- *queue_id = pqn->q->properties.queue_id;
+- KFD_DBG_EV_SET_EVENT_TYPE(*event_status,
+- pqn->q->properties.debug_event_type);
+- KFD_DBG_EV_SET_SUSPEND_STATE(*event_status,
+- pqn->q->properties.is_suspended);
+- if (flags & KFD_DBG_EV_FLAG_CLEAR_STATUS)
+- pqn->q->properties.debug_event_type
+- = 0;
+- goto out;
+- }
+- }
+- ret = -EAGAIN;
+- }
+-
+-out:
+- mutex_unlock(&pdd->process->event_mutex);
+- return ret;
+-}
+-
+-/* create event queue struct associated with process per device */
+-static int kfd_create_event_queue(struct kfd_process_device *pdd)
+-{
+- struct process_queue_manager *pqm;
+- struct process_queue_node *pqn;
+- struct kfd_topology_device *tdev;
+- int ret;
+-
+- if (!pdd || !pdd->process)
+- return -ESRCH;
+-
+- tdev = kfd_topology_device_by_id(pdd->dev->id);
+-
+- pdd->dpd.max_debug_events = tdev->node_props.simd_count
+- * tdev->node_props.max_waves_per_simd;
+-
+- ret = kfifo_alloc(&pdd->dpd.fifo, pdd->dpd.max_debug_events,
+- GFP_KERNEL);
+-
+- if (ret)
+- return ret;
+-
+- init_waitqueue_head(&pdd->dpd.wait_queue);
+-
+- pqm = &pdd->process->pqm;
+-
+- /* to reset queue pending status - TBD need init in queue creation */
+- list_for_each_entry(pqn, &pqm->queues, process_queue_list) {
+- if (pqn->q->device == pdd->dev)
+- pqn->q->properties.debug_event_type = 0;
+- }
+-
+- return ret;
+-}
+-
+-/* update process device, write to kfifo and wake up wait queue */
+-static void kfd_dbg_ev_update_event_queue(struct kfd_process_device *pdd,
+- unsigned int doorbell_id,
+- bool is_vmfault)
+-{
+- struct process_queue_manager *pqm;
+- struct process_queue_node *pqn;
+- char fifo_output;
+-
+- if (!pdd->debug_trap_enabled)
+- return;
+-
+- pqm = &pdd->process->pqm;
+-
+- /* iterate through each queue */
+- list_for_each_entry(pqn, &pqm->queues,
+- process_queue_list) {
+-
+- if (!pqn->q)
+- continue;
+-
+- if (pqn->q->device != pdd->dev)
+- continue;
+-
+- if (pqn->q->doorbell_id != doorbell_id && !is_vmfault)
+- continue;
+-
+- pqn->q->properties.debug_event_type |=
+- is_vmfault ? KFD_DBG_EV_STATUS_VMFAULT :
+- KFD_DBG_EV_STATUS_TRAP;
+-
+- fifo_output = is_vmfault ? 'v' : 't';
+-
+- kfifo_in(&pdd->dpd.fifo, &fifo_output, 1);
+-
+- wake_up_all(&pdd->dpd.wait_queue);
+-
+- if (!is_vmfault)
+- break;
+- }
+-}
+-
+-/* set pending event queue entry from ring entry */
+-void kfd_set_dbg_ev_from_interrupt(struct kfd_dev *dev,
+- unsigned int pasid,
+- uint32_t doorbell_id,
+- bool is_vmfault)
+-{
+- struct kfd_process *p;
+- struct kfd_process_device *pdd;
+-
+- p = kfd_lookup_process_by_pasid(pasid);
+-
+- if (!p)
+- return;
+-
+- pdd = kfd_get_process_device_data(dev, p);
+-
+- if (!pdd) {
+- kfd_unref_process(p);
+- return;
+- }
+-
+- mutex_lock(&p->event_mutex);
+-
+- kfd_dbg_ev_update_event_queue(pdd, doorbell_id, is_vmfault);
+-
+- mutex_unlock(&p->event_mutex);
+-
+- kfd_unref_process(p);
+-}
+-
+-/* enable debug and return file pointer struct */
+-int kfd_dbg_ev_enable(struct kfd_process_device *pdd)
+-{
+- int ret;
+-
+- if (!pdd || !pdd->process)
+- return -ESRCH;
+-
+- mutex_lock(&pdd->process->event_mutex);
+-
+- ret = kfd_create_event_queue(pdd);
+-
+- mutex_unlock(&pdd->process->event_mutex);
+-
+- if (ret)
+- return ret;
+-
+- return anon_inode_getfd(kfd_dbg_name, &kfd_dbg_ev_fops,
+- (void *)&pdd->dpd, 0);
+-}
+-
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_debug_events.h b/drivers/gpu/drm/amd/amdkfd/kfd_debug_events.h
+deleted file mode 100644
+index 5b035a4321c6..000000000000
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_debug_events.h
++++ /dev/null
+@@ -1,40 +0,0 @@
+-/*
+- * Copyright 2019 Advanced Micro Devices, Inc.
+- *
+- * Permission is hereby granted, free of charge, to any person obtaining a
+- * copy of this software and associated documentation files (the "Software"),
+- * to deal in the Software without restriction, including without limitation
+- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+- * and/or sell copies of the Software, and to permit persons to whom the
+- * Software is furnished to do so, subject to the following conditions:
+- *
+- * The above copyright notice and this permission notice shall be included in
+- * all copies or substantial portions of the Software.
+- *
+- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
+- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+- * OTHER DEALINGS IN THE SOFTWARE.
+- */
+-
+-#ifndef KFD_DEBUG_EVENTS_H_INCLUDED
+-#define KFD_DEBUG_EVENTS_H_INCLUDED
+-
+-#include "kfd_priv.h"
+-
+-int kfd_dbg_ev_query_debug_event(struct kfd_process_device *pdd,
+- unsigned int *queue_id,
+- unsigned int flags,
+- uint32_t *event_status);
+-
+-void kfd_set_dbg_ev_from_interrupt(struct kfd_dev *dev,
+- unsigned int pasid,
+- uint32_t doorbell_id,
+- bool is_vmfault);
+-
+-int kfd_dbg_ev_enable(struct kfd_process_device *pdd);
+-
+-#endif
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c b/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c
+index ab8a695c4a3c..3ef67d2e0d9f 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_int_process_v9.c
+@@ -22,13 +22,9 @@
+
+ #include "kfd_priv.h"
+ #include "kfd_events.h"
+-#include "kfd_debug_events.h"
+ #include "soc15_int.h"
+ #include "kfd_device_queue_manager.h"
+
+-#define KFD_CONTEXT_ID_DEBUG_TRAP_MASK 0x000080
+-#define KFD_CONTEXT_ID_DEBUG_DOORBELL_MASK 0x0003ff
+-
+ static bool event_interrupt_isr_v9(struct kfd_dev *dev,
+ const uint32_t *ih_ring_entry,
+ uint32_t *patched_ihre,
+@@ -92,29 +88,21 @@ static void event_interrupt_wq_v9(struct kfd_dev *dev,
+ const uint32_t *ih_ring_entry)
+ {
+ uint16_t source_id, client_id, pasid, vmid;
+- uint32_t context_id0, context_id1;
++ uint32_t context_id;
+
+ source_id = SOC15_SOURCE_ID_FROM_IH_ENTRY(ih_ring_entry);
+ client_id = SOC15_CLIENT_ID_FROM_IH_ENTRY(ih_ring_entry);
+ pasid = SOC15_PASID_FROM_IH_ENTRY(ih_ring_entry);
+ vmid = SOC15_VMID_FROM_IH_ENTRY(ih_ring_entry);
+- context_id0 = SOC15_CONTEXT_ID0_FROM_IH_ENTRY(ih_ring_entry);
+- context_id1 = SOC15_CONTEXT_ID1_FROM_IH_ENTRY(ih_ring_entry);
++ context_id = SOC15_CONTEXT_ID0_FROM_IH_ENTRY(ih_ring_entry);
+
+ if (source_id == SOC15_INTSRC_CP_END_OF_PIPE)
+- kfd_signal_event_interrupt(pasid, context_id0, 32);
++ kfd_signal_event_interrupt(pasid, context_id, 32);
+ else if (source_id == SOC15_INTSRC_SDMA_TRAP)
+- kfd_signal_event_interrupt(pasid, context_id0 & 0xfffffff, 28);
+- else if (source_id == SOC15_INTSRC_SQ_INTERRUPT_MSG) {
+- if (context_id1 & KFD_CONTEXT_ID_DEBUG_TRAP_MASK) {
+- kfd_set_dbg_ev_from_interrupt(dev, pasid,
+- context_id0 &
+- KFD_CONTEXT_ID_DEBUG_DOORBELL_MASK,
+- false);
+- } else
+- kfd_signal_event_interrupt(pasid,
+- context_id0 & 0xffffff, 24);
+- } else if (source_id == SOC15_INTSRC_CP_BAD_OPCODE)
++ kfd_signal_event_interrupt(pasid, context_id & 0xfffffff, 28);
++ else if (source_id == SOC15_INTSRC_SQ_INTERRUPT_MSG)
++ kfd_signal_event_interrupt(pasid, context_id & 0xffffff, 24);
++ else if (source_id == SOC15_INTSRC_CP_BAD_OPCODE)
+ kfd_signal_hw_exception_event(pasid);
+ else if (client_id == SOC15_IH_CLIENTID_VMC ||
+ client_id == SOC15_IH_CLIENTID_VMC1 ||
+@@ -130,7 +118,6 @@ static void event_interrupt_wq_v9(struct kfd_dev *dev,
+ info.prot_read = ring_id & 0x10;
+ info.prot_write = ring_id & 0x20;
+
+- kfd_set_dbg_ev_from_interrupt(dev, pasid, -1, true);
+ kfd_process_vm_fault(dev->dqm, pasid);
+ kfd_signal_vm_fault_event(dev, pasid, &info);
+ }
+diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
+index 73aa6a3330eb..40c2b0d5a954 100644
+--- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
++++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
+@@ -510,7 +510,6 @@ struct queue_properties {
+ /* Relevant for CU */
+ uint32_t cu_mask_count; /* Must be a multiple of 32 */
+ uint32_t *cu_mask;
+- unsigned int debug_event_type;
+ };
+
+ #define QUEUE_IS_ACTIVE(q) ((q).queue_size > 0 && \
+@@ -697,13 +696,6 @@ enum kfd_pdd_bound {
+ PDD_BOUND_SUSPENDED,
+ };
+
+-struct kfd_debug_process_device {
+- struct kfifo fifo;
+- wait_queue_head_t wait_queue;
+- int max_debug_events;
+-};
+-
+-
+ /* Data that is per-process-per device. */
+ struct kfd_process_device {
+ /*
+@@ -718,9 +710,6 @@ struct kfd_process_device {
+ /* The process that owns this kfd_process_device. */
+ struct kfd_process *process;
+
+- /* per-process-per device debug event info */
+- struct kfd_debug_process_device dpd;
+-
+ /* per-process-per device QCM data structure */
+ struct qcm_process_device qpd;
+
+diff --git a/include/uapi/linux/kfd_ioctl.h b/include/uapi/linux/kfd_ioctl.h
+index 617c07047d55..8c2862565444 100644
+--- a/include/uapi/linux/kfd_ioctl.h
++++ b/include/uapi/linux/kfd_ioctl.h
+@@ -187,19 +187,11 @@ struct kfd_ioctl_dbg_wave_control_args {
+ __u32 buf_size_in_bytes; /*including gpu_id and buf_size */
+ };
+
+-/* mapping event types to API spec */
+-#define KFD_DBG_EV_STATUS_TRAP 1
+-#define KFD_DBG_EV_STATUS_VMFAULT 2
+-#define KFD_DBG_EV_STATUS_SUSPENDED 4
+-#define KFD_DBG_EV_FLAG_CLEAR_STATUS 1
+-
+-#define KFD_INVALID_QUEUEID 0xffffffff
+-
+ /* KFD_IOC_DBG_TRAP_ENABLE:
+ * ptr: unused
+ * data1: 0=disable, 1=enable
+ * data2: queue ID (for future use)
+- * data3: return value for fd
++ * data3: unused
+ */
+ #define KFD_IOC_DBG_TRAP_ENABLE 0
+
+@@ -243,14 +235,6 @@ struct kfd_ioctl_dbg_wave_control_args {
+ */
+ #define KFD_IOC_DBG_TRAP_NODE_RESUME 5
+
+-/* KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT:
+- * ptr: unused
+- * data1: queue id (IN/OUT)
+- * data2: flags (IN)
+- * data3: suspend[2:2], event type [1:0] (OUT)
+- */
+-#define KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT 6
+-
+ struct kfd_ioctl_dbg_trap_args {
+ __u64 ptr; /* to KFD -- used for pointer arguments: queue arrays */
+ __u32 pid; /* to KFD */
+@@ -673,9 +657,6 @@ struct kfd_ioctl_cross_memory_copy_args {
+ #define AMDKFD_IOC_IPC_EXPORT_HANDLE \
+ AMDKFD_IOWR(0x20, struct kfd_ioctl_ipc_export_handle_args)
+
+-#define AMDKFD_IOC_DBG_TRAP \
+- AMDKFD_IOWR(0x21, struct kfd_ioctl_dbg_trap_args)
+-
+ #define AMDKFD_IOC_CROSS_MEMORY_COPY \
+ AMDKFD_IOWR(0x22, struct kfd_ioctl_cross_memory_copy_args)
+
+--
+2.17.1
+