OK , just ignore it . BTW , if you think it's a hack currently used in KFD to share the memory among GPUs, what's your plane to use the peer GPU through XGMI from GEM point of view ? Regards shaoyun.liu On 2019-03-26 2:56 p.m., Christian König wrote: > Am 26.03.19 um 16:51 schrieb Liu, Shaoyun: >> The context device pointer could be different of the object been >> acctually allocated > > Actually that is unnecessary, cause the GEM adev is always identical > to the file_priv. > > E.g. we don't support the hack using in the KFD for BO sharing here. > >> >> Change-Id: I7b2338858126d75350b65ff04d9bb419e1eae15c >> Signed-off-by: shaoyunl <shaoyun.liu@xxxxxxx> >> --- >> drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c >> index 9ee8d7a..a82c3b1 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c >> @@ -117,8 +117,8 @@ int amdgpu_gem_object_open(struct drm_gem_object >> *obj, >> struct drm_file *file_priv) >> { >> struct amdgpu_bo *abo = gem_to_amdgpu_bo(obj); >> - struct amdgpu_device *adev = amdgpu_ttm_adev(abo->tbo.bdev); >> struct amdgpu_fpriv *fpriv = file_priv->driver_priv; >> + struct amdgpu_device *adev = fpriv->ctx_mgr.adev; >> struct amdgpu_vm *vm = &fpriv->vm; >> struct amdgpu_bo_va *bo_va; >> struct mm_struct *mm; >> @@ -150,8 +150,8 @@ void amdgpu_gem_object_close(struct >> drm_gem_object *obj, >> struct drm_file *file_priv) >> { >> struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj); >> - struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev); >> struct amdgpu_fpriv *fpriv = file_priv->driver_priv; >> + struct amdgpu_device *adev = fpriv->ctx_mgr.adev; >> struct amdgpu_vm *vm = &fpriv->vm; >> struct amdgpu_bo_list_entry vm_pd; > _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx