From: "Jesse.zhang@xxxxxxx" <Jesse.zhang@xxxxxxx> This patch updates the SDMA v4.4.2 software initialization to enable per-queue reset support when the MEC firmware version is 0xb0 or higher and the PMFW supports SDMA reset. The following changes are included: - Added a condition to check if the MEC firmware version is at least 0xb0 and if the PMFW supports SDMA reset using `amdgpu_dpm_reset_sdma_is_supported`. - If both conditions are met, the `AMDGPU_RESET_TYPE_PER_QUEUE` flag is set in `adev->sdma.supported_reset`. Suggested-by: Jonathan Kim <Jonathan.Kim@xxxxxxx> Signed-off-by: Vitaly Prosyak <vitaly.prosyak@xxxxxxx> Signed-off-by: Jesse Zhang <jesse.zhang@xxxxxxx> --- drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c index b24a1ff5d743..e01d97b96655 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c @@ -1481,9 +1481,10 @@ static int sdma_v4_4_2_sw_init(struct amdgpu_ip_block *ip_block) } } - /* TODO: Add queue reset mask when FW fully supports it */ adev->sdma.supported_reset = amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring); + if (adev->gfx.mec_fw_version >= 0xb0 && amdgpu_dpm_reset_sdma_is_supported(adev)) + adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE; if (amdgpu_sdma_ras_sw_init(adev)) { dev_err(adev->dev, "fail to initialize sdma ras block\n"); -- 2.25.1