aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0216-drm-amdgpu-fix-amdgpu_cs_get_threshold_for_moves-han.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0216-drm-amdgpu-fix-amdgpu_cs_get_threshold_for_moves-han.patch')
-rw-r--r--common/recipes-kernel/linux/files/0216-drm-amdgpu-fix-amdgpu_cs_get_threshold_for_moves-han.patch96
1 files changed, 0 insertions, 96 deletions
diff --git a/common/recipes-kernel/linux/files/0216-drm-amdgpu-fix-amdgpu_cs_get_threshold_for_moves-han.patch b/common/recipes-kernel/linux/files/0216-drm-amdgpu-fix-amdgpu_cs_get_threshold_for_moves-han.patch
deleted file mode 100644
index 92094287..00000000
--- a/common/recipes-kernel/linux/files/0216-drm-amdgpu-fix-amdgpu_cs_get_threshold_for_moves-han.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 3a010d204e89688d424d44a82fa8f726eb6c1628 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Fri, 10 Jun 2016 19:27:25 +0530
-Subject: [PATCH 0216/1110] drm/amdgpu: fix amdgpu_cs_get_threshold_for_moves
- handling
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The threshold should only be computed once.
-
-Signed-off-by: Christian K├Ânig <christian.koenig@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Kalyan Alle <kalyan.alle@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 ++
- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 21 ++++++++++++---------
- 2 files changed, 14 insertions(+), 9 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-index a152e82..501fd23 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-@@ -1228,6 +1228,8 @@ struct amdgpu_cs_parser {
- struct amdgpu_bo_list_entry vm_pd;
- struct list_head validated;
- struct fence *fence;
-+ uint64_t bytes_moved_threshold;
-+ uint64_t bytes_moved;
-
- struct amdgpu_ib *ibs;
- uint32_t num_ibs;
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
-index b7d6438..9212787 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
-@@ -336,14 +336,14 @@ static u64 amdgpu_cs_get_threshold_for_moves(struct amdgpu_device *adev)
- return max(bytes_moved_threshold, 1024*1024ull);
- }
-
--int amdgpu_cs_list_validate(struct amdgpu_device *adev,
-- struct amdgpu_vm *vm,
-+int amdgpu_cs_list_validate(struct amdgpu_cs_parser *p,
- struct list_head *validated)
- {
-+ struct amdgpu_fpriv *fpriv = p->filp->driver_priv;
-+ struct amdgpu_vm *vm = &fpriv->vm;
- struct amdgpu_bo_list_entry *lobj;
- struct amdgpu_bo *bo;
-- u64 bytes_moved = 0, initial_bytes_moved;
-- u64 bytes_moved_threshold = amdgpu_cs_get_threshold_for_moves(adev);
-+ u64 initial_bytes_moved;
- int r;
-
- list_for_each_entry(lobj, validated, tv.head) {
-@@ -363,16 +363,16 @@ int amdgpu_cs_list_validate(struct amdgpu_device *adev,
- */
- if ((lobj->allowed_domains & current_domain) != 0 &&
- (domain & current_domain) == 0 && /* will be moved */
-- bytes_moved > bytes_moved_threshold) {
-+ p->bytes_moved > p->bytes_moved_threshold) {
- /* don't move it */
- domain = current_domain;
- }
-
- retry:
- amdgpu_ttm_placement_from_domain(bo, domain);
-- initial_bytes_moved = atomic64_read(&adev->num_bytes_moved);
-+ initial_bytes_moved = atomic64_read(&bo->adev->num_bytes_moved);
- r = ttm_bo_validate(&bo->tbo, &bo->placement, true, false);
-- bytes_moved += atomic64_read(&adev->num_bytes_moved) -
-+ p->bytes_moved += atomic64_read(&bo->adev->num_bytes_moved) -
- initial_bytes_moved;
-
- if (unlikely(r)) {
-@@ -421,11 +421,14 @@ static int amdgpu_cs_parser_relocs(struct amdgpu_cs_parser *p)
-
- amdgpu_vm_get_pt_bos(&fpriv->vm, &duplicates);
-
-- r = amdgpu_cs_list_validate(p->adev, &fpriv->vm, &duplicates);
-+ p->bytes_moved_threshold = amdgpu_cs_get_threshold_for_moves(p->adev);
-+ p->bytes_moved = 0;
-+
-+ r = amdgpu_cs_list_validate(p, &duplicates);
- if (r)
- goto error_validate;
-
-- r = amdgpu_cs_list_validate(p->adev, &fpriv->vm, &p->validated);
-+ r = amdgpu_cs_list_validate(p, &p->validated);
-
- error_validate:
- if (r)
---
-2.7.4
-