remarkable-linux/drivers/pwm
Hans de Goede b997e3edca pwm: lpss: Set enable-bit before waiting for update-bit to go low
At least on cherrytrail, the update bit will never go low when the
enabled bit is not set.

This causes the backlight on my cube iwork8 air tablet to never turn on
again after being turned off because in the pwm_lpss_apply enable path
pwm_lpss_update will fail causing an error exit and the enable-bit to
never get set. Any following pwm_lpss_apply calls will fail the
pwm_lpss_is_updating check.

Since the docs say that the update bit should be set before the
enable-bit, split pwm_lpss_update into setting the update-bit and
pwm_lpss_wait_for_update, and move the pwm_lpss_wait_for_update call
in the enable path to after setting the enable-bit.

Fixes: 10d56a4 ("pwm: lpss: Avoid reconfiguring while UPDATE bit...")
Cc: Ilkka Koskinen <ilkka.koskinen@intel.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2017-04-06 14:48:14 +02:00
..
core.c pwm: Try to load modules during pwm_get() 2017-01-30 09:36:42 +01:00
Kconfig pwm: Changes for v4.11-rc1 2017-03-01 09:46:02 -08:00
Makefile pwm: Add driver for STM32 plaftorm 2017-01-25 16:11:55 +00:00
pwm-ab8500.c
pwm-atmel-hlcdc.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-atmel-tcb.c
pwm-atmel.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-bcm-iproc.c
pwm-bcm-kona.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-bcm2835.c
pwm-berlin.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-bfin.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
pwm-brcmstb.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-clps711x.c
pwm-crc.c
pwm-cros-ec.c pwm: cros-ec: Add __packed to prevent padding 2016-09-06 10:48:54 +02:00
pwm-ep93xx.c
pwm-fsl-ftm.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-hibvt.c pwm: Add PWM driver for HiSilicon BVT SOCs 2016-11-29 16:50:12 +01:00
pwm-img.c
pwm-imx.c Merge branch 'for-4.11/drivers' into for-next 2017-02-10 15:15:56 +01:00
pwm-jz4740.c
pwm-lp3943.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-lpc18xx-sct.c pwm: lpc-18xx: use pwm_set_chip_data 2016-09-08 10:55:05 +02:00
pwm-lpc32xx.c
pwm-lpss-pci.c pwm: lpss: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-lpss-platform.c pwm: lpss: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-lpss.c pwm: lpss: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-lpss.h pwm: lpss: Set enable-bit before waiting for update-bit to go low 2017-04-06 14:48:14 +02:00
pwm-meson.c pwm: Changes for v4.10-rc1 2016-12-15 11:45:13 -08:00
pwm-mtk-disp.c pwm: Add MediaTek MT2701 display PWM driver support 2016-09-06 10:48:53 +02:00
pwm-mxs.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-omap-dmtimer.c
pwm-pca9685.c Merge branch 'for-4.11/drivers' into for-next 2017-02-10 15:15:56 +01:00
pwm-puv3.c
pwm-pxa.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
pwm-rcar.c
pwm-renesas-tpu.c
pwm-rockchip.c
pwm-samsung.c pwm: samsung: Fix to use lowest div for large enough modulation bits 2016-09-06 10:48:55 +02:00
pwm-spear.c
pwm-sti.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-stm32.c pwm: Add driver for STM32 plaftorm 2017-01-25 16:11:55 +00:00
pwm-stmpe.c
pwm-sun4i.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-tegra.c
pwm-tiecap.c
pwm-tiehrpwm.c
pwm-tipwmss.c pwm: pwm-tipwmss: Remove all runtime PM gets/puts 2016-09-06 10:48:54 +02:00
pwm-twl-led.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-twl.c pwm: Remove .can_sleep from struct pwm_chip 2017-01-04 09:40:54 +01:00
pwm-vt8500.c pwm: constify pwm_ops structures 2017-01-19 00:38:17 +01:00
sysfs.c pwm: Fix device reference leak 2016-11-29 16:43:24 +01:00