]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amd/display: Check DMCU Exists Before Loading
authorJerry (Fangzhi) Zuo <Jerry.Zuo@amd.com>
Fri, 24 Apr 2020 18:09:23 +0000 (14:09 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Jul 2020 08:18:29 +0000 (10:18 +0200)
[ Upstream commit 17bdb4a82fe5014c8aa5b2103c80c5729744a096 ]

Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo@amd.com>
Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 4fad0b603b3abdc601a0ef1d1bac7e98d65dc6a4..c7d8edf450d3cc27e6eb3555239fbbdd304b9637 100644 (file)
@@ -928,9 +928,14 @@ static int dm_late_init(void *handle)
        struct dmcu_iram_parameters params;
        unsigned int linear_lut[16];
        int i;
-       struct dmcu *dmcu = adev->dm.dc->res_pool->dmcu;
+       struct dmcu *dmcu = NULL;
        bool ret;
 
+       if (!adev->dm.fw_dmcu)
+               return detect_mst_link_for_all_connectors(adev->ddev);
+
+       dmcu = adev->dm.dc->res_pool->dmcu;
+
        for (i = 0; i < 16; i++)
                linear_lut[i] = 0xFFFF * i / 15;