On Sun, May 11, 2025 at 9:23 PM Jesse.Zhang <[email protected]> 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 <[email protected]> > Signed-off-by: Jesse Zhang <[email protected]>
Acked-by: Alex Deucher <[email protected]> > --- > 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 >
