[Public] Hi Christian, OK. Then I think we should modify the document for amdgpu_bo_get_preferred_pin_domain since it is not only for display scanout, right ? /** * amdgpu_bo_get_preferred_pin_domain - get preferred domain for scanout * @adev: amdgpu device object * @domain: allowed :ref:`memory domains <amdgpu_memory_domains>` * * Returns: * Which of the allowed domains is preferred for pinning the BO for scanout. */ uint32_t amdgpu_bo_get_preferred_pin_domain(struct amdgpu_device *adev, uint32_t domain) { if (domain == (AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT)) { domain = AMDGPU_GEM_DOMAIN_VRAM; if (adev->gmc.real_vram_size <= AMDGPU_SG_THRESHOLD) domain = AMDGPU_GEM_DOMAIN_GTT; } return domain; } BRs, Yifan -----Original Message----- From: Koenig, Christian <Christian.Koenig@xxxxxxx> Sent: Wednesday, August 25, 2021 3:47 PM To: Zhang, Yifan <Yifan1.Zhang@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx; Deucher, Alexander <Alexander.Deucher@xxxxxxx> Subject: Re: [PATCH] drm/amdgpu: remove preferred domain judgement in pt/pd creation Am 25.08.21 um 09:44 schrieb Yifan Zhang: > amdgpu_bo_get_preferred_pin_domain was added to handle system memory > page tables. Since system memory pt/pd is disabled now, remove > preferred domain judgement to avoid confusion. Well I would rather keep that and enable system memory page tables again. We should probably add IOMMU checks to amdgpu_bo_get_preferred_pin_domain() anyway. My last status is that this has been causing problems with DC as well. Alex, what do you think? Regards, Christian. > > Signed-off-by: Yifan Zhang <yifan1.zhang@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 0b893aa21ffe..764822edba18 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -926,7 +926,6 @@ static int amdgpu_vm_pt_create(struct amdgpu_device *adev, > bp.size = amdgpu_vm_bo_size(adev, level); > bp.byte_align = AMDGPU_GPU_PAGE_SIZE; > bp.domain = AMDGPU_GEM_DOMAIN_VRAM; > - bp.domain = amdgpu_bo_get_preferred_pin_domain(adev, bp.domain); > bp.flags = AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS | > AMDGPU_GEM_CREATE_CPU_GTT_USWC; >