Skip to content

Commit 3b63602

Browse files
Jie1zhangalexdeucher
authored andcommitted
drm/amdgpu: Add GFX 9.5.0 support for per-queue/pipe reset
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@amd.com> Signed-off-by: Jesse Zhang <jesse.zhang@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 5d6fdda commit 3b63602

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,6 +1153,12 @@ static int gfx_v9_4_3_sw_init(struct amdgpu_ip_block *ip_block)
11531153
adev->gfx.compute_supported_reset |= AMDGPU_RESET_TYPE_PER_PIPE;
11541154
}
11551155
break;
1156+
case IP_VERSION(9, 5, 0):
1157+
if (adev->gfx.mec_fw_version >= 21) {
1158+
adev->gfx.compute_supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
1159+
adev->gfx.compute_supported_reset |= AMDGPU_RESET_TYPE_PER_PIPE;
1160+
}
1161+
break;
11561162
default:
11571163
break;
11581164
}
@@ -3452,9 +3458,7 @@ static int gfx_v9_4_3_unmap_done(struct amdgpu_device *adev, uint32_t me,
34523458

34533459
static bool gfx_v9_4_3_pipe_reset_support(struct amdgpu_device *adev)
34543460
{
3455-
/*TODO: Need check gfx9.4.4 mec fw whether supports pipe reset as well.*/
3456-
if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 3) &&
3457-
adev->gfx.mec_fw_version >= 0x0000009b)
3461+
if (!!(adev->gfx.compute_supported_reset & AMDGPU_RESET_TYPE_PER_PIPE))
34583462
return true;
34593463
else
34603464
dev_warn_once(adev->dev, "Please use the latest MEC version to see whether support pipe reset\n");

0 commit comments

Comments
 (0)