From: Alex Deucher Date: Wed, 10 Dec 2014 14:42:10 +0000 (-0500) Subject: drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw X-Git-Tag: v3.16.35~3135 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=65416226d4a377061bf4f4d7a13d02eef85ad9f1;p=thirdparty%2Fkernel%2Fstable.git drm/radeon: properly filter DP1.2 4k modes on non-DP1.2 hw commit 410cce2a6b82299b46ff316c6384e789ce275ecb upstream. The check was already in place in the dp mode_valid check, but radeon_dp_get_dp_link_clock() never returned the high clock mode_valid was checking for because that function clipped the clock based on the hw capabilities. Add an explicit check in the mode_valid function. bug: https://bugs.freedesktop.org/show_bug.cgi?id=87172 Signed-off-by: Alex Deucher Signed-off-by: Luis Henriques --- diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c index 67fb65428b1e2..d011729f20b06 100644 --- a/drivers/gpu/drm/radeon/atombios_dp.c +++ b/drivers/gpu/drm/radeon/atombios_dp.c @@ -495,6 +495,10 @@ int radeon_dp_mode_valid_helper(struct drm_connector *connector, struct radeon_connector_atom_dig *dig_connector; int dp_clock; + if ((mode->clock > 340000) && + (!radeon_connector_is_dp12_capable(connector))) + return MODE_CLOCK_HIGH; + if (!radeon_connector->con_priv) return MODE_CLOCK_HIGH; dig_connector = radeon_connector->con_priv;