Re: [PATCH] drm/amdgpu: remove preferred domain judgement in pt/pd creation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yes, good point. And we should probably also rename the functions since page tables are not pinned at all.

Christian.

Am 25.08.21 um 10:04 schrieb Zhang, Yifan:
[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;




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux