static void intel_dsi_disable(struct intel_encoder *encoder)
{
#ifndef BYT_DUAL_MIPI_DSI
	struct drm_encoder *drm_encoder = &encoder->base;
	struct drm_device *dev = encoder->base.dev;
#endif
	//struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
	//struct intel_crtc *intel_crtc = to_intel_crtc(encoder->base.crtc);
	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);

	DRM_DEBUG_KMS("\n");

//XXX dual display use mipi backlight for debug only
#ifndef BYT_DUAL_MIPI_DSI
	intel_panel_disable_backlight(dev);
#endif
	if (intel_dsi->backlight_off_delay >= 20)
		msleep(intel_dsi->backlight_off_delay);
	else
		usleep_range(intel_dsi->backlight_off_delay * 1000,
			(intel_dsi->backlight_off_delay * 1000) + 500);

	if (is_cmd_mode(intel_dsi)) {
		/* XXX Impementation TBD */
	} else {
		/* Send Shutdown command to the panel in LP mode */
		intel_dsi->hs = 1;
		dpi_send_cmd(intel_dsi, SHUTDOWN);
		usleep_range(1000, 1500);
	}
}
static void intel_dsi_disable(struct intel_encoder *encoder)
{
	struct drm_device *dev = encoder->base.dev;
	struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);

	DRM_DEBUG_KMS("\n");

	intel_panel_disable_backlight(dev);
	if (intel_dsi->backlight_off_delay >= 20)
		msleep(intel_dsi->backlight_off_delay);
	else
		usleep_range(intel_dsi->backlight_off_delay * 1000,
			(intel_dsi->backlight_off_delay * 1000) + 500);

	if (is_cmd_mode(intel_dsi)) {
		/* XXX Impementation TBD */
	} else {
		/* Send Shutdown command to the panel in LP mode */
		intel_dsi->hs = 0;
		dpi_send_cmd(intel_dsi, SHUTDOWN);
		usleep_range(1000, 1500);

	}
}