[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.

Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 3dd4f9e9931d2..7a4fca9a61bbe 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -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);
        }
-- 
2.50.0

Reply via email to