mbox series

[v3,0/5] devfreq: handle suspend/resume

Message ID 1544007956-28889-1-git-send-email-l.luba@partner.samsung.com (mailing list archive)
Headers show
Series devfreq: handle suspend/resume | expand

Message

Lukasz Luba Dec. 5, 2018, 11:05 a.m. UTC
Hi all,

This v3 patch set aims to address the issue with devfreq devices' frequency
during suspend/resume. It extends suspend/resume by calls to Devfreq
framework. In the devfreq framework there is a small refactoring to avoid
code duplication in changging frequency (patch 1) and there are extensions
for suspending devices. The suspending device has now chance to set proper
state when the system is going for suspend. This phase is the right place
to set needed frequences for the next resume process.

It has been tested on Odroid u3 with Exynos 4412.

The patch set draws on Tobias Jakobi's work posted ~2 years ago, who tried
to solve issue with devfreq device's frequency during suspend/resume.
During the discussion on LKML some corner cases and comments appeared
related to the design. This patch set address them keeping in mind
suggestions from Chanwoo Choi.
Tobias's paches:
https://www.spinics.net/lists/linux-samsung-soc/msg56602.html 

Changes:
v3:
- cleaned commit messages according to Chanwoo's comments
- moved atomic operation to beggining of function in
  devfreq_{suspend|resume}_device()
- changed dev_warn() to dev_err() with also new error message,
  when devfreq_{suspend|resume}() failed
v2:
- refactored patchset and merget patch 1 and 3 as suggested by Chanwoo Choi,
- changed devfreq_{susped|resume}_device functions,
- added doxygen information for new entres in 'struct devfreq',
- devfreq_set_target skipped one argument, now resume_freq is set inside,
- minor changes addresing comments from maintainers regarding the style,

Regards,
Lukasz Luba

Lukasz Luba (5):
  devfreq: refactor set_target frequency function
  devfreq: add support for suspend/resume of a devfreq device
  devfreq: add devfreq_suspend/resume() functions
  drivers: power: suspend: call devfreq suspend/resume
  arm: dts: exynos4: opp-suspend in DMC and leftbus

 arch/arm/boot/dts/exynos4210.dtsi |   2 +
 arch/arm/boot/dts/exynos4412.dtsi |   2 +
 drivers/base/power/main.c         |   3 +
 drivers/devfreq/devfreq.c         | 153 ++++++++++++++++++++++++++++++--------
 include/linux/devfreq.h           |  13 ++++
 5 files changed, 141 insertions(+), 32 deletions(-)