summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
diff options
context:
space:
mode:
authorLang Yu <Lang.Yu@amd.com>2022-07-13 11:34:20 +0800
committerAlex Deucher <alexander.deucher@amd.com>2023-08-31 16:34:16 -0400
commit3ee8fb7005efe3cd2dac7220a3ba337fae5d8192 (patch)
treeb9bfb2582d3ceeb7d916f65137c7d468caf0b270 /drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
parent523c12802d2fc7f911a03dd4c81537f835a1da52 (diff)
downloadlinux-stable-3ee8fb7005efe3cd2dac7220a3ba337fae5d8192.tar.gz
linux-stable-3ee8fb7005efe3cd2dac7220a3ba337fae5d8192.tar.bz2
linux-stable-3ee8fb7005efe3cd2dac7220a3ba337fae5d8192.zip
drm/amdgpu: enable VPE for VPE 6.1.0
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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
index 003fddffab50..4ce4196c8349 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
@@ -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;
}