OSDN Git Service

PM / devfreq: Add support delayed timer for polling mode
authorChanwoo Choi <cw00.choi@samsung.com>
Thu, 2 Jul 2020 11:41:28 +0000 (20:41 +0900)
committerChanwoo Choi <cw00.choi@samsung.com>
Thu, 30 Jul 2020 08:22:57 +0000 (17:22 +0900)
commit4dc3bab8687f1ea11322611de6d4138b43eccdcd
tree92562bc8fe71300245c09cc7e29935126ca4a691
parented279529754d0c94115de5317e369d25468547c9
PM / devfreq: Add support delayed timer for polling mode

Until now, the devfreq driver using polling mode like simple_ondemand
governor have used only deferrable timer for reducing the redundant
power consumption. It reduces the CPU wake-up from idle due to polling mode
which check the status of Non-CPU device.

But, it has a problem for Non-CPU device like DMC device with DMA operation.
Some Non-CPU device need to do monitor continuously regardless of CPU state
in order to decide the proper next status of Non-CPU device.

So, add support the delayed timer for polling mode to support
the repetitive monitoring. The devfreq driver and user can select
the kind of timer on either deferrable and delayed timer.

For example, change the timer type of DMC device
based on Exynos5422-based Odroid-XU3 as following:

- If want to use deferrable timer as following:
echo deferrable > /sys/class/devfreq/10c20000.memory-controller/timer

- If want to use delayed timer as following:
echo delayed > /sys/class/devfreq/10c20000.memory-controller/timer

Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Documentation/ABI/testing/sysfs-class-devfreq
drivers/devfreq/devfreq.c
include/linux/devfreq.h