From c4fdaf8f6a75fbe6b1f287f604c48faefcb38457 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 4 Jan 2023 16:48:05 +0100 Subject: [PATCH] 5.4-stable patches added patches: drm-amdgpu-make-display-pinning-more-flexible-v2.patch --- ...ake-display-pinning-more-flexible-v2.patch | 42 +++++++++++++++++++ queue-5.4/series | 1 + 2 files changed, 43 insertions(+) create mode 100644 queue-5.4/drm-amdgpu-make-display-pinning-more-flexible-v2.patch diff --git a/queue-5.4/drm-amdgpu-make-display-pinning-more-flexible-v2.patch b/queue-5.4/drm-amdgpu-make-display-pinning-more-flexible-v2.patch new file mode 100644 index 00000000000..b46556f0be5 --- /dev/null +++ b/queue-5.4/drm-amdgpu-make-display-pinning-more-flexible-v2.patch @@ -0,0 +1,42 @@ +From 81d0bcf9900932633d270d5bc4a54ff599c6ebdb Mon Sep 17 00:00:00 2001 +From: Alex Deucher +Date: Wed, 7 Dec 2022 11:08:53 -0500 +Subject: drm/amdgpu: make display pinning more flexible (v2) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Alex Deucher + +commit 81d0bcf9900932633d270d5bc4a54ff599c6ebdb upstream. + +Only apply the static threshold for Stoney and Carrizo. +This hardware has certain requirements that don't allow +mixing of GTT and VRAM. Newer asics do not have these +requirements so we should be able to be more flexible +with where buffers end up. + +Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2270 +Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2291 +Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/2255 +Acked-by: Luben Tuikov +Reviewed-by: Christian König +Signed-off-by: Alex Deucher +Cc: stable@vger.kernel.org +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +@@ -1458,7 +1458,8 @@ u64 amdgpu_bo_gpu_offset(struct amdgpu_b + uint32_t amdgpu_bo_get_preferred_pin_domain(struct amdgpu_device *adev, + uint32_t domain) + { +- if (domain == (AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT)) { ++ if ((domain == (AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT)) && ++ ((adev->asic_type == CHIP_CARRIZO) || (adev->asic_type == CHIP_STONEY))) { + domain = AMDGPU_GEM_DOMAIN_VRAM; + if (adev->gmc.real_vram_size <= AMDGPU_SG_THRESHOLD) + domain = AMDGPU_GEM_DOMAIN_GTT; diff --git a/queue-5.4/series b/queue-5.4/series index f259cd3c087..85d727e3380 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -534,3 +534,4 @@ ext4-fix-inode-leak-in-ext4_xattr_inode_create-on-an-error-path.patch ext4-initialize-quota-before-expanding-inode-in-setproject-ioctl.patch ext4-avoid-unaccounted-block-allocation-when-expanding-inode.patch ext4-allocate-extended-attribute-value-in-vmalloc-area.patch +drm-amdgpu-make-display-pinning-more-flexible-v2.patch -- 2.47.3