summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHersen Wu <hersenxs.wu@amd.com>2023-05-25 08:37:40 -0400
committerAlex Deucher <alexander.deucher@amd.com>2023-06-15 10:44:01 -0400
commit7a0e005c7957931689a327b2a4e7333a19f13f95 (patch)
treebdc816249a6f7ebbac774e8f4d43c8cc7cdf8a00 /drivers
parent59eddd4e215afc05f0610ebabfa05d4b099e5c13 (diff)
downloadlinux-stable-7a0e005c7957931689a327b2a4e7333a19f13f95.tar.gz
linux-stable-7a0e005c7957931689a327b2a4e7333a19f13f95.tar.bz2
linux-stable-7a0e005c7957931689a327b2a4e7333a19f13f95.zip
drm/amd/display: edp do not add non-edid timings
[Why] most edp support only timings from edid. applying non-edid timings, especially those timings out of edp bandwidth, may damage edp. [How] do not add non-edid timings for edp. Cc: Mario Limonciello <mario.limonciello@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Acked-by: Stylon Wang <stylon.wang@amd.com> Signed-off-by: Hersen Wu <hersenxs.wu@amd.com> Reviewed-by: Roman Li <roman.li@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index b6bef202b6bb..2f3f579efe30 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -7256,7 +7256,13 @@ static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
drm_add_modes_noedid(connector, 1920, 1080);
} else {
amdgpu_dm_connector_ddc_get_modes(connector, edid);
- amdgpu_dm_connector_add_common_modes(encoder, connector);
+ /* 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_freesync_modes(connector, edid);
}
amdgpu_dm_fbc_init(connector);