Hi Dave,
Here is the pull request of amdkfd for 4.2
drm-amdkfd-next-2015-05-18:
- Add the interrupts & events modules, including new IOCTLs to create and wait on events. The HSA RT open source stack is mainly using events to know when a dispatched work has been completed. In addition, this module is a pre-requisite for the next module I'm going to upstream - debugger support
This module also handles H/W exceptions, such as memory exception received through the IOMMUv2 H/W and Bad Opcode exception receieved from the GPU.
- Adding a new kernel module parameter to let the user decide whether he wants to receive a SIGTERM when a memory exception occurs inside the GPU kernel and the HSA application doesn't wait on an appropriate event, or if he just want to receive notification about this event in dmesg. The default is the latter.
- Additional improvements for SDMA code
- Update my email address in Maintainers file as I'm leaving AMD in two weeks.
Thanks,
Oded
The following changes since commit dde10068e1a4798fa44e68a5d08b5dfe3602cbba:
Merge branch 'drm-armada-devel' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into drm-next (2015-05-15 15:24:41 +1000)
are available in the git repository at:
ssh://gabbayo@people.freedesktop.org/~gabbayo/linux tags/drm-amdkfd-next-2015-05-18
for you to fetch changes up to a441b1ddc5ad53aaa9e6d4d0b98387b1cf0a9ba8:
drm/amdkfd: change driver version to 0.7.2 (2015-05-18 09:15:28 +0300)
---------------------------------------------------------------- Alexey Skidanov (2): drm/amdkfd: Add memory exception handling drm/amdkfd: Add bad opcode exception handling
Andrew Lewycky (4): drm/amdkfd: Add interrupt handling module drm/amdkfd: add events IOCTL set definitions drm/amdkfd: Add the events module drm/amdkfd: Implement events IOCTLs
Firo Yang (1): drm/amdkfd: Remove unessary void pointer cast
Oded Gabbay (7): drm/amdkfd: reformat some debug prints drm/amdkfd: Use new struct for asic specific ops drm/amdkfd: make the sdma vm init to be asic specific MAINTAINERS: update amdkfd Oded's email address drm/radeon: Add init interrupt kfd->kgd interface drm/amdkfd: Add module parameter of send_sigterm drm/amdkfd: change driver version to 0.7.2
MAINTAINERS | 2 +- drivers/gpu/drm/amd/amdkfd/Makefile | 1 + drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c | 66 ++ drivers/gpu/drm/amd/amdkfd/cik_int.h | 41 + drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 87 +- drivers/gpu/drm/amd/amdkfd/kfd_device.c | 52 +- .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 30 +- .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 21 +- .../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 18 +- .../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 10 +- drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 15 +- drivers/gpu/drm/amd/amdkfd/kfd_events.c | 965 +++++++++++++++++++++ drivers/gpu/drm/amd/amdkfd/kfd_events.h | 84 ++ drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c | 188 ++++ drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 5 +- drivers/gpu/drm/amd/amdkfd/kfd_module.c | 9 +- drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 75 ++ drivers/gpu/drm/amd/amdkfd/kfd_process.c | 27 +- drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 2 + drivers/gpu/drm/radeon/cik_reg.h | 2 + drivers/gpu/drm/radeon/cikd.h | 1 + drivers/gpu/drm/radeon/radeon_kfd.c | 21 +- include/uapi/linux/kfd_ioctl.h | 96 +- 23 files changed, 1778 insertions(+), 40 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdkfd/cik_event_interrupt.c create mode 100644 drivers/gpu/drm/amd/amdkfd/cik_int.h create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_events.c create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_events.h create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_interrupt.c
On Mon, May 18, 2015 at 9:29 AM, Oded Gabbay oded.gabbay@gmail.com wrote:
Fixing Alex's email address. Sorry.
Two things,
a) pull request from ssh:// please fix scripts to generate git:// URLs,
b) ioctls with bool in them make me worry, four packed bool's even more, 4 packed bools with a 64-bit straight after them put me over the not pulling this edge.
I don't trust bools in ioctl defintions, please use explicitly sized types.
Dave.
On May 19, 2015 3:16 AM, "Dave Airlie" airlied@gmail.com wrote:
and wait
on events. The HSA RT open source stack is mainly using events to
know when
a dispatched work has been completed. In addition, this module is a pre-requisite for the next module I'm going to upstream - debugger
support
This module also handles H/W exceptions, such as memory exception
received
through the IOMMUv2 H/W and Bad Opcode exception receieved from the
GPU.
he wants
to receive a SIGTERM when a memory exception occurs inside the GPU
kernel and
the HSA application doesn't wait on an appropriate event, or if he
just want
to receive notification about this event in dmesg. The default is the
latter.
weeks.
pulling this edge.
I don't trust bools in ioctl defintions, please use explicitly sized
types.
Dave.
Thanks Dave, No problem, I'll fix and resend it today.
Oded
dri-devel@lists.freedesktop.org