summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/intel_ddi.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2016-07-28 17:50:41 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2016-08-04 15:56:39 +0300
commitf64425a82bdb5c3d7e09ba765716da88a9b00eec (patch)
tree15f89e3a20a44c65e106363d638f6c945267fe82 /drivers/gpu/drm/i915/intel_ddi.c
parent477321e0130c58f7fc3e41753ad95e934aaa7abc (diff)
drm/i915: Track active streams also for DP SST
s/active_mst_links/active_streams/ and use it also for SST. We can then use this information in the hpd handling to see if the link is active or not, and thus whether we may need to retrain. Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Cc: Jim Bride <jim.bride@linux.intel.com> Cc: Manasi D Navare <manasi.d.navare@intel.com> Cc: Durgadoss R <durgadoss.r@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1469717448-4297-6-git-send-email-ville.syrjala@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ddi.c')
-rw-r--r--drivers/gpu/drm/i915/intel_ddi.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 0400825a9d2e..ac8700b4e6e2 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1641,6 +1641,9 @@ static void intel_ddi_pre_enable(struct intel_encoder *intel_encoder)
intel_ddi_init_dp_buf_reg(intel_encoder);
+ WARN_ON(intel_dp->active_streams != 0);
+ intel_dp->active_streams++;
+
intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
intel_dp_start_link_train(intel_dp);
if (port != PORT_A || INTEL_INFO(dev_priv)->gen >= 9)
@@ -1767,6 +1770,13 @@ static void intel_disable_ddi(struct intel_encoder *intel_encoder)
intel_psr_disable(intel_dp);
intel_edp_backlight_off(intel_dp);
}
+
+ if (type == INTEL_OUTPUT_DP || type == INTEL_OUTPUT_EDP) {
+ struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
+
+ intel_dp->active_streams--;
+ WARN_ON(intel_dp->active_streams != 0);
+ }
}
bool bxt_ddi_phy_is_enabled(struct drm_i915_private *dev_priv,