]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/amd/display: Do DMCUB hw_init before DC
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Fri, 10 Jan 2020 14:17:58 +0000 (09:17 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 22 Jan 2020 21:55:27 +0000 (16:55 -0500)
[Why]
For DMCUB enabled hardware DC has a dependency on DMCUB already being
running.

Command table offloading will fail on first modeset if DMCUB isn't
initialized first.

[How]
Perform DMCUB hardware initialization before DC.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 9402374d2466d345bbca41a908cf5ec7bd28e341..3af014fcdcc1d5f047f085a89b03567dc5105fba 100644 (file)
@@ -940,14 +940,14 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
                goto error;
        }
 
-       dc_hardware_init(adev->dm.dc);
-
        r = dm_dmub_hw_init(adev);
        if (r) {
                DRM_ERROR("DMUB interface failed to initialize: status=%d\n", r);
                goto error;
        }
 
+       dc_hardware_init(adev->dm.dc);
+
        adev->dm.freesync_module = mod_freesync_create(adev->dm.dc);
        if (!adev->dm.freesync_module) {
                DRM_ERROR(