]> www.infradead.org Git - users/griffoul/linux.git/commitdiff
drm/amd: Re-enable common modes for eDP and LVDS
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 28 Aug 2025 14:37:05 +0000 (09:37 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 29 Aug 2025 15:13:04 +0000 (11:13 -0400)
[Why]
Although compositors will add their own modes, Xorg won't use it's own
modes and will only stick to modes advertised by the driver. This mean a
user that used to pick 1024x768 could no longer access it unless the
panel's native resolution was 1024x768.

[How]
Revert commit 6d396e7ac1ce3 ("drm/amd/display: Disable common modes for
LVDS") and commit 7948afb46af92 ("drm/amd/display: Disable common modes
for eDP").

The panel will still use scaling for any non-native modes due to
commit 978fa2f6d0b12 ("drm/amd/display: Use scaling for non-native
resolutions on eDP")

Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4538
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Link: https://lore.kernel.org/r/20250828140856.2887993-1-superm1@kernel.org
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit c2fbf72fe3c2d08856e834ca43328a8829a261d8)

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

index a0ca3b2c6bd8789fe3233e6a9dd60678f8d76e81..7808a647a306c2aa65284bc5c8c9ca21d4074d27 100644 (file)
@@ -8381,8 +8381,7 @@ static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
                                drm_add_modes_noedid(connector, 1920, 1080);
        } else {
                amdgpu_dm_connector_ddc_get_modes(connector, drm_edid);
-               if (encoder && (connector->connector_type != DRM_MODE_CONNECTOR_eDP) &&
-                   (connector->connector_type != DRM_MODE_CONNECTOR_LVDS))
+               if (encoder)
                        amdgpu_dm_connector_add_common_modes(encoder, connector);
                amdgpu_dm_connector_add_freesync_modes(connector, drm_edid);
        }