drm/amd/display: dmub back door load
authorHersen Wu <hersenxs.wu@amd.com>
Wed, 5 Feb 2020 19:58:53 +0000 (14:58 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Feb 2020 16:02:51 +0000 (11:02 -0500)
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo@amd.com>
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Acked-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 f4e4c42341b97a1a7982a3cfca20ec4f6d9ded86..985ffceb677498757ad6b2ab0d014c99e2276ec1 100644 (file)
@@ -823,6 +823,10 @@ static int dm_dmub_hw_init(struct amdgpu_device *adev)
        hw_params.fb_base = adev->gmc.fb_start;
        hw_params.fb_offset = adev->gmc.aper_base;
 
+       /* backdoor load firmware and trigger dmub running */
+       if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP)
+               hw_params.load_inst_const = true;
+
        if (dmcu)
                hw_params.psp_version = dmcu->psp_version;
 
@@ -1192,11 +1196,6 @@ static int dm_dmub_sw_init(struct amdgpu_device *adev)
                return 0;
        }
 
-       if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) {
-               DRM_WARN("Only PSP firmware loading is supported for DMUB\n");
-               return 0;
-       }
-
        hdr = (const struct dmcub_firmware_header_v1_0 *)adev->dm.dmub_fw->data;
        adev->firmware.ucode[AMDGPU_UCODE_ID_DMCUB].ucode_id =
                AMDGPU_UCODE_ID_DMCUB;