]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/sun4i: tcon: Unconditionally reset the TCON
authorChen-Yu Tsai <wens@csie.org>
Fri, 8 Sep 2017 09:00:16 +0000 (17:00 +0800)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Fri, 8 Sep 2017 20:18:41 +0000 (22:18 +0200)
When binding the TCON, we were checking the reset control status and
asserting reset if it wasn't in reset. The check failed to account for
the reset control API returning error codes if the status callback was
not implemented.

Since we want the TCON to be reset in all cases, use reset_control_reset
to force a reset instead.

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>
Link: https://patchwork.freedesktop.org/patch/msgid/20170908090016.32224-1-wens@csie.org
drivers/gpu/drm/sun4i/sun4i_tcon.c

index d9791292553ef364ad62eb8497d57ec185e53bc7..36cf1a0acc65495ceaf6f67ff66bc85b6b772639 100644 (file)
@@ -530,10 +530,7 @@ static int sun4i_tcon_bind(struct device *dev, struct device *master,
        }
 
        /* Make sure our TCON is reset */
-       if (!reset_control_status(tcon->lcd_rst))
-               reset_control_assert(tcon->lcd_rst);
-
-       ret = reset_control_deassert(tcon->lcd_rst);
+       ret = reset_control_reset(tcon->lcd_rst);
        if (ret) {
                dev_err(dev, "Couldn't deassert our reset line\n");
                return ret;