1. 20 11月, 2012 2 次提交
    • N
      PM / devfreq: map devfreq drivers to governor using name · 1b5c1be2
      Nishanth Menon 提交于
      Allow devfreq drivers to register a preferred governor name
      and when the devfreq governor loads itself at a later point
      required drivers are managed appropriately, at the time of
      unload of a devfreq governor, stop managing those drivers
      as well.
      
      Since the governor structures do not need to be exposed
      anymore, remove the definitions and make them static
      
      NOTE: devfreq_list_lock is now used to protect governor
      start and stop - as this allows us to protect governors and
      devfreq with the proper dependencies as needed.
      
      As part of this change, change the registration of exynos
      bus driver to request for ondemand using the governor name.
      
      Cc: Rajagopal Venkat <rajagopal.venkat@linaro.org>
      Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: linux-pm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NNishanth Menon <nm@ti.com>
      [Merge conflict resolved by MyungJoo Ham]
      Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      1b5c1be2
    • N
      PM / devfreq: register governors with devfreq framework · 83116e66
      Nishanth Menon 提交于
      With the new registration functions, governors can be now
      registered with devfreq framework.
      
      NOTE: generates 'discards qualifiers from pointer target type'
      build warnings, which the next patche in this series fixes
      
      Cc: Rajagopal Venkat <rajagopal.venkat@linaro.org>
      Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Kevin Hilman <khilman@ti.com>
      Cc: linux-pm@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      83116e66
  2. 15 11月, 2012 1 次提交
    • R
      PM / devfreq: Core updates to support devices which can idle · 7e6fdd4b
      Rajagopal Venkat 提交于
      Prepare devfreq core framework to support devices which
      can idle. When device idleness is detected perhaps through
      runtime-pm, need some mechanism to suspend devfreq load
      monitoring and resume back when device is online. Present
      code continues monitoring unless device is removed from
      devfreq core.
      
      This patch introduces following design changes,
      
       - use per device work instead of global work to monitor device
         load. This enables suspend/resume of device devfreq and
         reduces monitoring code complexity.
       - decouple delayed work based load monitoring logic from core
         by introducing helpers functions to be used by governors. This
         provides flexibility for governors either to use delayed work
         based monitoring functions or to implement their own mechanism.
       - devfreq core interacts with governors via events to perform
         specific actions. These events include start/stop devfreq.
         This sets ground for adding suspend/resume events.
      
      The devfreq apis are not modified and are kept intact.
      Signed-off-by: NRajagopal Venkat <rajagopal.venkat@linaro.org>
      Acked-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      7e6fdd4b
  3. 20 1月, 2012 1 次提交
  4. 02 10月, 2011 1 次提交
    • M
      PM / devfreq: Add basic governors · ce26c5bb
      MyungJoo Ham 提交于
      Four cpufreq-like governors are provided as examples.
      
      powersave: use the lowest frequency possible. The user (device) should
      set the polling_ms as 0 because polling is useless for this governor.
      
      performance: use the highest freqeuncy possible. The user (device)
      should set the polling_ms as 0 because polling is useless for this
      governor.
      
      userspace: use the user specified frequency stored at
      devfreq.user_set_freq. With sysfs support in the following patch, a user
      may set the value with the sysfs interface.
      
      simple_ondemand: simplified version of cpufreq's ondemand governor.
      
      When a user updates OPP entries (enable/disable/add), OPP framework
      automatically notifies devfreq to update operating frequency
      accordingly. Thus, devfreq users (device drivers) do not need to update
      devfreq manually with OPP entry updates or set polling_ms for powersave
      , performance, userspace, or any other "static" governors.
      
      Note that these are given only as basic examples for governors and any
      devices with devfreq may implement their own governors with the drivers
      and use them.
      Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Reviewed-by: NMike Turquette <mturquette@ti.com>
      Acked-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      ce26c5bb