]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Don't stretch non-native images by default in eDP
authorMario Limonciello (AMD) <superm1@kernel.org>
Thu, 30 Oct 2025 19:39:43 +0000 (14:39 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 24 Nov 2025 09:37:22 +0000 (10:37 +0100)
[ Upstream commit 3362692fea915ce56345366364a501c629c9ff17 ]

commit 978fa2f6d0b12 ("drm/amd/display: Use scaling for non-native
resolutions on eDP") started using the GPU scaler hardware to scale
when a non-native resolution was picked on eDP. This scaling was done
to fill the screen instead of maintain aspect ratio.

The idea was supposed to be that if a different scaling behavior is
preferred then the compositor would request it.  The not following
aspect ratio behavior however isn't desirable, so adjust it to follow
aspect ratio and still try to fill screen.

Note: This will lead to black bars in some cases for non-native
resolutions. Compositors can request the previous behavior if desired.

Fixes: 978fa2f6d0b1 ("drm/amd/display: Use scaling for non-native resolutions on eDP")
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4538
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 825df7ff4bb1a383ad4827545e09aec60d230770)
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index b997718f624f8ac9a4efb49df159b6f35896dc33..f06c918f5a33a9955b36ac3bfab461b5f1cb305b 100644 (file)
@@ -8003,7 +8003,7 @@ static int dm_encoder_helper_atomic_check(struct drm_encoder *encoder,
                                       "mode %dx%d@%dHz is not native, enabling scaling\n",
                                       adjusted_mode->hdisplay, adjusted_mode->vdisplay,
                                       drm_mode_vrefresh(adjusted_mode));
-                       dm_new_connector_state->scaling = RMX_FULL;
+                       dm_new_connector_state->scaling = RMX_ASPECT;
                }
                return 0;
        }