Am 27.01.2018 um 02:09 schrieb Felix Kuehling: > I split this into an AMDGPU and AMDKFD part. The bigger patches that > add lots of new code are not cherry-picked and squashed. Instead I > copied, reorganized and cleaned up the code by hand and then split it > into some semblance of a sensible history. I acknowledged major > contributors with signed-off-by lines but didn't list everyone who > ever touched that code (would probably be most of the team). > > I pushed an updated Thunk (rebased on ROCm 1.7) that works with this > KFD update. Most testing was done on Fiji with KFDTest (Yong started > working on open-sourcing it). I was also able to run the OpenCL > version of SHOC, though most sub-tests still fail. > > KFDTest can manage VRAM and system memory, submit shader dispatches, > receive events. I haven't tested multi-GPU yet, but in theory that > should also work, with system memory buffers shared between multiple > GPUs. > > The big missing piece at this point is support for userptr memory > (user-allocated memory mapped for GPU access). That's giong to be my > next patch series that should enable a much wider range of real-world > applications. > > AMDGPU: > Patches 1-5 are minor cleanups and fixes Patches #1-#5 are Reviewed-by: Christian König <christian.koenig at amd.com>. > Patches 6-10 add and implement KFD->KGD interfaces for GPUVM > > AMDKFD: > Patches 11-13 are minor cleanups and fixes > Patches 14-25 add all the GPUVM memory management functionality > > Felix Kuehling (22): > drm/amdgpu: remove useless BUG_ONs > drm/amdgpu: Fix header file dependencies > drm/amdgpu: Fix wrong mask in get_atc_vmid_pasid_mapping_pasid > drm/amdgpu: Remove unused kfd2kgd interface > drm/amdgpu: Add KFD eviction fence > drm/amdgpu: Update kgd2kfd_shared_resources for dGPU support > drm/amdgpu: add amdgpu_sync_clone > drm/amdgpu: Add GPUVM memory management functions for KFD > drm/amdgpu: Add submit IB function for KFD > drm/amdkfd: Add missing #ifdef CONFIG_AMD_IOMMU_V2 guard > drm/amdkfd: Use per-device sched_policy > drm/amdkfd: Add GPUVM virtual address space to PDD > drm/amdkfd: Implement KFD process eviction/restore > uapi: Fix type used in ioctl parameter structures > drm/amdkfd: Remove limit on number of GPUs > drm/amdkfd: Aperture setup for dGPUs > drm/amdkfd: Add per-process IDR for buffer handles > drm/amdkfd: Allocate CWSR trap handler memory for dGPUs > drm/amdkfd: Add TC flush on VMID deallocation for Hawaii > drm/amdkfd: Add ioctls for GPUVM memory management > drm/amdkfd: Kmap event page for dGPUs > drm/amdkfd: Add module option for testing large-BAR functionality > > Harish Kasiviswanathan (1): > drm/amdkfd: Remove unaligned memory access > > Oak Zeng (1): > drm/amdkfd: Populate DRM render device minor > > Yong Zhao (1): > drm/amdgpu: Replace kgd_mem with amdgpu_bo for kernel pinned gtt mem > > drivers/gpu/drm/amd/amdgpu/Makefile | 2 + > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 127 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 115 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c | 196 +++ > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 80 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 82 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 1500 ++++++++++++++++++++ > drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 4 + > drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 2 + > drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 6 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 53 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_sync.h | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 25 + > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 1 + > drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 484 +++++++ > drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 + > drivers/gpu/drm/amd/amdkfd/kfd_device.c | 65 +- > .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 290 +++- > .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 9 + > drivers/gpu/drm/amd/amdkfd/kfd_events.c | 31 +- > drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c | 59 +- > drivers/gpu/drm/amd/amdkfd/kfd_module.c | 7 + > drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 37 + > drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 79 +- > drivers/gpu/drm/amd/amdkfd/kfd_process.c | 490 ++++++- > drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 4 + > drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 1 + > drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 101 +- > include/uapi/linux/kfd_ioctl.h | 87 +- > 29 files changed, 3811 insertions(+), 130 deletions(-) > create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c > create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c >