Revert "drm/amd/display: edp do not add non-edid timings"
authorHersen Wu <hersenxs.wu@amd.com>
Mon, 26 Jun 2023 17:40:58 +0000 (13:40 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jul 2023 06:50:52 +0000 (08:50 +0200)
commit d6149086b45e150c170beaa4546495fd1880724c upstream.

This change causes regression when eDP and external display in mirror
mode. When external display supports low resolution than eDP, use eDP
timing to driver external display may cause corruption on external
display.

This reverts commit e749dd10e5f292061ad63d2b030194bf7d7d452c.

Cc: stable@vger.kernel.org
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2655
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 27331f6..ce5df79 100644 (file)
@@ -6988,13 +6988,7 @@ static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
                                drm_add_modes_noedid(connector, 640, 480);
        } else {
                amdgpu_dm_connector_ddc_get_modes(connector, edid);
-               /* most eDP supports only timings from its edid,
-                * usually only detailed timings are available
-                * from eDP edid. timings which are not from edid
-                * may damage eDP
-                */
-               if (connector->connector_type != DRM_MODE_CONNECTOR_eDP)
-                       amdgpu_dm_connector_add_common_modes(encoder, connector);
+               amdgpu_dm_connector_add_common_modes(encoder, connector);
                amdgpu_dm_connector_add_freesync_modes(connector, edid);
        }
        amdgpu_dm_fbc_init(connector);