drm/amdgpu: enable VPE for VPE 6.1.0
authorLang Yu <Lang.Yu@amd.com>
Wed, 13 Jul 2022 03:34:20 +0000 (11:34 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 31 Aug 2023 20:34:16 +0000 (16:34 -0400)
Enable Video Processing Engine on SoCs
that contain VPE 6.1.0.

Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c

index 003fddffab50e1688744c42ae87632a17ee11ced..4ce4196c8349b74831724fee70ade5b1f8cf0b48 100644 (file)
@@ -90,6 +90,8 @@
 #include "smuio_v13_0_3.h"
 #include "smuio_v13_0_6.h"
 
+#include "amdgpu_vpe.h"
+
 #define FIRMWARE_IP_DISCOVERY "amdgpu/ip_discovery.bin"
 MODULE_FIRMWARE(FIRMWARE_IP_DISCOVERY);
 
@@ -2139,6 +2141,19 @@ static void amdgpu_discovery_init_soc_config(struct amdgpu_device *adev)
        }
 }
 
+static int amdgpu_discovery_set_vpe_ip_blocks(struct amdgpu_device *adev)
+{
+       switch (adev->ip_versions[VPE_HWIP][0]) {
+       case IP_VERSION(6, 1, 0):
+               amdgpu_device_ip_block_add(adev, &vpe_v6_1_ip_block);
+               break;
+       default:
+               break;
+       }
+
+       return 0;
+}
+
 int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
 {
        int r;
@@ -2626,6 +2641,10 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
        if (r)
                return r;
 
+       r = amdgpu_discovery_set_vpe_ip_blocks(adev);
+       if (r)
+               return r;
+
        return 0;
 }