[PATCH] drm/amdgpu: Raven: don't allow mixing GTT and VRAM
Alex Deucher
alexdeucher at gmail.com
Wed Jul 16 16:33:15 UTC 2025
On Wed, Jul 16, 2025 at 12:18 PM Brian Geffon <bgeffon at google.com> wrote:
>
> 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.
Can you elaborate a bit on what the problem is? For carrizo and
stoney this is a hardware limitation (all display buffers need to be
in GTT or VRAM, but not both). Raven and newer don't have this
limitation and we tested raven pretty extensively at the time.
Alex
>
> Fixes: 81d0bcf99009 ("drm/amdgpu: make display pinning more flexible (v2)")
> Cc: Luben Tuikov <luben.tuikov at amd.com>
> Cc: Christian König <christian.koenig at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: stable at vger.kernel.org # 6.1+
> Tested-by: Thadeu Lima de Souza Cascardo <cascardo at igalia.com>
> Signed-off-by: Brian Geffon <bgeffon at google.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
>
More information about the dri-devel
mailing list