From: Alex Deucher <alexander.deuc...@amd.com>

[ 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.wentl...@amd.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 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 8d97f17ffe662..623e349b6f137 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.43.0

Reply via email to