]> 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 16:53:05 +0000 (11:53 -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>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 8be4c5a36fd3bc59e43ec9e9ee5df279d977d12a..5f090c13f2243d9e68118fa82729282d950a4b71 100644 (file)
@@ -8216,7 +8216,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;
        }