It doesn't work under IP discovery mode. Make it work!

Signed-off-by: Lang Yu <lang...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
index 07965ac6381b..1ad137499e38 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
@@ -846,8 +846,14 @@ static int amdgpu_discovery_set_display_ip_blocks(struct 
amdgpu_device *adev)
 {
        if (adev->enable_virtual_display || amdgpu_sriov_vf(adev)) {
                amdgpu_device_ip_block_add(adev, &amdgpu_vkms_ip_block);
+               return 0;
+       }
+
+       if (!amdgpu_device_has_dc_support(adev))
+               return 0;
+
 #if defined(CONFIG_DRM_AMD_DC)
-       } else if (adev->ip_versions[DCE_HWIP][0]) {
+       if (adev->ip_versions[DCE_HWIP][0]) {
                switch (adev->ip_versions[DCE_HWIP][0]) {
                case IP_VERSION(1, 0, 0):
                case IP_VERSION(1, 0, 1):
@@ -882,9 +888,9 @@ static int amdgpu_discovery_set_display_ip_blocks(struct 
amdgpu_device *adev)
                                adev->ip_versions[DCI_HWIP][0]);
                        return -EINVAL;
                }
-#endif
        }
        return 0;
+#endif
 }
 
 static int amdgpu_discovery_set_gc_ip_blocks(struct amdgpu_device *adev)
-- 
2.25.1

Reply via email to