[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250716161753.231145-1-bgeffon@google.com>
Date: Wed, 16 Jul 2025 16:17:53 +0000
From: Brian Geffon <bgeffon@...gle.com>
To: Alex Deucher <alexander.deucher@....com>, christian.koenig@....com
Cc: David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Tvrtko Ursulin <tvrtko.ursulin@...lia.com>, Yunxiang Li <Yunxiang.Li@....com>,
Lijo Lazar <lijo.lazar@....com>, Prike Liang <Prike.Liang@....com>,
Pratap Nirujogi <pratap.nirujogi@....com>, Luben Tuikov <luben.tuikov@....com>,
amd-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, Garrick Evans <garrick@...gle.com>,
Thadeu Lima de Souza Cascardo <cascardo@...lia.com>, Brian Geffon <bgeffon@...gle.com>, stable@...r.kernel.org
Subject: [PATCH] drm/amdgpu: Raven: don't allow mixing GTT and VRAM
Commit 81d0bcf99009 ("drm/amdgpu: make display pinning more flexible (v2)")
allowed for newer ASICs to mix GTT and VRAM, this change also noted that
some older boards, such as Stoney and Carrizo do not support this.
It appears that at least one additional ASIC does not support this which
is Raven.
We observed this issue when migrating a device from a 5.4 to 6.6 kernel
and have confirmed that Raven also needs to be excluded from mixing GTT
and VRAM.
Fixes: 81d0bcf99009 ("drm/amdgpu: make display pinning more flexible (v2)")
Cc: Luben Tuikov <luben.tuikov@....com>
Cc: Christian König <christian.koenig@....com>
Cc: Alex Deucher <alexander.deucher@....com>
Cc: stable@...r.kernel.org # 6.1+
Tested-by: Thadeu Lima de Souza Cascardo <cascardo@...lia.com>
Signed-off-by: Brian Geffon <bgeffon@...gle.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index 73403744331a..5d7f13e25b7c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -1545,7 +1545,8 @@ uint32_t amdgpu_bo_get_preferred_domain(struct amdgpu_device *adev,
uint32_t domain)
{
if ((domain == (AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GTT)) &&
- ((adev->asic_type == CHIP_CARRIZO) || (adev->asic_type == CHIP_STONEY))) {
+ ((adev->asic_type == CHIP_CARRIZO) || (adev->asic_type == CHIP_STONEY) ||
+ (adev->asic_type == CHIP_RAVEN))) {
domain = AMDGPU_GEM_DOMAIN_VRAM;
if (adev->gmc.real_vram_size <= AMDGPU_SG_THRESHOLD)
domain = AMDGPU_GEM_DOMAIN_GTT;
--
2.50.0.727.gbf7dc18ff4-goog
Powered by blists - more mailing lists