Am 19.09.2017 um 03:05 schrieb Felix Kuehling: > Thanks for the reviews. I rebased this on amd-staging-drm-next, retested > and submitted. > > Christian, do you want to do some graphics PASID and VMFault work on top > of that? I think I'll be working on more KFD upstreaming this week and > maybe look at this subject again next week. Yeah, that's on my TODO list together with quite a bunch of other things. Going to give that a try when I have time, but don't expect anything before xmas. Regards, Christian. > > Regards, > Felix > > > On 2017-09-12 07:05 PM, Felix Kuehling wrote: >> Rebased on adeucher/amd-staging-4.13 and tested on Vega10 (graphics) >> and Kaveri (KFD). Meaningful graphics tests with retry faults enabled >> will only be possible after PASID support is added to amdgpu_cs. >> >> The chash table was moved to drivers/gpu/drm/amd/lib for now but is >> ready to move to lib if needed. I have not got any feedback on LKLM >> and I don't want that to hold up the patch series. >> >> TODO: >> * Finish upstreaming KFD >> * Allocate PASIDs for graphics contexts >> * Setup VMID-PASID mapping during graphics command submission >> * Confirm that graphics page faults have the correct PASID in the IV >> >> >> Felix Kuehling (8): >> drm/amdgpu: Fix error handling in amdgpu_vm_init >> drm/amdgpu: Add PASID management >> drm/radeon: Add PASID manager for KFD >> drm/amdkfd: Separate doorbell allocation from PASID >> drm/amdkfd: Use PASID manager from KGD >> drm/amdgpu: Add prescreening stage in IH processing >> drm/amd: Closed hash table with low overhead >> drm/amdgpu: Track pending retry faults in IH and VM (v2) >> >> drivers/gpu/drm/Kconfig | 3 + >> drivers/gpu/drm/Makefile | 1 + >> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 + >> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2 + >> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 2 + >> drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 82 +++ >> drivers/gpu/drm/amd/amdgpu/amdgpu_ih.h | 12 + >> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +- >> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 84 ++- >> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 21 +- >> drivers/gpu/drm/amd/amdgpu/cik_ih.c | 14 + >> drivers/gpu/drm/amd/amdgpu/cz_ih.c | 14 + >> drivers/gpu/drm/amd/amdgpu/iceland_ih.c | 14 + >> drivers/gpu/drm/amd/amdgpu/si_ih.c | 14 + >> drivers/gpu/drm/amd/amdgpu/tonga_ih.c | 14 + >> drivers/gpu/drm/amd/amdgpu/vega10_ih.c | 90 ++++ >> drivers/gpu/drm/amd/amdkfd/kfd_device.c | 7 - >> drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 50 +- >> drivers/gpu/drm/amd/amdkfd/kfd_module.c | 6 - >> drivers/gpu/drm/amd/amdkfd/kfd_pasid.c | 90 ++-- >> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 10 +- >> drivers/gpu/drm/amd/amdkfd/kfd_process.c | 6 + >> drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 6 + >> drivers/gpu/drm/amd/include/linux/chash.h | 358 +++++++++++++ >> drivers/gpu/drm/amd/lib/Kconfig | 27 + >> drivers/gpu/drm/amd/lib/Makefile | 11 + >> drivers/gpu/drm/amd/lib/chash.c | 622 ++++++++++++++++++++++ >> drivers/gpu/drm/radeon/radeon_kfd.c | 31 ++ >> 28 files changed, 1504 insertions(+), 91 deletions(-) >> create mode 100644 drivers/gpu/drm/amd/include/linux/chash.h >> create mode 100644 drivers/gpu/drm/amd/lib/Kconfig >> create mode 100644 drivers/gpu/drm/amd/lib/Makefile >> create mode 100644 drivers/gpu/drm/amd/lib/chash.c >>