b14e945bda
When initializing clocks, a reference to the TCON channel 0 clock is obtained. However, the clock is never prepared and enabled later. Switching from simplefb to DRM actually disables the clock (that was usually configured by U-Boot) because of that. On the V3s, this results in a hang when writing to some mixer registers when switching over to DRM from simplefb. Fix this by preparing and enabling the clock when initializing other clocks. Waiting for sun4i_tcon_channel_enable to enable the clock is apparently too late and results in the same mixer register access hang. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190131132550.26355-1-paul.kocialkowski@bootlin.com |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
sun4i_backend.c | ||
sun4i_backend.h | ||
sun4i_crtc.c | ||
sun4i_crtc.h | ||
sun4i_dotclock.c | ||
sun4i_dotclock.h | ||
sun4i_drv.c | ||
sun4i_drv.h | ||
sun4i_framebuffer.c | ||
sun4i_framebuffer.h | ||
sun4i_frontend.c | ||
sun4i_frontend.h | ||
sun4i_hdmi_ddc_clk.c | ||
sun4i_hdmi_enc.c | ||
sun4i_hdmi_i2c.c | ||
sun4i_hdmi_tmds_clk.c | ||
sun4i_hdmi.h | ||
sun4i_layer.c | ||
sun4i_layer.h | ||
sun4i_lvds.c | ||
sun4i_lvds.h | ||
sun4i_rgb.c | ||
sun4i_rgb.h | ||
sun4i_tcon.c | ||
sun4i_tcon.h | ||
sun4i_tv.c | ||
sun6i_drc.c | ||
sun6i_mipi_dphy.c | ||
sun6i_mipi_dsi.c | ||
sun6i_mipi_dsi.h | ||
sun8i_csc.c | ||
sun8i_csc.h | ||
sun8i_dw_hdmi.c | ||
sun8i_dw_hdmi.h | ||
sun8i_hdmi_phy_clk.c | ||
sun8i_hdmi_phy.c | ||
sun8i_mixer.c | ||
sun8i_mixer.h | ||
sun8i_tcon_top.c | ||
sun8i_tcon_top.h | ||
sun8i_ui_layer.c | ||
sun8i_ui_layer.h | ||
sun8i_ui_scaler.c | ||
sun8i_ui_scaler.h | ||
sun8i_vi_layer.c | ||
sun8i_vi_layer.h | ||
sun8i_vi_scaler.c | ||
sun8i_vi_scaler.h | ||
sunxi_engine.h |