OSDN Git Service

drm/amd/display: pass the right num of modes added
authorMikita Lipski <mikita.lipski@amd.com>
Thu, 26 Jul 2018 20:27:48 +0000 (16:27 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 27 Aug 2018 16:09:57 +0000 (11:09 -0500)
[why]
In case if edid is null or corrupted we need to manually add
a single failsafe mode (640x480). If zero modes returned
DRM adds a different failsafe mode that is not accepted by
DP 1.2 compliance test

[how]
Return the number of modes manually added

Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
Reviewed-by: Sun peng Li <Sunpeng.Li@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 800f481..d8261fe 100644 (file)
@@ -3468,7 +3468,8 @@ static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
        encoder = helper->best_encoder(connector);
 
        if (!edid || !drm_edid_is_valid(edid)) {
-               drm_add_modes_noedid(connector, 640, 480);
+               amdgpu_dm_connector->num_modes =
+                               drm_add_modes_noedid(connector, 640, 480);
        } else {
                amdgpu_dm_connector_ddc_get_modes(connector, edid);
                amdgpu_dm_connector_add_common_modes(encoder, connector);