Commit 364a3fe1 authored by Jani Nikula's avatar Jani Nikula

drm/i915: push DDI and DSI underrun reporting on enable to encoder

Simplify CRTC enable.

v2: Don't forget DSI (Daniel)
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1ad8f3ccaed99a5f03e3d53345221a25ad0be50f.1507200657.git.jani.nikula@intel.com
parent 3daa3cee
...@@ -2213,8 +2213,16 @@ static void intel_ddi_pre_enable(struct intel_encoder *encoder, ...@@ -2213,8 +2213,16 @@ static void intel_ddi_pre_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config, const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state) const struct drm_connector_state *conn_state)
{ {
struct drm_crtc *crtc = pipe_config->base.crtc;
struct drm_i915_private *dev_priv = to_i915(crtc->dev);
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
int pipe = intel_crtc->pipe;
int type = encoder->type; int type = encoder->type;
WARN_ON(intel_crtc->config->has_pch_encoder);
intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, true);
if (type == INTEL_OUTPUT_DP || type == INTEL_OUTPUT_EDP) { if (type == INTEL_OUTPUT_DP || type == INTEL_OUTPUT_EDP) {
intel_ddi_pre_enable_dp(encoder, intel_ddi_pre_enable_dp(encoder,
pipe_config->port_clock, pipe_config->port_clock,
......
...@@ -5521,9 +5521,6 @@ static void haswell_crtc_enable(struct intel_crtc_state *pipe_config, ...@@ -5521,9 +5521,6 @@ static void haswell_crtc_enable(struct intel_crtc_state *pipe_config,
intel_crtc->active = true; intel_crtc->active = true;
if (!intel_crtc->config->has_pch_encoder)
intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, true);
intel_encoders_pre_enable(crtc, pipe_config, old_state); intel_encoders_pre_enable(crtc, pipe_config, old_state);
if (intel_crtc->config->has_pch_encoder) if (intel_crtc->config->has_pch_encoder)
......
...@@ -790,14 +790,19 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder, ...@@ -790,14 +790,19 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder,
const struct intel_crtc_state *pipe_config, const struct intel_crtc_state *pipe_config,
const struct drm_connector_state *conn_state) const struct drm_connector_state *conn_state)
{ {
struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
struct drm_crtc *crtc = pipe_config->base.crtc;
struct drm_i915_private *dev_priv = to_i915(crtc->dev);
struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
int pipe = intel_crtc->pipe;
enum port port; enum port port;
u32 val; u32 val;
bool glk_cold_boot = false; bool glk_cold_boot = false;
DRM_DEBUG_KMS("\n"); DRM_DEBUG_KMS("\n");
intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, true);
/* /*
* The BIOS may leave the PLL in a wonky state where it doesn't * The BIOS may leave the PLL in a wonky state where it doesn't
* lock. It needs to be fully powered down to fix it. * lock. It needs to be fully powered down to fix it.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment