mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
drm/amd/display: Preserve original aspect ratio in create stream
commit deb110292180cd501f6fde2a0178d65fcbcabb0c upstream. [Why] The original picture aspect ratio in mode struct may have chance be overwritten with wrong aspect ratio data in create_stream_for_sink(). It will create a different VIC output and cause HDMI compliance test failed. [How] Preserve the original picture aspect ratio data during create the stream. Cc: Mario Limonciello <mario.limonciello@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Tom Chung <chiahsuan.chung@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e70123fdbe
commit
3ca5a3cdc0
@@ -6001,7 +6001,9 @@ create_stream_for_sink(struct amdgpu_dm_connector *aconnector,
|
|||||||
if (recalculate_timing) {
|
if (recalculate_timing) {
|
||||||
freesync_mode = get_highest_refresh_rate_mode(aconnector, false);
|
freesync_mode = get_highest_refresh_rate_mode(aconnector, false);
|
||||||
drm_mode_copy(&saved_mode, &mode);
|
drm_mode_copy(&saved_mode, &mode);
|
||||||
|
saved_mode.picture_aspect_ratio = mode.picture_aspect_ratio;
|
||||||
drm_mode_copy(&mode, freesync_mode);
|
drm_mode_copy(&mode, freesync_mode);
|
||||||
|
mode.picture_aspect_ratio = saved_mode.picture_aspect_ratio;
|
||||||
} else {
|
} else {
|
||||||
decide_crtc_timing_for_drm_display_mode(
|
decide_crtc_timing_for_drm_display_mode(
|
||||||
&mode, preferred_mode, scale);
|
&mode, preferred_mode, scale);
|
||||||
|
|||||||
Reference in New Issue
Block a user