]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/i915: Push TRANS_DDI_FUNC_CTL into the encoder->enable() hook
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 17 Apr 2020 13:47:19 +0000 (16:47 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 20 Apr 2020 18:21:10 +0000 (21:21 +0300)
Push the TRANS_DDI_FUNC_CTL into the encoder enable hook. The disable
is already there, and as a followup will enable us to pass the encoder
all the way down.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200417134720.16654-3-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_crt.c
drivers/gpu/drm/i915/display/intel_ddi.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_dp_mst.c

index cbf8408537cf5d7f334233822e55f3c38c302143..0a75821a680b614845b3a65fae3f92ee63895f0d 100644 (file)
@@ -308,6 +308,8 @@ static void hsw_enable_crt(struct intel_atomic_state *state,
 
        drm_WARN_ON(&dev_priv->drm, !crtc_state->has_pch_encoder);
 
+       intel_ddi_enable_transcoder_func(crtc_state);
+
        intel_enable_pipe(crtc_state);
 
        lpt_pch_enable(crtc_state);
index 2574c058da87d838fc386af1f3f162d1e02cc7ec..9718415ee6803d77fd95f63e068f89375908b14d 100644 (file)
@@ -3765,6 +3765,8 @@ static void intel_enable_ddi(struct intel_atomic_state *state,
 {
        WARN_ON(crtc_state->has_pch_encoder);
 
+       intel_ddi_enable_transcoder_func(crtc_state);
+
        intel_enable_pipe(crtc_state);
 
        intel_crtc_vblank_on(crtc_state);
index 55e7c499e7c7f50e16fa590372506d079e7ec056..74449f67acc22bf23135e9f940d545132d7b5751 100644 (file)
@@ -7077,9 +7077,6 @@ static void hsw_crtc_enable(struct intel_atomic_state *state,
        if (INTEL_GEN(dev_priv) >= 11)
                icl_pipe_mbus_enable(crtc);
 
-       if (!transcoder_is_dsi(cpu_transcoder))
-               intel_ddi_enable_transcoder_func(new_crtc_state);
-
        intel_encoders_enable(state, crtc);
 
        if (psl_clkgate_wa) {
index c25e629e3728fccae02f94d225ec6ff0e9c0b406..0dcbd8e1d82be4df4ee73c1bb03b9bf1e1fedb64 100644 (file)
@@ -510,6 +510,8 @@ static void intel_mst_enable_dp(struct intel_atomic_state *state,
 
        drm_WARN_ON(&dev_priv->drm, pipe_config->has_pch_encoder);
 
+       intel_ddi_enable_transcoder_func(pipe_config);
+
        intel_enable_pipe(pipe_config);
 
        intel_crtc_vblank_on(pipe_config);