[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADyq12zB7+opz0vUgyAQSdbHcYMwbZrZp+qxKdYcqaeCeRVbCw@mail.gmail.com>
Date: Wed, 16 Jul 2025 12:40:15 -0400
From: Brian Geffon <bgeffon@...gle.com>
To: Alex Deucher <alexdeucher@...il.com>
Cc: Alex Deucher <alexander.deucher@....com>, christian.koenig@....com,
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>, stable@...r.kernel.org
Subject: Re: [PATCH] drm/amdgpu: Raven: don't allow mixing GTT and VRAM
On Wed, Jul 16, 2025 at 12:33 PM Alex Deucher <alexdeucher@...il.com> wrote:
>
> On Wed, Jul 16, 2025 at 12:18 PM Brian Geffon <bgeffon@...gle.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.
Thanks for taking the time to look. We have automated testing and a
few igt gpu tools tests failed and after debugging we found that
commit 81d0bcf99009 is what introduced the failures on this hardware
on 6.1+ kernels. The specific tests that fail are kms_async_flips and
kms_plane_alpha_blend, excluding Raven from this sharing of GTT and
VRAM buffers resolves the issue.
Brian
>
>
> Alex
>
> >
> > 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