Currently the SVM ranges use actual_gpu_id but with Checkpoint Restore
support its possible that the SVM ranges can be resumed on another node
where the actual_gpu_id may not be same as the original (user_gpu_id)
gpu id. So modify svm code to use user_gpu_id.

Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhard...@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_process.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
index 06e6e9180fbc..8e2780d2f735 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
@@ -1797,7 +1797,7 @@ int kfd_process_gpuidx_from_gpuid(struct kfd_process *p, 
uint32_t gpu_id)
        int i;
 
        for (i = 0; i < p->n_pdds; i++)
-               if (p->pdds[i] && gpu_id == p->pdds[i]->dev->id)
+               if (p->pdds[i] && gpu_id == p->pdds[i]->user_gpu_id)
                        return i;
        return -EINVAL;
 }
@@ -1810,7 +1810,7 @@ kfd_process_gpuid_from_adev(struct kfd_process *p, struct 
amdgpu_device *adev,
 
        for (i = 0; i < p->n_pdds; i++)
                if (p->pdds[i] && p->pdds[i]->dev->adev == adev) {
-                       *gpuid = p->pdds[i]->dev->id;
+                       *gpuid = p->pdds[i]->user_gpu_id;
                        *gpuidx = i;
                        return 0;
                }
-- 
2.17.1

Reply via email to