+++ /dev/null
-From 7303b39e46b2f523334591f05fd9566cf929eb26 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
-Date: Thu, 14 Jun 2018 13:02:07 +0200
-Subject: drm/amdgpu: Make amdgpu_vram_mgr_bo_invisible_size always accurate
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Michel Dänzer <michel.daenzer@amd.com>
-
-commit 7303b39e46b2f523334591f05fd9566cf929eb26 upstream.
-
-Even BOs with AMDGPU_GEM_CREATE_NO_CPU_ACCESS may end up at least
-partially in CPU visible VRAM, in particular when all VRAM is visible.
-
-v2:
-* Don't take VRAM mgr spinlock, not needed (Christian König)
-* Make loop logic simpler and clearer.
-
-Cc: stable@vger.kernel.org
-Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
-Reviewed-by: Christian König <christian.koenig@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 20 ++++++++++++++++++--
- 1 file changed, 18 insertions(+), 2 deletions(-)
-
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
-@@ -111,10 +111,26 @@ static u64 amdgpu_vram_mgr_vis_size(stru
- */
- u64 amdgpu_vram_mgr_bo_invisible_size(struct amdgpu_bo *bo)
- {
-- if (bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)
-+ struct amdgpu_device *adev = amdgpu_ttm_adev(bo->tbo.bdev);
-+ struct ttm_mem_reg *mem = &bo->tbo.mem;
-+ struct drm_mm_node *nodes = mem->mm_node;
-+ unsigned pages = mem->num_pages;
-+ u64 usage = 0;
-+
-+ if (adev->gmc.visible_vram_size == adev->gmc.real_vram_size)
-+ return 0;
-+
-+ if (mem->start >= adev->gmc.visible_vram_size >> PAGE_SHIFT)
- return amdgpu_bo_size(bo);
-
-- return 0;
-+ while (nodes && pages) {
-+ usage += nodes->size << PAGE_SHIFT;
-+ usage -= amdgpu_vram_mgr_vis_size(adev, nodes);
-+ pages -= nodes->size;
-+ ++nodes;
-+ }
-+
-+ return usage;
- }
-
- /**
drm-atmel-hlcdc-check-stride-values-in-the-first-plane.patch
drm-amdgpu-use-kvmalloc_array-for-allocating-vram-manager-nodes-array.patch
drm-amdgpu-refactor-amdgpu_vram_mgr_bo_invisible_size-helper.patch
-drm-amdgpu-make-amdgpu_vram_mgr_bo_invisible_size-always-accurate.patch
drm-i915-enable-provoking-vertex-fix-on-gen9-systems.patch
netfilter-nf_tables-nft_compat-fix-refcount-leak-on-xt-module.patch
netfilter-nft_compat-prepare-for-indirect-info-storage.patch