drm/amdgpu/uvd4.2: Don't initialize UVD 4.2 when DPM is disabled

UVD 4.2 doesn't work at all when DPM is disabled because
the SMU is responsible for ungating it. So, Linux fails
to boot with CIK GPUs when using the amdgpu.dpm=0 parameter.

Fix this by returning -ENOENT from uvd_v4_2_early_init()
when amdgpu_dpm isn't enabled.

Note: amdgpu.dpm=0 is often suggested as a workaround
for issues and is useful for debugging.

Fixes: a2e73f56fa ("drm/amdgpu: Add support for CIK parts")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Timur Kristóf
2026-03-29 18:03:06 +02:00
committed by Alex Deucher
parent 4724bc5b8d
commit 8b3e8fa6d7
+5
View File
@@ -93,6 +93,11 @@ static void uvd_v4_2_ring_set_wptr(struct amdgpu_ring *ring)
static int uvd_v4_2_early_init(struct amdgpu_ip_block *ip_block)
{
struct amdgpu_device *adev = ip_block->adev;
/* UVD doesn't work without DPM, it needs DPM to ungate it. */
if (!amdgpu_dpm)
return -ENOENT;
adev->uvd.num_uvd_inst = 1;
uvd_v4_2_set_ring_funcs(adev);