]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: disable SG displays on cyan skillfish
authorAlex Deucher <alexander.deucher@amd.com>
Fri, 4 Oct 2024 13:34:24 +0000 (09:34 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 19:03:44 +0000 (20:03 +0100)
[ Upstream commit 66369db7fdd7d58d78673bf83d2b87ea623efb63 ]

These parts were mainly for compute workloads, but they have
a display that was available for the console.  These chips
should support SG display, but I don't know that the support
was ever validated on Linux so disable it by default. It can
still be enabled by setting sg_display=1 for those that
want to play with it.  These systems also generally had large
carve outs so SG display was less of a factor.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3356
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 24fbde7dd1c4259573d1dc4a27696c36273226b5..8c3db8346f3008b7c44da031764a46e04e01a17d 100644 (file)
@@ -1910,7 +1910,11 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
                else
                        init_data.flags.gpu_vm_support = (amdgpu_sg_display != 0);
        } else {
-               init_data.flags.gpu_vm_support = (amdgpu_sg_display != 0) && (adev->flags & AMD_IS_APU);
+               if (amdgpu_ip_version(adev, DCE_HWIP, 0) == IP_VERSION(2, 0, 3))
+                       init_data.flags.gpu_vm_support = (amdgpu_sg_display == 1);
+               else
+                       init_data.flags.gpu_vm_support =
+                               (amdgpu_sg_display != 0) && (adev->flags & AMD_IS_APU);
        }
 
        adev->mode_info.gpu_vm_support = init_data.flags.gpu_vm_support;