[PATCH] drm/sun4i: tcon: Unconditionally reset the TCON

Maxime Ripard maxime.ripard at free-electrons.com
Fri Sep 8 06:42:18 UTC 2017


Hi,

On Fri, Sep 08, 2017 at 12:15:45PM +0800, Chen-Yu Tsai wrote:
> 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, and re-asserting the
> reset control does no harm, just assert the reset unconditionally.
> 
> Fixes: 9026e0d122ac ("drm: Add Allwinner A10 Display Engine support")
> Signed-off-by: Chen-Yu Tsai <wens at csie.org>
> ---
>  drivers/gpu/drm/sun4i/sun4i_tcon.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
> index d9791292553e..eb32676d5b01 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
> @@ -530,8 +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);
> +	reset_control_assert(tcon->lcd_rst);

That doesn't really reset it if it was already de-asserted. In that
case, the TCON will not be reset, unlike what your commit log says.

Maybe you wanted to use reset_control_reset?

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20170908/7b9dffae/attachment.sig>


More information about the dri-devel mailing list