Hi, Here is the v4 patch set of amdkfd. This version mainly contains fixes to the code published in v3 and changes to commit messages to reflect the fixes. In addition, I have added the latest version of a patch-set prepared by Joerg Roedel that allows the mm sub-system to handle TLBs which are external to the CPU (i.e handled by the IOMMU). The patch-set is rebased over latest drm-next (3.17-rc5) and radeon's drm-next-3.18. Therefore, I removed some mm and IOMMU patches that were part of my tree in v3 as they are already merged into kernel 3.17 For people who like to review using git, the v4 patch set is located at: http://cgit.freedesktop.org/~gabbayo/linux/?h=amdkfd-v4 Link to v3 cover letter: http://lwn.net/Articles/607730/ Link to v2 cover letter: http://lists.freedesktop.org/archives/dri-devel/2014-July/064011.html Link to v1 cover letter: http://lwn.net/Articles/605153/ Any comment / review is appreciated. - Oded Alexey Skidanov (1): amdkfd: Implement the Get Process Aperture IOCTL Andrew Lewycky (3): amdkfd: Add basic modules to amdkfd amdkfd: Add interrupt handling module amdkfd: Implement the Set Memory Policy IOCTL Ben Goz (8): amdkfd: Add queue module amdkfd: Add mqd_manager module amdkfd: Add kernel queue module amdkfd: Add module parameter of scheduling policy amdkfd: Add packet manager module amdkfd: Add process queue manager module amdkfd: Add device queue manager module amdkfd: Implement the create/destroy/update queue IOCTLs Evgeny Pinchuk (2): amdkfd: Add topology module to amdkfd amdkfd: Implement the Get Clock Counters IOCTL Oded Gabbay (9): drm/radeon: reduce number of free VMIDs and pipes in KV drm/radeon/cik: Don't touch int of pipes 1-7 drm/radeon: Report doorbell configuration to amdkfd drm/radeon: adding synchronization for GRBM GFX drm/radeon: Add radeon <--> amdkfd interface Update MAINTAINERS and CREDITS files with amdkfd info amdkfd: Add IOCTL set definitions of amdkfd amdkfd: Add amdkfd skeleton driver amdkfd: Add binding/unbinding calls to amd_iommu driver CREDITS | 7 + MAINTAINERS | 10 + drivers/gpu/drm/radeon/Kconfig | 2 + drivers/gpu/drm/radeon/Makefile | 3 + drivers/gpu/drm/radeon/amdkfd/Kconfig | 10 + drivers/gpu/drm/radeon/amdkfd/Makefile | 14 + drivers/gpu/drm/radeon/amdkfd/cik_regs.h | 221 ++++ drivers/gpu/drm/radeon/amdkfd/kfd_aperture.c | 350 ++++++ drivers/gpu/drm/radeon/amdkfd/kfd_chardev.c | 520 +++++++++ drivers/gpu/drm/radeon/amdkfd/kfd_crat.h | 294 +++++ drivers/gpu/drm/radeon/amdkfd/kfd_device.c | 300 +++++ .../drm/radeon/amdkfd/kfd_device_queue_manager.c | 995 ++++++++++++++++ .../drm/radeon/amdkfd/kfd_device_queue_manager.h | 144 +++ drivers/gpu/drm/radeon/amdkfd/kfd_doorbell.c | 236 ++++ drivers/gpu/drm/radeon/amdkfd/kfd_interrupt.c | 161 +++ drivers/gpu/drm/radeon/amdkfd/kfd_kernel_queue.c | 330 ++++++ drivers/gpu/drm/radeon/amdkfd/kfd_kernel_queue.h | 66 ++ drivers/gpu/drm/radeon/amdkfd/kfd_module.c | 147 +++ drivers/gpu/drm/radeon/amdkfd/kfd_mqd_manager.c | 312 +++++ drivers/gpu/drm/radeon/amdkfd/kfd_mqd_manager.h | 88 ++ drivers/gpu/drm/radeon/amdkfd/kfd_packet_manager.c | 495 ++++++++ drivers/gpu/drm/radeon/amdkfd/kfd_pasid.c | 95 ++ drivers/gpu/drm/radeon/amdkfd/kfd_pm4_headers.h | 682 +++++++++++ drivers/gpu/drm/radeon/amdkfd/kfd_pm4_opcodes.h | 107 ++ drivers/gpu/drm/radeon/amdkfd/kfd_priv.h | 560 +++++++++ drivers/gpu/drm/radeon/amdkfd/kfd_process.c | 350 ++++++ .../drm/radeon/amdkfd/kfd_process_queue_manager.c | 353 ++++++ drivers/gpu/drm/radeon/amdkfd/kfd_queue.c | 85 ++ drivers/gpu/drm/radeon/amdkfd/kfd_topology.c | 1207 ++++++++++++++++++++ drivers/gpu/drm/radeon/amdkfd/kfd_topology.h | 168 +++ drivers/gpu/drm/radeon/cik.c | 154 +-- drivers/gpu/drm/radeon/cik_reg.h | 65 ++ drivers/gpu/drm/radeon/cikd.h | 53 +- drivers/gpu/drm/radeon/radeon.h | 10 + drivers/gpu/drm/radeon/radeon_device.c | 32 + drivers/gpu/drm/radeon/radeon_drv.c | 5 + drivers/gpu/drm/radeon/radeon_kfd.c | 525 +++++++++ drivers/gpu/drm/radeon/radeon_kfd.h | 177 +++ drivers/gpu/drm/radeon/radeon_kms.c | 7 + include/uapi/linux/kfd_ioctl.h | 126 ++ 40 files changed, 9371 insertions(+), 95 deletions(-) create mode 100644 drivers/gpu/drm/radeon/amdkfd/Kconfig create mode 100644 drivers/gpu/drm/radeon/amdkfd/Makefile create mode 100644 drivers/gpu/drm/radeon/amdkfd/cik_regs.h create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_aperture.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_chardev.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_crat.h create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_device.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_device_queue_manager.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_device_queue_manager.h create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_doorbell.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_interrupt.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_kernel_queue.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_kernel_queue.h create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_module.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_mqd_manager.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_mqd_manager.h create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_packet_manager.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_pasid.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_pm4_headers.h create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_pm4_opcodes.h create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_priv.h create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_process.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_process_queue_manager.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_queue.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_topology.c create mode 100644 drivers/gpu/drm/radeon/amdkfd/kfd_topology.h create mode 100644 drivers/gpu/drm/radeon/radeon_kfd.c create mode 100644 drivers/gpu/drm/radeon/radeon_kfd.h create mode 100644 include/uapi/linux/kfd_ioctl.h -- 1.9.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel