]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amd/display: Fix GPU scaling regression by FS video support
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Wed, 19 May 2021 20:12:19 +0000 (16:12 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 21 May 2021 22:00:13 +0000 (18:00 -0400)
commit5e6c0aab8bc83927046a332dbc60bcb855435ad2
tree75bc4e7a1ce4c7a8b6e0fb67a354192219a17e99
parentd1078c31c7a09707ab87563fa3aa199b6ab9951b
drm/amd/display: Fix GPU scaling regression by FS video support

[Why]
FS video support regressed GPU scaling and the scaled buffer ends up
stuck in the top left of the screen at native size - full, aspect,
center scaling modes do not function.

This is because decide_crtc_timing_for_drm_display_mode() does not
get called when scaling is enabled.

[How]
Split recalculate timing and scaling into two different flags.

We don't want to call drm_mode_set_crtcinfo() for scaling, but we
do want to call it for FS video.

Optimize and move preferred_refresh calculation next to
decide_crtc_timing_for_drm_display_mode() like it used to be since
that's not used for FS video.

We don't need to copy over the VIC or polarity in the case of FS video
modes because those don't change.

Fixes: 1e979c92a5765c ("drm/amd/display: Skip modeset for front porch change")
Cc: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c