drm/amdgpu: Change the way to determine framebuffer type
authorGang Ba <gaba@amd.com>
Thu, 8 Oct 2020 17:12:28 +0000 (13:12 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 4 Nov 2020 22:09:03 +0000 (17:09 -0500)
Determine FRAMEBUFFER_PUBLIC/PRIVATE only based host-accessibility,
not peer-accesssibility

Signed-off-by: Gang Ba <gaba@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c

index 92b7e74..db96d69 100644 (file)
@@ -390,23 +390,17 @@ void amdgpu_amdkfd_get_local_mem_info(struct kgd_dev *kgd,
                                      struct kfd_local_mem_info *mem_info)
 {
        struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-       uint64_t address_mask = adev->dev->dma_mask ? ~*adev->dev->dma_mask :
-                                            ~((1ULL << 32) - 1);
-       resource_size_t aper_limit = adev->gmc.aper_base + adev->gmc.aper_size;
 
        memset(mem_info, 0, sizeof(*mem_info));
-       if (!(adev->gmc.aper_base & address_mask || aper_limit & address_mask)) {
-               mem_info->local_mem_size_public = adev->gmc.visible_vram_size;
-               mem_info->local_mem_size_private = adev->gmc.real_vram_size -
-                               adev->gmc.visible_vram_size;
-       } else {
-               mem_info->local_mem_size_public = 0;
-               mem_info->local_mem_size_private = adev->gmc.real_vram_size;
-       }
+
+       mem_info->local_mem_size_public = adev->gmc.visible_vram_size;
+       mem_info->local_mem_size_private = adev->gmc.real_vram_size -
+                                               adev->gmc.visible_vram_size;
+
        mem_info->vram_width = adev->gmc.vram_width;
 
-       pr_debug("Address base: %pap limit %pap public 0x%llx private 0x%llx\n",
-                       &adev->gmc.aper_base, &aper_limit,
+       pr_debug("Address base: %pap public 0x%llx private 0x%llx\n",
+                       &adev->gmc.aper_base,
                        mem_info->local_mem_size_public,
                        mem_info->local_mem_size_private);