Patch "drm/i915: Avoid TP3 on CHV" has been added to the 4.1-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/i915: Avoid TP3 on CHV
to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-i915-avoid-tp3-on-chv.patch
and it can be found in the queue-4.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
ed63baaf849e91c84ac3e042b1fd6a0af07c16f3Mon Sep 17 00:00:00 2001
From: "Thulasimani,Sivakumar" <[email protected]>
Date: Tue, 18 Aug 2015 15:30:37 +0530
Subject: drm/i915: Avoid TP3 on CHV
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: "Thulasimani,Sivakumar" <[email protected]>
commit ed63baaf849e91c84ac3e042b1fd6a0af07c16f3 upstream.
This patch removes TP3 support on CHV since there is no support for HBR2 on this platform.
v2: rename the function to indicate it checks source rates (Jani)
v3: update comment to indicate TP3 dependency on HBR2 supported
hardware (Jani)
--- drivers/gpu/drm/i915/intel_dp.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-)
drivers/gpu/drm/i915/intel_dp.c +22 -8
@@ -1150,6 +1150,19 @@ intel_dp_sink_rates(struct intel_dp *intreturn (intel_dp_max_link_bw (intel_dp) >>3 ) +1 ; } +static bool intel_dp_source_supports_hbr2 (struct drm_device *dev) +{ +/* WaDisableHBR2:skl */ +if (IS_SKYLAKE (dev) &&INTEL_REVID (dev) <=SKL_REVID_B0 ) +return false; + +if ((IS_HASWELL (dev) && !IS_HSW_ULX (dev)) ||IS_BROADWELL (dev) || + (INTEL_INFO (dev)->gen >=9 )) +return true; +else +return false; +} +static int intel_dp_source_rates (struct drm_device *dev,const int **source_rates) {
@@ -1163,12 +1176,8 @@ intel_dp_source_rates(struct drm_device *source_rates = default_rates; -/* WaDisableHBR2:skl */ -if (IS_SKYLAKE (dev) &&INTEL_REVID (dev) <=SKL_REVID_B0 ) -return (DP_LINK_BW_2_7 >>3 ) +1 ; - -if ((IS_HASWELL (dev) && !IS_HSW_ULX (dev)) ||IS_BROADWELL (dev) || - (INTEL_INFO (dev)->gen >=9 )) +/* This depends on the fact that 5.4 is last value in the array */ +if (intel_dp_source_supports_hbr2 (dev))return (DP_LINK_BW_5_4 >>3 ) +1 ;else return (DP_LINK_BW_2_7 >>3 ) +1 ;
@@ -3784,10 +3793,15 @@ intel_dp_get_dpcd(struct intel_dp *intel } } -/* Training Pattern 3 support, both source and sink */ +/* Training Pattern 3 support, Intel platforms that support HBR2 alone +* have support for TP3 hence that check is used along with dpcd check +* to ensure TP3 can be enabled. +* SKL < B0: due it's WaDisableHBR2 is the only exception where TP3 is +* supported but still not enabled. +*/ if (intel_dp->dpcd[DP_DPCD_REV ] >=0x12 && intel_dp->dpcd[DP_MAX_LANE_COUNT ] &DP_TPS3_SUPPORTED && - (IS_HASWELL (dev_priv) ||INTEL_INFO (dev_priv)->gen >=8 )) { +intel_dp_source_supports_hbr2 (dev)) { intel_dp->use_tps3 = true;DRM_DEBUG_KMS ("Displayport TPS3 supported\n" ); }else
Patches currently in stable-queue which might be from [email protected] are
queue-4.1/drm-i915-avoid-tp3-on-chv.patch queue-4.1/drm-i915-remove-hbr2-from-chv-supported-list.patch