Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdkfd: kfd_bo_mapped_dev support partition

Change amdgpu_amdkfd_bo_mapped_to_dev to use drm_priv as parameter
instead of adev, to support spatial partition. This is only used by CRIU
checkpoint restore now. No functional change.

Signed-off-by: Philip Yang <Philip.Yang@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Philip Yang and committed by
Alex Deucher
f9e292cb caaf5762

+5 -4
+1 -1
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
··· 345 345 pasid_notify pasid_fn, void *data, uint32_t reset); 346 346 347 347 bool amdgpu_amdkfd_is_fed(struct amdgpu_device *adev); 348 - bool amdgpu_amdkfd_bo_mapped_to_dev(struct amdgpu_device *adev, struct kgd_mem *mem); 348 + bool amdgpu_amdkfd_bo_mapped_to_dev(void *drm_priv, struct kgd_mem *mem); 349 349 void amdgpu_amdkfd_block_mmu_notifications(void *p); 350 350 int amdgpu_amdkfd_criu_resume(void *p); 351 351 bool amdgpu_amdkfd_ras_query_utcl2_poison_status(struct amdgpu_device *adev,
+3 -2
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
··· 3200 3200 return 0; 3201 3201 } 3202 3202 3203 - bool amdgpu_amdkfd_bo_mapped_to_dev(struct amdgpu_device *adev, struct kgd_mem *mem) 3203 + bool amdgpu_amdkfd_bo_mapped_to_dev(void *drm_priv, struct kgd_mem *mem) 3204 3204 { 3205 + struct amdgpu_vm *vm = drm_priv_to_vm(drm_priv); 3205 3206 struct kfd_mem_attachment *entry; 3206 3207 3207 3208 list_for_each_entry(entry, &mem->attachments, list) { 3208 - if (entry->is_mapped && entry->adev == adev) 3209 + if (entry->is_mapped && entry->bo_va->base.vm == vm) 3209 3210 return true; 3210 3211 } 3211 3212 return false;
+1 -1
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
··· 1963 1963 bo_bucket->offset = amdgpu_bo_mmap_offset(dumper_bo); 1964 1964 1965 1965 for (i = 0; i < p->n_pdds; i++) { 1966 - if (amdgpu_amdkfd_bo_mapped_to_dev(p->pdds[i]->dev->adev, kgd_mem)) 1966 + if (amdgpu_amdkfd_bo_mapped_to_dev(p->pdds[i]->drm_priv, kgd_mem)) 1967 1967 bo_priv->mapped_gpuids[dev_idx++] = p->pdds[i]->user_gpu_id; 1968 1968 } 1969 1969