* [PATCH 1/3] drm/amdgpu/sdma_v5_2: update fw version check for per-queue reset on various ASICs
@ 2026-02-03 8:56 Jesse.Zhang
2026-02-03 8:56 ` [PATCH 2/3] drm/amdgpu: extend per-queue reset fw check for 5.2.1/5.2.6/5.2.7 Jesse.Zhang
2026-02-03 8:56 ` [PATCH 3/3] drm/amdgpu/sdma_v5_0: Update per-queue reset fw version checks for 5.0.x ASICs Jesse.Zhang
0 siblings, 2 replies; 5+ messages in thread
From: Jesse.Zhang @ 2026-02-03 8:56 UTC (permalink / raw)
To: amd-gfx; +Cc: Alexander.Deucher, Christian Koenig, Jesse.Zhang, Jesse.Zhang
Adjust SDMA 5.2 per-queue reset firmware version thresholds to match the correct requirements for different ASICs:
5.2.0: Require fw >=34
5.2.2: Require fw >=41
5.2.3: Require fw >=9
5.2.4: Require fw >=33 (from 76)
5.2.5: Require fw >=1 (from 34)
Signed-off-by: Jesse.Zhang <Jesse.zhang@amd.com>
---
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
index 5aa500fe554b..78dda51cd9e0 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
@@ -1350,16 +1350,31 @@ static int sdma_v5_2_sw_init(struct amdgpu_ip_block *ip_block)
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
switch (amdgpu_ip_version(adev, SDMA0_HWIP, 0)) {
case IP_VERSION(5, 2, 0):
+ if ((adev->sdma.instance[0].fw_version >= 34) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
case IP_VERSION(5, 2, 2):
+ if ((adev->sdma.instance[0].fw_version >= 41) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
case IP_VERSION(5, 2, 3):
+ if ((adev->sdma.instance[0].fw_version >= 9) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
case IP_VERSION(5, 2, 4):
- if ((adev->sdma.instance[0].fw_version >= 76) &&
+ if ((adev->sdma.instance[0].fw_version >= 33) &&
!amdgpu_sriov_vf(adev) &&
!adev->debug_disable_gpu_ring_reset)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
break;
case IP_VERSION(5, 2, 5):
- if ((adev->sdma.instance[0].fw_version >= 34) &&
+ if ((adev->sdma.instance[0].fw_version >= 1) &&
!amdgpu_sriov_vf(adev) &&
!adev->debug_disable_gpu_ring_reset)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
--
2.49.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 2/3] drm/amdgpu: extend per-queue reset fw check for 5.2.1/5.2.6/5.2.7
2026-02-03 8:56 [PATCH 1/3] drm/amdgpu/sdma_v5_2: update fw version check for per-queue reset on various ASICs Jesse.Zhang
@ 2026-02-03 8:56 ` Jesse.Zhang
2026-02-03 8:56 ` [PATCH 3/3] drm/amdgpu/sdma_v5_0: Update per-queue reset fw version checks for 5.0.x ASICs Jesse.Zhang
1 sibling, 0 replies; 5+ messages in thread
From: Jesse.Zhang @ 2026-02-03 8:56 UTC (permalink / raw)
To: amd-gfx
Cc: Alexander.Deucher, Christian Koenig, Jesse.Zhang, Alex Deucher,
Jesse.Zhang
Add per-queue reset fw version checks for new SDMA 5.2.x variants:
5.2.1: >=41
5.2.6: >=8
5.2.7: >=1
Suggested-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Jesse.Zhang <Jesse.zhang@amd.com>
---
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
index 78dda51cd9e0..53618d8a2439 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
@@ -1355,6 +1355,12 @@ static int sdma_v5_2_sw_init(struct amdgpu_ip_block *ip_block)
!adev->debug_disable_gpu_ring_reset)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
break;
+ case IP_VERSION(5, 2, 1):
+ if ((adev->sdma.instance[0].fw_version >= 41) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
case IP_VERSION(5, 2, 2):
if ((adev->sdma.instance[0].fw_version >= 41) &&
!amdgpu_sriov_vf(adev) &&
@@ -1379,6 +1385,18 @@ static int sdma_v5_2_sw_init(struct amdgpu_ip_block *ip_block)
!adev->debug_disable_gpu_ring_reset)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
break;
+ case IP_VERSION(5, 2, 6):
+ if ((adev->sdma.instance[0].fw_version >= 8) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
+ case IP_VERSION(5, 2, 7):
+ if ((adev->sdma.instance[0].fw_version >= 1) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
default:
break;
}
--
2.49.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] drm/amdgpu/sdma_v5_0: Update per-queue reset fw version checks for 5.0.x ASICs
2026-02-03 8:56 [PATCH 1/3] drm/amdgpu/sdma_v5_2: update fw version check for per-queue reset on various ASICs Jesse.Zhang
2026-02-03 8:56 ` [PATCH 2/3] drm/amdgpu: extend per-queue reset fw check for 5.2.1/5.2.6/5.2.7 Jesse.Zhang
@ 2026-02-03 8:56 ` Jesse.Zhang
2026-02-03 13:43 ` Alex Deucher
1 sibling, 1 reply; 5+ messages in thread
From: Jesse.Zhang @ 2026-02-03 8:56 UTC (permalink / raw)
To: amd-gfx; +Cc: Alexander.Deucher, Christian Koenig, Jesse.Zhang, Jesse.Zhang
Tune SDMA 5.0.x per-queue reset firmware version thresholds for specific ASICs:
5.0.0: Require fw >=24
5.0.2: Adjust fw threshold to >=30
5.0.1: Add new check with fw >=38
Signed-off-by: Jesse.Zhang <Jesse.zhang@amd.com>
---
drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
index d72bd3adfccf..72492692f680 100644
--- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
@@ -1432,17 +1432,32 @@ static int sdma_v5_0_sw_init(struct amdgpu_ip_block *ip_block)
amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
switch (amdgpu_ip_version(adev, SDMA0_HWIP, 0)) {
case IP_VERSION(5, 0, 0):
+ if ((adev->sdma.instance[0].fw_version >= 24) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
+ case IP_VERSION(5, 0, 1):
+ if ((adev->sdma.instance[0].fw_version >= 38) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
case IP_VERSION(5, 0, 2):
+ if ((adev->sdma.instance[0].fw_version >= 30) &&
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+ break;
case IP_VERSION(5, 0, 5):
if ((adev->sdma.instance[0].fw_version >= 35) &&
- !amdgpu_sriov_vf(adev) &&
- !adev->debug_disable_gpu_ring_reset)
+ !amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
- break;
+ break;
default:
break;
}
-
/* Allocate memory for SDMA IP Dump buffer */
ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
if (ptr)
--
2.49.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH 3/3] drm/amdgpu/sdma_v5_0: Update per-queue reset fw version checks for 5.0.x ASICs
2026-02-03 8:56 ` [PATCH 3/3] drm/amdgpu/sdma_v5_0: Update per-queue reset fw version checks for 5.0.x ASICs Jesse.Zhang
@ 2026-02-03 13:43 ` Alex Deucher
2026-02-03 14:09 ` Alex Deucher
0 siblings, 1 reply; 5+ messages in thread
From: Alex Deucher @ 2026-02-03 13:43 UTC (permalink / raw)
To: Jesse.Zhang; +Cc: amd-gfx, Alexander.Deucher, Christian Koenig
Series is:
Acked-by: Alex Deucher <alexander.deucher@amd.com>
On Tue, Feb 3, 2026 at 5:07 AM Jesse.Zhang <Jesse.Zhang@amd.com> wrote:
>
> Tune SDMA 5.0.x per-queue reset firmware version thresholds for specific ASICs:
> 5.0.0: Require fw >=24
> 5.0.2: Adjust fw threshold to >=30
> 5.0.1: Add new check with fw >=38
>
> Signed-off-by: Jesse.Zhang <Jesse.zhang@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 23 +++++++++++++++++++----
> 1 file changed, 19 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> index d72bd3adfccf..72492692f680 100644
> --- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> @@ -1432,17 +1432,32 @@ static int sdma_v5_0_sw_init(struct amdgpu_ip_block *ip_block)
> amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
> switch (amdgpu_ip_version(adev, SDMA0_HWIP, 0)) {
> case IP_VERSION(5, 0, 0):
> + if ((adev->sdma.instance[0].fw_version >= 24) &&
> + !amdgpu_sriov_vf(adev) &&
> + !adev->debug_disable_gpu_ring_reset)
> + adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> + break;
> + case IP_VERSION(5, 0, 1):
> + if ((adev->sdma.instance[0].fw_version >= 38) &&
> + !amdgpu_sriov_vf(adev) &&
> + !adev->debug_disable_gpu_ring_reset)
> + adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> + break;
> case IP_VERSION(5, 0, 2):
> + if ((adev->sdma.instance[0].fw_version >= 30) &&
> + !amdgpu_sriov_vf(adev) &&
> + !adev->debug_disable_gpu_ring_reset)
> + adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> + break;
> case IP_VERSION(5, 0, 5):
> if ((adev->sdma.instance[0].fw_version >= 35) &&
> - !amdgpu_sriov_vf(adev) &&
> - !adev->debug_disable_gpu_ring_reset)
> + !amdgpu_sriov_vf(adev) &&
> + !adev->debug_disable_gpu_ring_reset)
> adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> - break;
> + break;
> default:
> break;
> }
> -
> /* Allocate memory for SDMA IP Dump buffer */
> ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> if (ptr)
> --
> 2.49.0
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH 3/3] drm/amdgpu/sdma_v5_0: Update per-queue reset fw version checks for 5.0.x ASICs
2026-02-03 13:43 ` Alex Deucher
@ 2026-02-03 14:09 ` Alex Deucher
0 siblings, 0 replies; 5+ messages in thread
From: Alex Deucher @ 2026-02-03 14:09 UTC (permalink / raw)
To: Jesse.Zhang; +Cc: amd-gfx, Alexander.Deucher, Christian Koenig
On Tue, Feb 3, 2026 at 8:43 AM Alex Deucher <alexdeucher@gmail.com> wrote:
>
> Series is:
> Acked-by: Alex Deucher <alexander.deucher@amd.com>
Since the HW team said there is no firmware requirement, I'm also fine
with just dropping the switch statements and just doing something
like:
+ if (!amdgpu_sriov_vf(adev) &&
+ !adev->debug_disable_gpu_ring_reset)
+ adev->sdma.supported_reset |=
AMDGPU_RESET_TYPE_PER_QUEUE;
Alex
>
> On Tue, Feb 3, 2026 at 5:07 AM Jesse.Zhang <Jesse.Zhang@amd.com> wrote:
> >
> > Tune SDMA 5.0.x per-queue reset firmware version thresholds for specific ASICs:
> > 5.0.0: Require fw >=24
> > 5.0.2: Adjust fw threshold to >=30
> > 5.0.1: Add new check with fw >=38
> >
> > Signed-off-by: Jesse.Zhang <Jesse.zhang@amd.com>
> > ---
> > drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 23 +++++++++++++++++++----
> > 1 file changed, 19 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> > index d72bd3adfccf..72492692f680 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c
> > @@ -1432,17 +1432,32 @@ static int sdma_v5_0_sw_init(struct amdgpu_ip_block *ip_block)
> > amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
> > switch (amdgpu_ip_version(adev, SDMA0_HWIP, 0)) {
> > case IP_VERSION(5, 0, 0):
> > + if ((adev->sdma.instance[0].fw_version >= 24) &&
> > + !amdgpu_sriov_vf(adev) &&
> > + !adev->debug_disable_gpu_ring_reset)
> > + adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> > + break;
> > + case IP_VERSION(5, 0, 1):
> > + if ((adev->sdma.instance[0].fw_version >= 38) &&
> > + !amdgpu_sriov_vf(adev) &&
> > + !adev->debug_disable_gpu_ring_reset)
> > + adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> > + break;
> > case IP_VERSION(5, 0, 2):
> > + if ((adev->sdma.instance[0].fw_version >= 30) &&
> > + !amdgpu_sriov_vf(adev) &&
> > + !adev->debug_disable_gpu_ring_reset)
> > + adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> > + break;
> > case IP_VERSION(5, 0, 5):
> > if ((adev->sdma.instance[0].fw_version >= 35) &&
> > - !amdgpu_sriov_vf(adev) &&
> > - !adev->debug_disable_gpu_ring_reset)
> > + !amdgpu_sriov_vf(adev) &&
> > + !adev->debug_disable_gpu_ring_reset)
> > adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> > - break;
> > + break;
> > default:
> > break;
> > }
> > -
> > /* Allocate memory for SDMA IP Dump buffer */
> > ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
> > if (ptr)
> > --
> > 2.49.0
> >
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-02-03 14:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-03 8:56 [PATCH 1/3] drm/amdgpu/sdma_v5_2: update fw version check for per-queue reset on various ASICs Jesse.Zhang
2026-02-03 8:56 ` [PATCH 2/3] drm/amdgpu: extend per-queue reset fw check for 5.2.1/5.2.6/5.2.7 Jesse.Zhang
2026-02-03 8:56 ` [PATCH 3/3] drm/amdgpu/sdma_v5_0: Update per-queue reset fw version checks for 5.0.x ASICs Jesse.Zhang
2026-02-03 13:43 ` Alex Deucher
2026-02-03 14:09 ` Alex Deucher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox