From: Paulo Zanoni <[email protected]>

We already have intel_ddi_disable_pipe, let's also have
intel_ddi_enable_pipe.

After we implement DP link train we'll have to call this function from
another place.

Signed-off-by: Paulo Zanoni <[email protected]>
---
 drivers/gpu/drm/i915/intel_ddi.c | 34 +++++++++++++++++++++++-----------
 1 file changed, 23 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index a29c1e7..0c83ffa 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -758,26 +758,20 @@ bool intel_ddi_pll_mode_set(struct drm_crtc *crtc)
        return true;
 }
 
-void intel_ddi_mode_set(struct drm_encoder *encoder,
-                               struct drm_display_mode *mode,
-                               struct drm_display_mode *adjusted_mode)
+static void intel_ddi_enable_pipe(struct intel_encoder *intel_encoder,
+                                 struct drm_display_mode *adjusted_mode)
 {
+       struct drm_encoder *encoder = &intel_encoder->base;
+       struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
        struct drm_device *dev = encoder->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct drm_crtc *crtc = encoder->crtc;
        struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
-       struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
        int port = intel_hdmi->ddi_port;
        int pipe = intel_crtc->pipe;
        u32 temp;
 
-       /* On Haswell, we need to enable the clocks and prepare DDI function to
-        * work in HDMI mode for this pipe.
-        */
-       DRM_DEBUG_KMS("Preparing HDMI DDI mode for Haswell on port %c, pipe 
%c\n", port_name(port), pipe_name(pipe));
-
-       I915_WRITE(PIPE_CLK_SEL(pipe),
-                       PIPE_CLK_SEL_PORT(port));
+       I915_WRITE(PIPE_CLK_SEL(pipe), PIPE_CLK_SEL_PORT(port));
 
        udelay(20);
 
@@ -829,6 +823,24 @@ void intel_ddi_mode_set(struct drm_encoder *encoder,
        intel_hdmi->set_infoframes(encoder, adjusted_mode);
 }
 
+void intel_ddi_mode_set(struct drm_encoder *encoder,
+                               struct drm_display_mode *mode,
+                               struct drm_display_mode *adjusted_mode)
+{
+       struct drm_crtc *crtc = encoder->crtc;
+       struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+       struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
+       int port = intel_hdmi->ddi_port;
+       int pipe = intel_crtc->pipe;
+
+       /* On Haswell, we need to enable the clocks and prepare DDI function to
+        * work in HDMI mode for this pipe.
+        */
+       DRM_DEBUG_KMS("Preparing HDMI DDI mode for Haswell on port %c, pipe 
%c\n", port_name(port), pipe_name(pipe));
+
+       intel_ddi_enable_pipe(&intel_hdmi->base, adjusted_mode);
+}
+
 static void intel_wait_ddi_buf_idle(struct drm_i915_private *dev_priv,
                                    enum port port)
 {
-- 
1.7.11.2

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to