From: Oded Gabbay <oded.gabbay@gmail.com>
To: airlied@linux.ie
Cc: dri-devel@lists.freedesktop.org
Subject: [PULL] drm-amdkfd-next
Date: Mon, 1 Jun 2015 08:53:07 +0300 [thread overview]
Message-ID: <20150601055307.GA28657@odedg-home> (raw)
Hi Dave,
Another pull request of amdkfd for 4.2
drm-amdkfd-next-2015-06-01:
- Add the H/W debugger support module, including new IOCTLs to:
- register/unregister a process as a debugged process
- Set address watch-point in the debugged process's GPU kernel
- Do a wave control operation in the debugged process's waves
See the commit messages for more details on the available operations.
The debugged process can only perform debug operation on itself. It is
blocked by the amdkfd+H/W from performing operations on other processes's
waves or GPU kernels. The blocking is done by setting the VMID and PASID of
the debugged process in the packets that are sent to the CP with the debug
instructions.
- Add support for static user-mode queues. These queues are regular queues,
but because they belong to the debugged process, we need to make sure the CP
doesn't preempt them during a debug operation. Therefore, we mark them as
static for the CP ignore them during preemption.
- Support killing all the waves when a process is terminated. This is needed
in case a process is terminated but we can't UNMAP its queues (can occur due
to several reasons). In that case, the CP could be stuck unless we kill all
its waves. This function is *very* important as it provides the kernel a high
level of control over the GPU. The reason we didn't upstream this function
so far, is because it is implemented using the H/W debugger module functions,
so we had to wait until we can upstream the H/W debugger module.
- Replace declaration of bitmap from unsigned long to standard DECLARE_BITMAP
Thanks,
Oded
The following changes since commit 95872b49ce14169a1ce0dfaac62e284cbdc6eea8:
Merge branch 'drm-tda998x-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next (2015-05-29 09:19:59 +1000)
are available in the git repository at:
git://people.freedesktop.org/~gabbayo/linux tags/drm-amdkfd-next-2015-06-01
for you to fetch changes up to c34d7db08e60fdc1e43bd478a8d5b40fea7703da:
drm/amdkfd: Enforce kill all waves on process termination (2015-06-01 08:43:42 +0300)
----------------------------------------------------------------
Alexey Skidanov (1):
drm/radeon: Add ATC VMID<-->PASID functions to kfd->kgd
Ben Goz (1):
drm/amdkfd: Enforce kill all waves on process termination
Joe Perches (1):
drm/amdkfd: Use DECLARE_BITMAP
Yair Shachar (9):
drm/radeon: Add H/W debugger kfd->kgd functions
drm/amdkfd: add H/W debugger IOCTL set definitions
drm/amdkfd: Add static user-mode queues support
drm/amdkfd: Add skeleton H/W debugger module support
drm/amdkfd: Add wave control operation to debugger
drm/amdkfd: Add address watch operation to debugger
drm/amdkfd: Implement (un)register debugger IOCTLs
drm/amdkfd: Implement wave control debugger IOCTL
drm/amdkfd: Implement address watch debugger IOCTL
drivers/gpu/drm/amd/amdkfd/Makefile | 3 +-
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 304 +++++++
drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c | 886 +++++++++++++++++++++
drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.h | 193 +++++
drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c | 168 ++++
drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.h | 294 +++++++
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 5 +
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 48 +-
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 6 +
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 46 +-
drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers.h | 6 +-
drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_diq.h | 290 +++++++
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 24 +-
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 11 +
.../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 18 +-
drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 21 +
drivers/gpu/drm/radeon/cik_reg.h | 56 +-
drivers/gpu/drm/radeon/cikd.h | 9 +-
drivers/gpu/drm/radeon/radeon_kfd.c | 151 +++-
include/uapi/linux/kfd_ioctl.h | 43 +-
20 files changed, 2547 insertions(+), 35 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_diq.h
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2015-06-01 5:53 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-01 5:53 Oded Gabbay [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-01-16 15:39 [PULL] drm-amdkfd-next Oded Gabbay
2016-09-19 19:49 Oded Gabbay
2016-09-27 6:55 ` Oded Gabbay
2016-07-03 5:14 Oded Gabbay
2016-05-04 6:31 Oded Gabbay
2016-02-27 21:07 Oded Gabbay
2015-07-20 8:01 Oded Gabbay
2015-05-18 6:29 Oded Gabbay
2015-05-18 6:31 ` Oded Gabbay
2015-05-19 0:16 ` Dave Airlie
2015-05-19 4:39 ` Oded Gabbay
2015-03-25 12:22 Oded Gabbay
2015-01-21 12:38 Oded Gabbay
2015-01-21 23:47 ` Dave Airlie
2015-01-22 9:42 ` Oded Gabbay
2015-01-09 20:33 Oded Gabbay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150601055307.GA28657@odedg-home \
--to=oded.gabbay@gmail.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).