Re: [PATCH 2/2] hwmon: pwm-fan: Set fan speed to 0 on suspend
From: Guenter Roeck
Date: Fri Sep 21 2018 - 09:23:59 EST
On Fri, Sep 21, 2018 at 12:10:48PM +0200, Thierry Reding wrote:
> From: Thierry Reding <treding@xxxxxxxxxx>
>
> Technically this is not required because disabling the PWM should be
> enough. However, when support for atomic operations was implemented in
> the PWM subsystem, only actual changes to the PWM channel are applied
> during pwm_config(), which means that during after resume from suspend
> the old settings won't be applied.
>
> One possible solution is for the PWM driver to implement its own PM
> operations such that settings from before suspend get applied on resume.
> This has the disadvantage of completely ignoring any particular ordering
> requirements that PWM user drivers might have, so it is best to leave it
> up to the user drivers to apply the settings that they want at the
> appropriate time.
>
> Another way to solve this would be to read back the current state of the
> PWM at the time of resume. That way, in case the configuration was lost
> during suspend, applying the old settings in PWM user drivers would
> actually get them applied because they differ from the current settings.
> However, not all PWM drivers support reading the hardware state, and not
> all hardware may support it.
>
> The best workaround at this point seems to be to let PWM user drivers
> tell the PWM subsystem that the PWM is turned off by, in addition to
> disabling it, also setting the duty cycle to 0. This causes the resume
> operation to apply a configuration that is different from the current
> configuration, resulting in the proper state from before suspend getting
> restored.
>
> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx>
Applied.
Thanks,
Guenter