* [PATCH v1 1/2] drm/amdgpu: don't disable ttm buffer funcs on reset
@ 2026-06-16 12:50 Pierre-Eric Pelloux-Prayer
2026-06-16 12:50 ` [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi Pierre-Eric Pelloux-Prayer
2026-06-16 12:54 ` [PATCH v1 1/2] drm/amdgpu: don't disable ttm buffer funcs on reset Christian König
0 siblings, 2 replies; 7+ messages in thread
From: Pierre-Eric Pelloux-Prayer @ 2026-06-16 12:50 UTC (permalink / raw)
To: Alex Deucher, Christian König, David Airlie, Simona Vetter
Cc: Pierre-Eric Pelloux-Prayer, amd-gfx, dri-devel, linux-kernel
Access to hw is already suspended so there are no reasons to
disable ttm buffer funcs.
Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 6608780ffef2..57e10afb4714 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3167,8 +3167,6 @@ static int amdgpu_device_ip_suspend(struct amdgpu_device *adev)
amdgpu_virt_request_full_gpu(adev, false);
}
- amdgpu_ttm_disable_buffer_funcs(adev);
-
r = amdgpu_device_ip_suspend_phase1(adev);
if (r)
return r;
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi
2026-06-16 12:50 [PATCH v1 1/2] drm/amdgpu: don't disable ttm buffer funcs on reset Pierre-Eric Pelloux-Prayer
@ 2026-06-16 12:50 ` Pierre-Eric Pelloux-Prayer
2026-06-16 12:54 ` Christian König
` (2 more replies)
2026-06-16 12:54 ` [PATCH v1 1/2] drm/amdgpu: don't disable ttm buffer funcs on reset Christian König
1 sibling, 3 replies; 7+ messages in thread
From: Pierre-Eric Pelloux-Prayer @ 2026-06-16 12:50 UTC (permalink / raw)
To: Alex Deucher, Christian König, David Airlie, Simona Vetter,
Pierre-Eric Pelloux-Prayer
Cc: amd-gfx, dri-devel, linux-kernel
When amdgpu_init_minimal_xgmi is used, SDMA engines init
is delayed so amdgpu_ttm_enable_buffer_funcs must be
called later.
Without this, the check for num_buffer_funcs_scheds will
fail and using ttm buffer funcs later will fail.
Fixes: 3a5da695c8d1 ("drm/amdgpu: only use working sdma schedulers for ttm")
Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 57e10afb4714..2e8954fa5c40 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2479,7 +2479,8 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
if (r)
goto init_failed;
- amdgpu_ttm_enable_buffer_funcs(adev);
+ if (amdgpu_ip_member_of_hwini(adev, AMD_IP_BLOCK_TYPE_SDMA))
+ amdgpu_ttm_enable_buffer_funcs(adev);
/* Don't init kfd if whole hive need to be reset during init */
if (adev->init_lvl->level != AMDGPU_INIT_LEVEL_MINIMAL_XGMI) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index faac80a8a6eb..c0dca209335e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -1663,6 +1663,8 @@ static void amdgpu_xgmi_reset_on_init_work(struct work_struct *work)
if (r && r != -EHWPOISON)
dev_err(tmp_adev->dev,
"error during bad page data initialization");
+
+ amdgpu_ttm_enable_buffer_funcs(tmp_adev);
}
}
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 1/2] drm/amdgpu: don't disable ttm buffer funcs on reset
2026-06-16 12:50 [PATCH v1 1/2] drm/amdgpu: don't disable ttm buffer funcs on reset Pierre-Eric Pelloux-Prayer
2026-06-16 12:50 ` [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi Pierre-Eric Pelloux-Prayer
@ 2026-06-16 12:54 ` Christian König
1 sibling, 0 replies; 7+ messages in thread
From: Christian König @ 2026-06-16 12:54 UTC (permalink / raw)
To: Pierre-Eric Pelloux-Prayer, Alex Deucher, David Airlie, Simona Vetter
Cc: amd-gfx, dri-devel, linux-kernel
On 6/16/26 14:50, Pierre-Eric Pelloux-Prayer wrote:
> Access to hw is already suspended so there are no reasons to
> disable ttm buffer funcs.
>
> Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 6608780ffef2..57e10afb4714 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -3167,8 +3167,6 @@ static int amdgpu_device_ip_suspend(struct amdgpu_device *adev)
> amdgpu_virt_request_full_gpu(adev, false);
> }
>
> - amdgpu_ttm_disable_buffer_funcs(adev);
> -
> r = amdgpu_device_ip_suspend_phase1(adev);
> if (r)
> return r;
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi
2026-06-16 12:50 ` [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi Pierre-Eric Pelloux-Prayer
@ 2026-06-16 12:54 ` Christian König
2026-06-16 13:42 ` Alex Deucher
2026-06-16 14:41 ` Lazar, Lijo
2 siblings, 0 replies; 7+ messages in thread
From: Christian König @ 2026-06-16 12:54 UTC (permalink / raw)
To: Pierre-Eric Pelloux-Prayer, Alex Deucher, David Airlie, Simona Vetter
Cc: amd-gfx, dri-devel, linux-kernel
On 6/16/26 14:50, Pierre-Eric Pelloux-Prayer wrote:
> When amdgpu_init_minimal_xgmi is used, SDMA engines init
> is delayed so amdgpu_ttm_enable_buffer_funcs must be
> called later.
>
> Without this, the check for num_buffer_funcs_scheds will
> fail and using ttm buffer funcs later will fail.
>
> Fixes: 3a5da695c8d1 ("drm/amdgpu: only use working sdma schedulers for ttm")
> Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Acked-by: Christian König <christian.koenig@amd.com> but Alex should probably take a look as well.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 ++-
> drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 2 ++
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 57e10afb4714..2e8954fa5c40 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -2479,7 +2479,8 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
> if (r)
> goto init_failed;
>
> - amdgpu_ttm_enable_buffer_funcs(adev);
> + if (amdgpu_ip_member_of_hwini(adev, AMD_IP_BLOCK_TYPE_SDMA))
> + amdgpu_ttm_enable_buffer_funcs(adev);
>
> /* Don't init kfd if whole hive need to be reset during init */
> if (adev->init_lvl->level != AMDGPU_INIT_LEVEL_MINIMAL_XGMI) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index faac80a8a6eb..c0dca209335e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -1663,6 +1663,8 @@ static void amdgpu_xgmi_reset_on_init_work(struct work_struct *work)
> if (r && r != -EHWPOISON)
> dev_err(tmp_adev->dev,
> "error during bad page data initialization");
> +
> + amdgpu_ttm_enable_buffer_funcs(tmp_adev);
> }
> }
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi
2026-06-16 12:50 ` [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi Pierre-Eric Pelloux-Prayer
2026-06-16 12:54 ` Christian König
@ 2026-06-16 13:42 ` Alex Deucher
2026-06-16 14:41 ` Lazar, Lijo
2 siblings, 0 replies; 7+ messages in thread
From: Alex Deucher @ 2026-06-16 13:42 UTC (permalink / raw)
To: Pierre-Eric Pelloux-Prayer
Cc: Alex Deucher, Christian König, David Airlie, Simona Vetter,
amd-gfx, dri-devel, linux-kernel
On Tue, Jun 16, 2026 at 8:51 AM Pierre-Eric Pelloux-Prayer
<pierre-eric.pelloux-prayer@amd.com> wrote:
>
> When amdgpu_init_minimal_xgmi is used, SDMA engines init
> is delayed so amdgpu_ttm_enable_buffer_funcs must be
> called later.
>
> Without this, the check for num_buffer_funcs_scheds will
> fail and using ttm buffer funcs later will fail.
>
> Fixes: 3a5da695c8d1 ("drm/amdgpu: only use working sdma schedulers for ttm")
> Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 ++-
> drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 2 ++
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 57e10afb4714..2e8954fa5c40 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -2479,7 +2479,8 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
> if (r)
> goto init_failed;
>
> - amdgpu_ttm_enable_buffer_funcs(adev);
> + if (amdgpu_ip_member_of_hwini(adev, AMD_IP_BLOCK_TYPE_SDMA))
> + amdgpu_ttm_enable_buffer_funcs(adev);
>
> /* Don't init kfd if whole hive need to be reset during init */
> if (adev->init_lvl->level != AMDGPU_INIT_LEVEL_MINIMAL_XGMI) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index faac80a8a6eb..c0dca209335e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -1663,6 +1663,8 @@ static void amdgpu_xgmi_reset_on_init_work(struct work_struct *work)
> if (r && r != -EHWPOISON)
> dev_err(tmp_adev->dev,
> "error during bad page data initialization");
> +
> + amdgpu_ttm_enable_buffer_funcs(tmp_adev);
> }
> }
>
> --
> 2.43.0
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi
2026-06-16 12:50 ` [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi Pierre-Eric Pelloux-Prayer
2026-06-16 12:54 ` Christian König
2026-06-16 13:42 ` Alex Deucher
@ 2026-06-16 14:41 ` Lazar, Lijo
2026-06-17 13:45 ` Pierre-Eric Pelloux-Prayer
2 siblings, 1 reply; 7+ messages in thread
From: Lazar, Lijo @ 2026-06-16 14:41 UTC (permalink / raw)
To: Pelloux-Prayer, Pierre-Eric, Deucher, Alexander, Koenig,
Christian, David Airlie, Simona Vetter, Pelloux-Prayer,
Pierre-Eric
Cc: amd-gfx, dri-devel, linux-kernel
Public
-----Original Message-----
From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Pierre-Eric Pelloux-Prayer
Sent: Tuesday, June 16, 2026 6:21 PM
To: Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; David Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Pelloux-Prayer, Pierre-Eric <Pierre-eric.Pelloux-prayer@amd.com>
Cc: amd-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org; linux-kernel@vger.kernel.org
Subject: [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi
When amdgpu_init_minimal_xgmi is used, SDMA engines init is delayed so amdgpu_ttm_enable_buffer_funcs must be called later.
Without this, the check for num_buffer_funcs_scheds will fail and using ttm buffer funcs later will fail.
Fixes: 3a5da695c8d1 ("drm/amdgpu: only use working sdma schedulers for ttm")
Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 2 ++
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 57e10afb4714..2e8954fa5c40 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2479,7 +2479,8 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
if (r)
goto init_failed;
- amdgpu_ttm_enable_buffer_funcs(adev);
+ if (amdgpu_ip_member_of_hwini(adev, AMD_IP_BLOCK_TYPE_SDMA))
+ amdgpu_ttm_enable_buffer_funcs(adev);
/* Don't init kfd if whole hive need to be reset during init */
if (adev->init_lvl->level != AMDGPU_INIT_LEVEL_MINIMAL_XGMI) { diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
index faac80a8a6eb..c0dca209335e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
@@ -1663,6 +1663,8 @@ static void amdgpu_xgmi_reset_on_init_work(struct work_struct *work)
if (r && r != -EHWPOISON)
dev_err(tmp_adev->dev,
"error during bad page data initialization");
+
+ amdgpu_ttm_enable_buffer_funcs(tmp_adev);
<lijo> This gets enabled in the resume path after xgmi reset. It is not needed here.
Thanks,
Lijo
}
}
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi
2026-06-16 14:41 ` Lazar, Lijo
@ 2026-06-17 13:45 ` Pierre-Eric Pelloux-Prayer
0 siblings, 0 replies; 7+ messages in thread
From: Pierre-Eric Pelloux-Prayer @ 2026-06-17 13:45 UTC (permalink / raw)
To: Lazar, Lijo, Pelloux-Prayer, Pierre-Eric, Deucher, Alexander,
Koenig, Christian, David Airlie, Simona Vetter
Cc: amd-gfx, dri-devel, linux-kernel
Le 16/06/2026 à 16:41, Lazar, Lijo a écrit :
> Public
>
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces@lists.freedesktop.org> On Behalf Of Pierre-Eric Pelloux-Prayer
> Sent: Tuesday, June 16, 2026 6:21 PM
> To: Deucher, Alexander <Alexander.Deucher@amd.com>; Koenig, Christian <Christian.Koenig@amd.com>; David Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Pelloux-Prayer, Pierre-Eric <Pierre-eric.Pelloux-prayer@amd.com>
> Cc: amd-gfx@lists.freedesktop.org; dri-devel@lists.freedesktop.org; linux-kernel@vger.kernel.org
> Subject: [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi
>
> When amdgpu_init_minimal_xgmi is used, SDMA engines init is delayed so amdgpu_ttm_enable_buffer_funcs must be called later.
>
> Without this, the check for num_buffer_funcs_scheds will fail and using ttm buffer funcs later will fail.
>
> Fixes: 3a5da695c8d1 ("drm/amdgpu: only use working sdma schedulers for ttm")
> Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 ++-
> drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c | 2 ++
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 57e10afb4714..2e8954fa5c40 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -2479,7 +2479,8 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
> if (r)
> goto init_failed;
>
> - amdgpu_ttm_enable_buffer_funcs(adev);
> + if (amdgpu_ip_member_of_hwini(adev, AMD_IP_BLOCK_TYPE_SDMA))
> + amdgpu_ttm_enable_buffer_funcs(adev);
>
> /* Don't init kfd if whole hive need to be reset during init */
> if (adev->init_lvl->level != AMDGPU_INIT_LEVEL_MINIMAL_XGMI) { diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> index faac80a8a6eb..c0dca209335e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
> @@ -1663,6 +1663,8 @@ static void amdgpu_xgmi_reset_on_init_work(struct work_struct *work)
> if (r && r != -EHWPOISON)
> dev_err(tmp_adev->dev,
> "error during bad page data initialization");
> +
> + amdgpu_ttm_enable_buffer_funcs(tmp_adev);
>
> <lijo> This gets enabled in the resume path after xgmi reset. It is not needed here.
Good point. I've modified the patch in v2.
Thanks,
Pierre-Eric
>
> Thanks,
> Lijo
>
> }
> }
>
> --
> 2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-06-17 13:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-16 12:50 [PATCH v1 1/2] drm/amdgpu: don't disable ttm buffer funcs on reset Pierre-Eric Pelloux-Prayer
2026-06-16 12:50 ` [PATCH v1 2/2] drm/amdgpu: delay ttm buffer func enablement on xgmi Pierre-Eric Pelloux-Prayer
2026-06-16 12:54 ` Christian König
2026-06-16 13:42 ` Alex Deucher
2026-06-16 14:41 ` Lazar, Lijo
2026-06-17 13:45 ` Pierre-Eric Pelloux-Prayer
2026-06-16 12:54 ` [PATCH v1 1/2] drm/amdgpu: don't disable ttm buffer funcs on reset Christian König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®