From: Lang Yu <[email protected]>

Enable UMSCH to support VPE and VCN user queues.

Signed-off-by: Lang Yu <[email protected]>
Reviewed-by: Leo Liu <[email protected]>
Reviewed-by: Veerabadhran Gopalakrishnan <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
index 0bf3bf94955c..783f8d50e499 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
@@ -2159,6 +2159,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;
@@ -2650,6 +2664,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;
 }
 
-- 
2.41.0

Reply via email to