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)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 8 Oct 2024 13:43:34 +0000 (09:43 -0400)
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>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 84ae455..0ee80e8 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;