]> git.ipfire.org Git - thirdparty/kernel/linux.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)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 4 Nov 2025 18:23:24 +0000 (13:23 -0500)
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)

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index bfa3199591b67ad6087da7048df7a8c2f6118c44..2fe6520207d657e5b34b24021ba298d734356089 100644 (file)
@@ -8030,7 +8030,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;
        }