• Chanwoo Choi's avatar
    PM / devfreq: Add new passive governor · 99613311
    Chanwoo Choi authored
    This patch adds the new passive governor for DEVFREQ framework. The following
    governors are already present and used for DVFS (Dynamic Voltage and Frequency
    Scaling) drivers. The following governors are independently used for one device
    driver which don't give the influence to other device drviers and also don't
    receive the effect from other device drivers.
    - ondemand / performance / powersave / userspace
    The passive governor depends on operation of parent driver with specific
    governos extremely and is not able to decide the new frequency by oneself.
    According to the decided new frequency of parent driver with governor,
    the passive governor uses it to decide the appropriate frequency for own
    device driver. The passive governor must need the following information
    from device tree:
    - the source clock and OPP tables
    - the instance of parent device
    For exameple,
    there are one more devfreq device drivers which need to change their source
    clock according to their utilization on runtime. But, they share the same
    power line (e.g., regulator). So, specific device driver is operated as parent
    with ondemand governor and then the rest device driver with passive governor
    is influenced by parent device.
    Suggested-by: 's avatarMyungjoo Ham <myungjoo.ham@samsung.com>
    Signed-off-by: 's avatarChanwoo Choi <cw00.choi@samsung.com>
    [tjakobi: Reported RCU locking issue and cw00.choi fix it]
    Reported-by: 's avatarTobias Jakobi <tjakobi@math.uni-bielefeld.de>
    [linux.amoon: Reported possible recursive locking and cw00.choi fix it]
    Reported-by: 's avatarAnand Moon <linux.amoon@gmail.com>
    Signed-off-by: 's avatarMyungJoo Ham <myungjoo.ham@samsung.com>
    Acked-by: 's avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
devfreq.h 13.5 KB