For a usage example, please look at http://git.infradead.org/users/kmpark/linux-2.6-samsung/shortlog/refs/heads/devfreq In the above git tree, DVFS (dynamic voltage and frequency scaling) mechanism is applied to the memory bus of Exynos4210 for Exynos4210-NURI boards. In the example, the LPDDR2 DRAM frequency changes between 133, 266, and 400MHz and other related clocks simply follow the determined DDR RAM clock. The DEVFREQ driver for Exynos4210 memory bus is at /drivers/devfreq/exynos4210_memorybus.c in the git tree. In the dd (writing and reading 360MiB) test with NURI board, the memory throughput was not changed (the performance is not deteriorated) while the SoC power consumption has been reduced by 1%. When the memory access is not that intense while the CPU is heavily used, the SoC power consumption has been reduced by 6%. The power consumption has been compared with the case using the conventional Exynos4210 CPUFREQ driver, which sets memory bus frequency according to the CPU core frequency. Besides, when the CPU core running slow and the memory access is intense, the performance (memory throughput) has been increased by 11% (with higher SoC power consumption of 5%). The tested governor is "simple-ondemand". Major changes since the last revision (v5) - Moved from drivers/base/power to drivers/devfreq - Removed devfreq_update() interface. - Added OPP availability update notifier - Removed devfreq_interval, using jiffy as the basis interval - Seperated governors from devfreq core. - Allow tunable values to be given at devfreq_add_device(). - And some minor revisions. MyungJoo Ham (4): PM / OPP: Add OPP availability change notifier. PM: Introduce DEVFREQ: generic DVFS framework with device-specific OPPs PM / DEVFREQ: add basic governors PM / DEVFREQ: add sysfs interface Documentation/ABI/testing/sysfs-devices-power | 45 +++ drivers/Kconfig | 2 + drivers/Makefile | 2 + drivers/base/power/opp.c | 28 ++ drivers/devfreq/Kconfig | 75 ++++ drivers/devfreq/Makefile | 5 + drivers/devfreq/devfreq.c | 454 +++++++++++++++++++++++++ drivers/devfreq/governor_performance.c | 24 ++ drivers/devfreq/governor_powersave.c | 24 ++ drivers/devfreq/governor_simpleondemand.c | 88 +++++ drivers/devfreq/governor_userspace.c | 27 ++ include/linux/devfreq.h | 146 ++++++++ include/linux/opp.h | 12 + 13 files changed, 932 insertions(+), 0 deletions(-) create mode 100644 drivers/devfreq/Kconfig create mode 100644 drivers/devfreq/Makefile create mode 100644 drivers/devfreq/devfreq.c create mode 100644 drivers/devfreq/governor_performance.c create mode 100644 drivers/devfreq/governor_powersave.c create mode 100644 drivers/devfreq/governor_simpleondemand.c create mode 100644 drivers/devfreq/governor_userspace.c create mode 100644 include/linux/devfreq.h -- 1.7.4.1 _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm