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
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 7616d7a509b9..84fdfb4c8bd0 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -1886,7 +1886,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;
-- 
2.46.2

Reply via email to