drm/sun4i: Fix TCON clock and regmap initialization sequence
authorChen-Yu Tsai <wens@csie.org>
Thu, 9 Mar 2017 10:05:24 +0000 (18:05 +0800)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 9 Mar 2017 10:15:53 +0000 (11:15 +0100)
commit4c7f16d14a33a9cfb4af9cb780d8a73bcca64a92
tree2e20e88050e4d2f55ea11f3811d8030de71b6c63
parent596afb6f051382aa0cb067e4d6b3080e51531ddc
drm/sun4i: Fix TCON clock and regmap initialization sequence

The TCON driver calls sun4i_tcon_init_regmap and sun4i_tcon_init_clocks
in its bind function. The former creates a regmap and writes to several
register to clear its configuration to a known default. The latter
initializes various clocks. This includes enabling the bus clock for
register access and creating the dotclock.

In order for the first step's writes to work, the bus clock must be
enabled which is done in the second step. but the dotclock's ops use
the regmap created in the first step.

Rearrange the function calls such that the clocks are initialized before
the regmap, and split out the dot clock creation to after the regmap is
initialized.

Fixes: 9026e0d122ac ("drm: Add Allwinner A10 Display Engine support")
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/gpu/drm/sun4i/sun4i_tcon.c