lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 482/717] pwm: sun4i: Remove erroneous else branch
    Date
    From: Thierry Reding <thierry.reding@gmail.com>

    [ Upstream commit 6eefb79d6f5bc4086bd02c76f1072dd4a8d9d9f6 ]

    Commit d3817a647059 ("pwm: sun4i: Remove redundant needs_delay") changed
    the logic of an else branch so that the PWM_EN and PWM_CLK_GATING bits
    are now cleared if the PWM is to be disabled, whereas previously the
    condition was always false, and hence the branch never got executed.

    This code is reported causing backlight issues on boards based on the
    Allwinner A20 SoC. Fix this by removing the else branch, which restores
    the behaviour prior to the offending commit.

    Note that the PWM_EN and PWM_CLK_GATING bits still get cleared later in
    sun4i_pwm_apply() if the PWM is to be disabled.

    Fixes: d3817a647059 ("pwm: sun4i: Remove redundant needs_delay")
    Reported-by: Taras Galchenko <tpgalchenko@gmail.com>
    Suggested-by: Taras Galchenko <tpgalchenko@gmail.com>
    Tested-by: Taras Galchenko <tpgalchenko@gmail.com>
    Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pwm/pwm-sun4i.c | 6 +-----
    1 file changed, 1 insertion(+), 5 deletions(-)

    diff --git a/drivers/pwm/pwm-sun4i.c b/drivers/pwm/pwm-sun4i.c
    index 38a4c5c1317b2..482d5b9cec1fb 100644
    --- a/drivers/pwm/pwm-sun4i.c
    +++ b/drivers/pwm/pwm-sun4i.c
    @@ -294,12 +294,8 @@ static int sun4i_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,

    ctrl |= BIT_CH(PWM_CLK_GATING, pwm->hwpwm);

    - if (state->enabled) {
    + if (state->enabled)
    ctrl |= BIT_CH(PWM_EN, pwm->hwpwm);
    - } else {
    - ctrl &= ~BIT_CH(PWM_EN, pwm->hwpwm);
    - ctrl &= ~BIT_CH(PWM_CLK_GATING, pwm->hwpwm);
    - }

    sun4i_pwm_writel(sun4i_pwm, ctrl, PWM_CTRL_REG);

    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-28 15:47    [W:4.020 / U:0.156 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site