aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2016-02-05 05:16:10 -0500
committerJani Nikula <jani.nikula@intel.com>2016-02-08 04:37:17 -0500
commit0fd64e8213772829788309f269e15bcb28c34195 (patch)
tree3bcc5e994b845d33ddd48e2abb9a420825da1090
parentbf039fa9357bdd26b3f115efd8af527523212069 (diff)
drm/i915/dp: reduce missing TPS3 support errors to debug logging
Per spec, TPS3 support is mandatory for downstream devices that support HBR2. We've therefore logged errors on HBR2 without TPS3 since commit 1da7d7131c35cde83f1bab8ec732b57b69bef814 Author: Jani Nikula <jani.nikula@intel.com> Date: Thu Sep 3 11:16:08 2015 +0300 drm/i915: ignore link rate in TPS3 selection However, it seems there are real world devices out there that just aren't spec compliant, and still work at HBR2 using TPS2. So reduce the error message to debug logging. Cc: Ander Conselvan de Oliveira <conselvan2@gmail.com> Cc: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92932 Fixes: 1da7d7131c35 ("drm/i915: ignore link rate in TPS3 selection") Cc: drm-intel-fixes@lists.freedesktop.org Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1454667370-8001-2-git-send-email-jani.nikula@intel.com (cherry picked from commit bfcef5d2135ea1200ac1ea44661619ab8785c9f0) Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-rw-r--r--drivers/gpu/drm/i915/intel_dp_link_training.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_link_training.c b/drivers/gpu/drm/i915/intel_dp_link_training.c
index 83e667b92fda..0b8eefc2acc5 100644
--- a/drivers/gpu/drm/i915/intel_dp_link_training.c
+++ b/drivers/gpu/drm/i915/intel_dp_link_training.c
@@ -222,19 +222,27 @@ intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp)
222static u32 intel_dp_training_pattern(struct intel_dp *intel_dp) 222static u32 intel_dp_training_pattern(struct intel_dp *intel_dp)
223{ 223{
224 u32 training_pattern = DP_TRAINING_PATTERN_2; 224 u32 training_pattern = DP_TRAINING_PATTERN_2;
225 bool source_tps3, sink_tps3;
225 226
226 /* 227 /*
227 * Intel platforms that support HBR2 also support TPS3. TPS3 support is 228 * Intel platforms that support HBR2 also support TPS3. TPS3 support is
228 * also mandatory for downstream devices that support HBR2. 229 * also mandatory for downstream devices that support HBR2. However, not
230 * all sinks follow the spec.
229 * 231 *
230 * Due to WaDisableHBR2 SKL < B0 is the only exception where TPS3 is 232 * Due to WaDisableHBR2 SKL < B0 is the only exception where TPS3 is
231 * supported but still not enabled. 233 * supported in source but still not enabled.
232 */ 234 */
233 if (intel_dp_source_supports_hbr2(intel_dp) && 235 source_tps3 = intel_dp_source_supports_hbr2(intel_dp);
234 drm_dp_tps3_supported(intel_dp->dpcd)) 236 sink_tps3 = drm_dp_tps3_supported(intel_dp->dpcd);
237
238 if (source_tps3 && sink_tps3) {
235 training_pattern = DP_TRAINING_PATTERN_3; 239 training_pattern = DP_TRAINING_PATTERN_3;
236 else if (intel_dp->link_rate == 540000) 240 } else if (intel_dp->link_rate == 540000) {
237 DRM_ERROR("5.4 Gbps link rate without HBR2/TPS3 support\n"); 241 if (!source_tps3)
242 DRM_DEBUG_KMS("5.4 Gbps link rate without source HBR2/TPS3 support\n");
243 if (!sink_tps3)
244 DRM_DEBUG_KMS("5.4 Gbps link rate without sink TPS3 support\n");
245 }
238 246
239 return training_pattern; 247 return training_pattern;
240} 248}