android_kernel_oneplus_msm8998/drivers/pwm
Clemens Gruber 6ef213d621 pwm: pca9685: Fix period change with same duty cycle
commit 8d254a340efb12b40c4c1ff25a48a4f48f7bbd6b upstream.

When first implementing support for changing the output frequency, an
optimization was added to continue the PWM after changing the prescaler
without having to reprogram the ON and OFF registers for the duty cycle,
in case the duty cycle stayed the same. This was flawed, because we
compared the absolute value of the duty cycle in nanoseconds instead of
the ratio to the period.

Fix the problem by removing the shortcut.

Fixes: 01ec847200 ("pwm-pca9685: Support changing the output frequency")
Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-15 09:57:14 +08:00
..
core.c pwm: Unexport children before chip removal 2016-11-10 16:36:37 +01:00
Kconfig pwm-pca9685: enable ACPI device found on Galileo Gen2 2015-11-06 14:14:19 +01:00
Makefile pwm: Add MediaTek display PWM driver support 2015-10-06 16:07:30 +02:00
pwm-ab8500.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-atmel-hlcdc.c pwm: atmel-hlcdc: add sama5d2 SoC support. 2015-10-06 16:07:28 +02:00
pwm-atmel-tcb.c misc: atmel_tclib: get and use slow clock 2015-10-06 12:33:14 +02:00
pwm-atmel.c pwm: Make use of pwm_get_xxx() helpers where appropriate 2015-07-20 09:53:22 +02:00
pwm-bcm-kona.c pwm: kona: Modify settings application sequence 2015-08-17 16:19:41 +02:00
pwm-bcm2835.c pwm: Add BCM2835 PWM driver 2014-11-17 12:20:13 +01:00
pwm-berlin.c pwm: Add support for the Berlin PWM controller 2015-10-06 09:40:44 +02:00
pwm-bfin.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-brcmstb.c pwm: brcmstb: Fix check of devm_ioremap_resource() return code 2016-05-04 14:48:47 -07:00
pwm-clps711x.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-crc.c pwm: crc: Add Crystalcove (CRC) PWM driver 2015-07-21 09:22:23 +02:00
pwm-ep93xx.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-fsl-ftm.c pwm: fsl-ftm: Fix clock enable/disable when using PM 2016-09-15 08:27:43 +02:00
pwm-img.c pwm: img: Impose upper and lower timebase steps value 2015-05-19 16:07:40 +02:00
pwm-imx.c pwm: Make use of pwm_get_xxx() helpers where appropriate 2015-07-20 09:53:22 +02:00
pwm-jz4740.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-lp3943.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-lpc18xx-sct.c pwm: NXP LPC18xx PWM/SCT driver 2015-09-09 15:00:33 +02:00
pwm-lpc32xx.c pwm: lpc32xx: fix and simplify duty cycle and period calculations 2016-09-15 08:27:43 +02:00
pwm-lpss-pci.c pwm: lpss: Add support for runtime PM 2015-11-06 14:34:13 +01:00
pwm-lpss-platform.c pwm: lpss: Add support for runtime PM 2015-11-06 14:34:13 +01:00
pwm-lpss.c pwm: lpss: Add support for runtime PM 2015-11-06 14:34:13 +01:00
pwm-lpss.h pwm: lpss: Support all four PWMs on Intel Broxton 2015-11-06 14:26:28 +01:00
pwm-mtk-disp.c pwm: Add MediaTek display PWM driver support 2015-10-06 16:07:30 +02:00
pwm-mxs.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-pca9685.c pwm: pca9685: Fix period change with same duty cycle 2017-03-15 09:57:14 +08:00
pwm-puv3.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-pxa.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-rcar.c pwm: Add support for R-Car PWM Timer 2015-10-06 09:40:46 +02:00
pwm-renesas-tpu.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-rockchip.c pwm: Make use of pwm_get_xxx() helpers where appropriate 2015-07-20 09:53:22 +02:00
pwm-samsung.c pwm: samsung: Use MODULE_DEVICE_TABLE() to include OF modalias 2015-05-21 15:56:53 +02:00
pwm-spear.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-sti.c pwm: sti: Maintain a bitmap of configured devices 2015-01-30 12:16:03 +01:00
pwm-sun4i.c pwm: sunxi: Fix whitespace issue 2015-11-10 13:06:47 +01:00
pwm-tegra.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-tiecap.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-tiehrpwm.c pwm: Add the pwm_is_enabled() helper 2015-07-20 09:46:06 +02:00
pwm-tipwmss.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
pwm-tipwmss.h
pwm-twl-led.c
pwm-twl.c
pwm-vt8500.c pwm: drop owner assignment from platform_drivers 2014-10-20 16:21:28 +02:00
sysfs.c pwm: Fix device reference leak 2016-12-08 07:15:24 +01:00