]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdgpu/uvd4.2: Don't initialize UVD 4.2 when DPM is disabled
authorTimur Kristóf <timur.kristof@gmail.com>
Sun, 29 Mar 2026 16:03:06 +0000 (18:03 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 30 Mar 2026 20:49:12 +0000 (16:49 -0400)
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: a2e73f56fa62 ("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>
drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c

index 73ce3d211ed64cb6945fe607bbb6ef1f05a2551d..8a9ba2276275cfc4498693bc5e3b725274947995 100644 (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);