[PATCH] drm/amdgpu: Add GFX 9.5.0 support for per-queue/pipe reset
Alex Deucher
alexdeucher at gmail.com
Mon May 12 14:44:32 UTC 2025
On Sun, May 11, 2025 at 9:23 PM Jesse.Zhang <Jesse.Zhang at amd.com> wrote:
>
> This patch enables per-queue and per-pipe reset functionality for
> GFX IP v9.5.0 when using MEC firmware version 21 (0x15) or later.
>
> This change:
> 1. Refactors the pipe reset support check in gfx_v9_4_3_pipe_reset_support()
> to use the compute_supported_reset flags instead of hardcoding
> version checks.
> 2. Adds support for GFX9.5.0 (IP 9.5.0) with MEC firmware version >= 21
> to enable per-queue and per-pipe reset capabilities.
>
> v2: Replaced mec version check with !!(adev->gfx.compute_supported_reset & AMDGPU_RESET_TYPE_PER_PIPE) (Lijo)
>
> Signed-off-by: Asad Kamal <asad.kamal at amd.com>
> Signed-off-by: Jesse Zhang <jesse.zhang at amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> index 9db2bde5c59d..e6d516b1efd9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c
> @@ -1153,6 +1153,12 @@ static int gfx_v9_4_3_sw_init(struct amdgpu_ip_block *ip_block)
> adev->gfx.compute_supported_reset |= AMDGPU_RESET_TYPE_PER_PIPE;
> }
> break;
> + case IP_VERSION(9, 5, 0):
> + if (adev->gfx.mec_fw_version >= 21) {
> + adev->gfx.compute_supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
> + adev->gfx.compute_supported_reset |= AMDGPU_RESET_TYPE_PER_PIPE;
> + }
> + break;
> default:
> break;
> }
> @@ -3452,9 +3458,7 @@ static int gfx_v9_4_3_unmap_done(struct amdgpu_device *adev, uint32_t me,
>
> static bool gfx_v9_4_3_pipe_reset_support(struct amdgpu_device *adev)
> {
> - /*TODO: Need check gfx9.4.4 mec fw whether supports pipe reset as well.*/
> - if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 3) &&
> - adev->gfx.mec_fw_version >= 0x0000009b)
> + if (!!(adev->gfx.compute_supported_reset & AMDGPU_RESET_TYPE_PER_PIPE))
> return true;
> else
> dev_warn_once(adev->dev, "Please use the latest MEC version to see whether support pipe reset\n");
> --
> 2.49.0
>
More information about the amd-gfx
mailing list