drm/i915/dsi: merge pre_pll_enable hook to pre_enable
authorJani Nikula <jani.nikula@intel.com>
Fri, 27 Nov 2015 10:21:44 +0000 (12:21 +0200)
committerJani Nikula <jani.nikula@intel.com>
Mon, 30 Nov 2015 10:45:25 +0000 (12:45 +0200)
For DSI, the pre_pll_enable and the pre_enable hooks are called
back-to-back on all platforms that support DSI. The distinction is
artificial for DSI, for which we enable the DSI PLL in the encoder
hooks. Do everything in pre_enable, and remove DSI pre_pll_enable hook.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1448619706-21293-1-git-send-email-jani.nikula@intel.com
drivers/gpu/drm/i915/intel_dsi.c

index efb5a27dd49c300a01f13645f067ce27181ad99e..08c46c49c481c659b581e56d22d9f6dea39bf2ea 100644 (file)
@@ -462,6 +462,8 @@ static void intel_dsi_enable(struct intel_encoder *encoder)
        intel_panel_enable_backlight(intel_dsi->attached_connector);
 }
 
+static void intel_dsi_prepare(struct intel_encoder *intel_encoder);
+
 static void intel_dsi_pre_enable(struct intel_encoder *encoder)
 {
        struct drm_device *dev = encoder->base.dev;
@@ -474,6 +476,9 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder)
 
        DRM_DEBUG_KMS("\n");
 
+       intel_dsi_prepare(encoder);
+       intel_enable_dsi_pll(encoder);
+
        /* Panel Enable over CRC PMIC */
        if (intel_dsi->gpio_panel)
                gpiod_set_value_cansleep(intel_dsi->gpio_panel, 1);
@@ -1026,15 +1031,6 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder)
        }
 }
 
-static void intel_dsi_pre_pll_enable(struct intel_encoder *encoder)
-{
-       DRM_DEBUG_KMS("\n");
-
-       intel_dsi_prepare(encoder);
-       intel_enable_dsi_pll(encoder);
-
-}
-
 static enum drm_connector_status
 intel_dsi_detect(struct drm_connector *connector, bool force)
 {
@@ -1154,9 +1150,7 @@ void intel_dsi_init(struct drm_device *dev)
 
        drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI);
 
-       /* XXX: very likely not all of these are needed */
        intel_encoder->compute_config = intel_dsi_compute_config;
-       intel_encoder->pre_pll_enable = intel_dsi_pre_pll_enable;
        intel_encoder->pre_enable = intel_dsi_pre_enable;
        intel_encoder->enable = intel_dsi_enable_nop;
        intel_encoder->disable = intel_dsi_pre_disable;