aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0130-drm-amdkfd-add-H-W-debugger-IOCTL-set-definitions.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0130-drm-amdkfd-add-H-W-debugger-IOCTL-set-definitions.patch')
-rw-r--r--common/recipes-kernel/linux/files/0130-drm-amdkfd-add-H-W-debugger-IOCTL-set-definitions.patch128
1 files changed, 0 insertions, 128 deletions
diff --git a/common/recipes-kernel/linux/files/0130-drm-amdkfd-add-H-W-debugger-IOCTL-set-definitions.patch b/common/recipes-kernel/linux/files/0130-drm-amdkfd-add-H-W-debugger-IOCTL-set-definitions.patch
deleted file mode 100644
index 767f5174..00000000
--- a/common/recipes-kernel/linux/files/0130-drm-amdkfd-add-H-W-debugger-IOCTL-set-definitions.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From aef11009c45ca594c18ecc822f101e3908ca3fb4 Mon Sep 17 00:00:00 2001
-From: Yair Shachar <yair.shachar@amd.com>
-Date: Sun, 7 Dec 2014 17:05:22 +0200
-Subject: [PATCH 0130/1050] drm/amdkfd: add H/W debugger IOCTL set definitions
-
-This patch adds four new IOCTLs to amdkfd. These IOCTLs expose a H/W
-debugger functionality to the userspace.
-
-The IOCTLs are:
-
-- AMDKFD_IOC_DBG_REGISTER:
-
-The purpose of this IOCTL is to notify amdkfd that a process wants to use
-GPU debugging facilities on itself only.
-It is expected that this IOCTL would be called before any other H/W
-debugger requests are sent to amdkfd and for each GPU where the H/W
-debugging needs to be enabled. The use of this IOCTL ensures that only
-one instance of a debugger is active in the system.
-
-- AMDKFD_IOC_DBG_UNREGISTER:
-
-This IOCTL detaches the debugger/debugged process from the H/W
-Debug which was established by the AMDKFD_IOC_DBG_REGISTER IOCTL.
-
-- AMDKFD_IOC_DBG_ADDRESS_WATCH:
-
-This IOCTL allows to set different watchpoints with various conditions as
-indicated by the IOCTL's arguments. The available number of watchpoints
-is retrieved from topology. This operation is confined to the current
-debugged process, which was registered through AMDKFD_IOC_DBG_REGISTER.
-
-- AMDKFD_IOC_DBG_WAVE_CONTROL:
-
-This IOCTL allows to control a wavefront as indicated by the IOCTL's
-arguments. For example, you can halt/resume or kill either a
-single wavefront or a set of wavefronts. This operation is confined to
-the current debugged process, which was registered through
-AMDKFD_IOC_DBG_REGISTER.
-
-Because the arguments for the address watch IOCTL and wave control IOCTL
-are dynamic, meaning that they could vary in size, the userspace passes a
-pointer to a structure (in userspace) that contains the value of the
-arguments. The kernel driver is responsible to parse this structure and
-validate its contents.
-
-v2: change void* to uint64_t inside ioctl arguments
-
-Signed-off-by: Yair Shachar <yair.shachar@amd.com>
-Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
----
- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 54 ++++++++++++++++++++++++++++++++
- 1 file changed, 54 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-index b2c6109..b358e91 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
-@@ -432,6 +432,48 @@ out:
- return err;
- }
-
-+static int kfd_ioctl_dbg_register(struct file *filep,
-+ struct kfd_process *p, void *data)
-+{
-+ long status = -EFAULT;
-+
-+ return status;
-+}
-+
-+static int kfd_ioctl_dbg_unrgesiter(struct file *filep,
-+ struct kfd_process *p, void *data)
-+{
-+ long status = -EFAULT;
-+
-+ return status;
-+}
-+
-+/*
-+ * Parse and generate variable size data structure for address watch.
-+ * Total size of the buffer and # watch points is limited in order
-+ * to prevent kernel abuse. (no bearing to the much smaller HW limitation
-+ * which is enforced by dbgdev module)
-+ * please also note that the watch address itself are not "copied from user",
-+ * since it be set into the HW in user mode values.
-+ *
-+ */
-+static int kfd_ioctl_dbg_address_watch(struct file *filep,
-+ struct kfd_process *p, void *data)
-+{
-+ long status = -EFAULT;
-+
-+ return status;
-+}
-+
-+/* Parse and generate fixed size data structure for wave control */
-+static int kfd_ioctl_dbg_wave_control(struct file *filep,
-+ struct kfd_process *p, void *data)
-+{
-+ long status = -EFAULT;
-+
-+ return status;
-+}
-+
- static int kfd_ioctl_get_clock_counters(struct file *filep,
- struct kfd_process *p, void *data)
- {
-@@ -612,6 +654,18 @@ static const struct amdkfd_ioctl_desc amdkfd_ioctls[] = {
-
- AMDKFD_IOCTL_DEF(AMDKFD_IOC_WAIT_EVENTS,
- kfd_ioctl_wait_events, 0),
-+
-+ AMDKFD_IOCTL_DEF(AMDKFD_IOC_DBG_REGISTER,
-+ kfd_ioctl_dbg_register, 0),
-+
-+ AMDKFD_IOCTL_DEF(AMDKFD_IOC_DBG_UNREGISTER,
-+ kfd_ioctl_dbg_unrgesiter, 0),
-+
-+ AMDKFD_IOCTL_DEF(AMDKFD_IOC_DBG_ADDRESS_WATCH,
-+ kfd_ioctl_dbg_address_watch, 0),
-+
-+ AMDKFD_IOCTL_DEF(AMDKFD_IOC_DBG_WAVE_CONTROL,
-+ kfd_ioctl_dbg_wave_control, 0),
- };
-
- #define AMDKFD_CORE_IOCTL_COUNT ARRAY_SIZE(amdkfd_ioctls)
---
-1.9.1
-