drm/amdgpu/discovery: enable UMSCH 4.0 in IP discovery
authorLang Yu <Lang.Yu@amd.com>
Wed, 21 Jun 2023 12:16:46 +0000 (20:16 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 31 Aug 2023 21:14:21 +0000 (17:14 -0400)
Enable UMSCH to support VPE and VCN user queues.

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Veerabadhran Gopalakrishnan <Veerabadhran.Gopalakrishnan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c

index 5de712bf20417af3b0f628eb096379badded41d7..1d8788e16077d85175bd93723f54693388f33f26 100644 (file)
@@ -2160,6 +2160,20 @@ static int amdgpu_discovery_set_vpe_ip_blocks(struct amdgpu_device *adev)
        return 0;
 }
 
+static int amdgpu_discovery_set_umsch_mm_ip_blocks(struct amdgpu_device *adev)
+{
+       switch (adev->ip_versions[VCN_HWIP][0]) {
+       case IP_VERSION(4, 0, 5):
+               amdgpu_device_ip_block_add(adev, &umsch_mm_v4_0_ip_block);
+               adev->enable_umsch_mm = true;
+               break;
+       default:
+               break;
+       }
+
+       return 0;
+}
+
 int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
 {
        int r;
@@ -2651,6 +2665,10 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
        if (r)
                return r;
 
+       r = amdgpu_discovery_set_umsch_mm_ip_blocks(adev);
+       if (r)
+               return r;
+
        return 0;
 }