On Thu, Dec 27, 2018 at 07:13:04PM +0100, Paul Cercueil wrote:
> The ingenic-timer "TCU" driver provides us with a regmap, that we can
> use to safely access the TCU registers.
> 
> While this driver is devicetree-compatible, it is never (as of now)
> probed from devicetree, so this change does not introduce a ABI problem
> with current devicetree files.

Does it change behaviour? If so, how?

> @@ -113,26 +117,37 @@ static int jz4740_pwm_apply(struct pwm_chip *chip, 
> struct pwm_device *pwm,
>  
>       jz4740_pwm_disable(chip, pwm);
>  
> -     jz4740_timer_set_count(pwm->hwpwm, 0);
> -     jz4740_timer_set_duty(pwm->hwpwm, duty);
> -     jz4740_timer_set_period(pwm->hwpwm, period);
> +     /* Set abrupt shutdown */
> +     regmap_update_bits(jz4740->map, TCU_REG_TCSRc(pwm->hwpwm),
> +                        TCU_TCSR_PWM_SD, TCU_TCSR_PWM_SD);

I think I already pointed that out before: abrupt mode is wrong. If
.apply is called with a new set of parameters the currently running
period with the old values is expected to complete before the new values
take effect.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

Reply via email to