]> Git Repo - J-linux.git/blobdiff - drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c
Merge tag '6.13-rc-part1-SMB3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
[J-linux.git] / drivers / gpu / drm / amd / amdgpu / sdma_v6_0.c
index 5635f2d84090efd9c87050ecbed098c7cc65582e..d46128b0ec9202fdcd27f9423826406b3c49b261 100644 (file)
@@ -1350,6 +1350,19 @@ static int sdma_v6_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);
+       switch (amdgpu_ip_version(adev, SDMA0_HWIP, 0)) {
+       case IP_VERSION(6, 0, 0):
+       case IP_VERSION(6, 0, 2):
+       case IP_VERSION(6, 0, 3):
+               if (adev->sdma.instance[0].fw_version >= 21)
+                       adev->sdma.supported_reset |= AMDGPU_RESET_TYPE_PER_QUEUE;
+               break;
+       default:
+               break;
+       }
+
        if (amdgpu_sdma_ras_sw_init(adev)) {
                dev_err(adev->dev, "Failed to initialize sdma ras block!\n");
                return -EINVAL;
@@ -1362,6 +1375,10 @@ static int sdma_v6_0_sw_init(struct amdgpu_ip_block *ip_block)
        else
                DRM_ERROR("Failed to allocated memory for SDMA IP Dump\n");
 
+       r = amdgpu_sdma_sysfs_reset_mask_init(adev);
+       if (r)
+               return r;
+
        return r;
 }
 
@@ -1373,6 +1390,7 @@ static int sdma_v6_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);
 
        kfree(adev->sdma.ip_dump);
This page took 0.028275 seconds and 4 git commands to generate.