aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0781-drm-amdgpu-add-AMDGPU_GEM_CREATE_TOP_DOWN-flag.patch
blob: 670b9a885259dee5d2728b251d58d76e8b1ede0d (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
33
34
35
36
37
38
39
40
41
42
43
44
From 08eef459908cea9663347fa97ed87f959c65033c Mon Sep 17 00:00:00 2001
From: Flora Cui <Flora.Cui@amd.com>
Date: Thu, 1 Sep 2016 12:33:01 +0800
Subject: [PATCH 0781/4131] drm/amdgpu: add AMDGPU_GEM_CREATE_TOP_DOWN flag

so that the buffer could be allocated from the top of domain

Change-Id: I82aa03cee718d709f8a6b545fe3f9557185b49f8
Signed-off-by: Flora Cui <Flora.Cui@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>

Conflicts:
	drivers/gpu/drm/amd/include/uapi/drm/amdgpu_drm.h
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index d8e1b7e..cb5fce1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -77,7 +77,7 @@ static void amdgpu_ttm_placement_init(struct amdgpu_device *adev,
 				      struct ttm_place *places,
 				      u32 domain, u64 flags)
 {
-	u32 c = 0;
+	u32 c = 0, i;
 
 	if ((domain & AMDGPU_GEM_DOMAIN_DGMA) && amdgpu_direct_gma_size) {
 		places[c].fpfn = 0;
@@ -168,6 +168,10 @@ static void amdgpu_ttm_placement_init(struct amdgpu_device *adev,
 		c++;
 	}
 
+	for (i = 0; i < c; i++)
+		if (flags & AMDGPU_GEM_CREATE_TOP_DOWN)
+			places[i].flags |= TTM_PL_FLAG_TOPDOWN;
+
 	placement->num_placement = c;
 	placement->placement = places;
 
-- 
2.7.4