|
@@ -92,6 +92,8 @@ static void sun4i_hdmi_disable(struct drm_encoder *encoder)
|
|
|
val = readl(hdmi->base + SUN4I_HDMI_VID_CTRL_REG);
|
|
val = readl(hdmi->base + SUN4I_HDMI_VID_CTRL_REG);
|
|
|
val &= ~SUN4I_HDMI_VID_CTRL_ENABLE;
|
|
val &= ~SUN4I_HDMI_VID_CTRL_ENABLE;
|
|
|
writel(val, hdmi->base + SUN4I_HDMI_VID_CTRL_REG);
|
|
writel(val, hdmi->base + SUN4I_HDMI_VID_CTRL_REG);
|
|
|
|
|
+
|
|
|
|
|
+ clk_disable_unprepare(hdmi->tmds_clk);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
static void sun4i_hdmi_enable(struct drm_encoder *encoder)
|
|
static void sun4i_hdmi_enable(struct drm_encoder *encoder)
|
|
@@ -102,6 +104,8 @@ static void sun4i_hdmi_enable(struct drm_encoder *encoder)
|
|
|
|
|
|
|
|
DRM_DEBUG_DRIVER("Enabling the HDMI Output\n");
|
|
DRM_DEBUG_DRIVER("Enabling the HDMI Output\n");
|
|
|
|
|
|
|
|
|
|
+ clk_prepare_enable(hdmi->tmds_clk);
|
|
|
|
|
+
|
|
|
sun4i_hdmi_setup_avi_infoframes(hdmi, mode);
|
|
sun4i_hdmi_setup_avi_infoframes(hdmi, mode);
|
|
|
val |= SUN4I_HDMI_PKT_CTRL_TYPE(0, SUN4I_HDMI_PKT_AVI);
|
|
val |= SUN4I_HDMI_PKT_CTRL_TYPE(0, SUN4I_HDMI_PKT_AVI);
|
|
|
val |= SUN4I_HDMI_PKT_CTRL_TYPE(1, SUN4I_HDMI_PKT_END);
|
|
val |= SUN4I_HDMI_PKT_CTRL_TYPE(1, SUN4I_HDMI_PKT_END);
|