aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1722-drm-amdgpu-Fix-address-mask-in-get_local_mem_info.patch
blob: 9df4d98e77d23ece38b3fdb4974985a599a53ab2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From 8e873e1c3080ed8485da4fee83136effcf95bca0 Mon Sep 17 00:00:00 2001
From: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Date: Thu, 15 Jun 2017 15:37:34 -0400
Subject: [PATCH 1722/4131] drm/amdgpu: Fix address mask in get_local_mem_info

Use ASIC specific dma_mask instead of hard coding address mask.

Change-Id: I2bbb54c685cefe05ca48794d0e6b3229c313db99
Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index 101c25d..b892044 100755
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -343,8 +343,10 @@ void get_local_mem_info(struct kgd_dev *kgd,
 	resource_size_t aper_limit;
 	struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
 
-	address_mask = ~((1UL << 40) - 1);
+	address_mask = adev->dev->dma_mask ? ~*adev->dev->dma_mask :
+					     ~((1ULL << 32) - 1);
 	aper_limit = adev->mc.aper_base + adev->mc.aper_size;
+
 	memset(mem_info, 0, sizeof(*mem_info));
 	if (!(adev->mc.aper_base & address_mask ||
 			aper_limit & address_mask)) {
-- 
2.7.4