drm/amdkfd: add svm_bo eviction mechanism support
authorFelix Kuehling <Felix.Kuehling@amd.com>
Thu, 25 Feb 2021 04:24:53 +0000 (23:24 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 21 Apr 2021 01:49:39 +0000 (21:49 -0400)
commitb41896e3eeb5cfb9f906f5d72d9b9c735dc234d4
tree1ad9ae4936067c0833a56e531f2bdb0f3b2dbb09
parentf04c79cfba7e01db060d17c8d46f23cf8e02845a
drm/amdkfd: add svm_bo eviction mechanism support

svm_bo eviction mechanism is different from regular BOs.
Every SVM_BO created contains one eviction fence and one
worker item for eviction process.
SVM_BOs can be attached to one or more pranges.
For SVM_BO eviction mechanism, TTM will start to call
enable_signal callback for every SVM_BO until VRAM space
is available.
Here, all the ttm_evict calls are synchronous, this guarantees
that each eviction has completed and the fence has signaled before
it returns.

Signed-off-by: Alex Sierra <alex.sierra@amd.com>
Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_svm.c
drivers/gpu/drm/amd/amdkfd/kfd_svm.h