diff options
Diffstat (limited to 'arch/arm/plat-s3c/pwm.c')
-rw-r--r-- | arch/arm/plat-s3c/pwm.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/plat-s3c/pwm.c b/arch/arm/plat-s3c/pwm.c index f3d37ac5595b..4fdc5b307fd2 100644 --- a/arch/arm/plat-s3c/pwm.c +++ b/arch/arm/plat-s3c/pwm.c | |||
@@ -247,6 +247,10 @@ int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) | |||
247 | 247 | ||
248 | tcmp = duty_ns / tin_ns; | 248 | tcmp = duty_ns / tin_ns; |
249 | tcmp = tcnt - tcmp; | 249 | tcmp = tcnt - tcmp; |
250 | /* the pwm hw only checks the compare register after a decrement, | ||
251 | so the pin never toggles if tcmp = tcnt */ | ||
252 | if (tcmp == tcnt) | ||
253 | tcmp--; | ||
250 | 254 | ||
251 | pwm_dbg(pwm, "tin_ns=%lu, tcmp=%ld/%lu\n", tin_ns, tcmp, tcnt); | 255 | pwm_dbg(pwm, "tin_ns=%lu, tcmp=%ld/%lu\n", tin_ns, tcmp, tcnt); |
252 | 256 | ||