]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: Disable common modes for LVDS
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 1 Jul 2025 20:09:19 +0000 (16:09 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 7 Jul 2025 17:48:36 +0000 (13:48 -0400)
[Why]
Common modes are added to LVDS for compatibility in clone mode, but
not all panels support them.  Non-native modes were disabled in the past
but this caused problems because compositors didn't use scaling for non
native modes. Now non-native modes on LVDS will enable the scaler by
default.

[How]
Check the connector type.  If the connector is LVDS avoid adding common
modes.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 3dd4f9e9931d27e7d056f26991d19081f4eedb7b..7a4fca9a61bbea9d3f076a93766b9fb3906fe8db 100644 (file)
@@ -8374,7 +8374,8 @@ 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)
+               if (encoder && (connector->connector_type != DRM_MODE_CONNECTOR_eDP) &&
+                   (connector->connector_type != DRM_MODE_CONNECTOR_LVDS))
                        amdgpu_dm_connector_add_common_modes(encoder, connector);
                amdgpu_dm_connector_add_freesync_modes(connector, drm_edid);
        }