]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdgpu/sdma7: Add queue reset sysfs for sdmav7
authorJesse.zhang@amd.com <Jesse.zhang@amd.com>
Tue, 10 Dec 2024 02:27:43 +0000 (10:27 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 11 Dec 2024 22:35:21 +0000 (17:35 -0500)
sdmv7 queue reset already supports by mmio, add its sys file.

Signed-off-by: Jesse Zhang <jesse.zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c

index c85f7626896a77423ed5016a0288ba7183e3d283..dc1a59246de5574d9cd2cd28e761851bf5833639 100644 (file)
@@ -1364,6 +1364,13 @@ static int sdma_v7_0_sw_init(struct amdgpu_ip_block *ip_block)
                        return r;
        }
 
+       adev->sdma.supported_reset =
+               amdgpu_get_soft_full_reset_mask(&adev->sdma.instance[0].ring);
+       adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+
+       r = amdgpu_sdma_sysfs_reset_mask_init(adev);
+       if (r)
+               return r;
        /* Allocate memory for SDMA IP Dump buffer */
        ptr = kcalloc(adev->sdma.num_instances * reg_count, sizeof(uint32_t), GFP_KERNEL);
        if (ptr)
@@ -1382,6 +1389,7 @@ static int sdma_v7_0_sw_fini(struct amdgpu_ip_block *ip_block)
        for (i = 0; i < adev->sdma.num_instances; i++)
                amdgpu_ring_fini(&adev->sdma.instance[i].ring);
 
+       amdgpu_sdma_sysfs_reset_mask_fini(adev);
        amdgpu_sdma_destroy_inst_ctx(adev, true);
 
        if (adev->firmware.load_type == AMDGPU_FW_LOAD_DIRECT)