1. 22 1月, 2013 1 次提交
  2. 29 11月, 2012 1 次提交
  3. 26 11月, 2012 3 次提交
  4. 20 11月, 2012 7 次提交
    • N
      PM / devfreq: Add sysfs node to expose available governors · 50a5b33e
      Nishanth Menon 提交于
      Now that governor list can be variable, knowing the available governors
      is useful to be able to select a governor using relevant sysfs node.
      
      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>
      Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      50a5b33e
    • N
      PM / devfreq: allow sysfs governor node to switch governor · 0359d1af
      Nishanth Menon 提交于
      This allows us to select governor runtime from the
      default configuration without having to rebuild kernel
      or the devfreq driver using the sysfs node:
      /sys/class/devfreq/.../governor
      cat of the governor will return valid governor
      and an echo 'governor_name'>governor will switch
      governor
      
      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>
      0359d1af
    • 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: provide hooks for governors to be registered · 3aa173b8
      Nishanth Menon 提交于
      Add devfreq_add_governor and devfreq_remove_governor which
      can be invoked by governors to register with devfreq.
      
      This sets up the stage to dynamically switch governors and
      allow governors to be dynamically loaded as well.
      
      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>
      3aa173b8
    • N
      PM / devfreq: export update_devfreq · 2df5021f
      Nishanth Menon 提交于
      Allow update_devfreq to be used by devfreq governor built
      as modules
      
      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>
      2df5021f
    • J
      PM / devfreq: Add sysfs node for representing frequency transition information. · e552bbaf
      Jonghwa Lee 提交于
      This patch adds sysfs node which can be used to get information of frequency
      transition. It represents transition table which contains total number of transition of
      each freqeuncy state and time spent. It is inspired CPUFREQ's status driver.
      Signed-off-by: NJonghwa Lee <jonghwa3.lee@samsung.com>
      [Added Documentation/ABI entry, updated kernel-doc, and resolved merge conflict]
      Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      e552bbaf
    • N
      PM / devfreq: Add sysfs node to expose available frequencies · d287de85
      Nishanth Menon 提交于
      devfreq governors such as ondemand are controlled by a min and
      max frequency, while governors like userspace governor allow us
      to set a specific frequency.
      However, for the same specific device, depending on the SoC, the
      available frequencies can vary.
      
      So expose the available frequencies as a snapshot over sysfs to
      allow informed decisions.
      
      This was inspired by cpufreq framework's equivalent for similar
      usage sysfs node: scaling_available_frequencies.
      
      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>
      Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      d287de85
  5. 15 11月, 2012 7 次提交
  6. 22 8月, 2012 1 次提交
  7. 18 3月, 2012 1 次提交
  8. 20 1月, 2012 1 次提交
  9. 24 11月, 2011 1 次提交
  10. 15 11月, 2011 1 次提交
  11. 10 11月, 2011 1 次提交
  12. 02 10月, 2011 2 次提交
    • M
      PM / devfreq: Add common sysfs interfaces · 9005b650
      MyungJoo Ham 提交于
      Device specific sysfs interface /sys/devices/.../power/devfreq_*
      - governor	R: name of governor
      - cur_freq	R: current frequency
      - polling_interval	R: polling interval in ms given with devfreq profile
      			W: update polling interval.
      - central_polling	R: 1 if polling is managed by devfreq framework
      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>
      --
       Documentation/ABI/testing/sysfs-class-devfreq |   44 ++++++++++++++++
       drivers/devfreq/devfreq.c                     |   69 ++++++++++++++++++++++++++
       2 files changed, 113 insertions(+)
       create mode 100644 Documentation/ABI/testing/sysfs-class-devfreq
      9005b650
    • M
      PM: Introduce devfreq: generic DVFS framework with device-specific OPPs · a3c98b8b
      MyungJoo Ham 提交于
      With OPPs, a device may have multiple operable frequency and voltage
      sets. However, there can be multiple possible operable sets and a system
      will need to choose one from them. In order to reduce the power
      consumption (by reducing frequency and voltage) without affecting the
      performance too much, a Dynamic Voltage and Frequency Scaling (DVFS)
      scheme may be used.
      
      This patch introduces the DVFS capability to non-CPU devices with OPPs.
      DVFS is a techique whereby the frequency and supplied voltage of a
      device is adjusted on-the-fly. DVFS usually sets the frequency as low
      as possible with given conditions (such as QoS assurance) and adjusts
      voltage according to the chosen frequency in order to reduce power
      consumption and heat dissipation.
      
      The generic DVFS for devices, devfreq, may appear quite similar with
      /drivers/cpufreq.  However, cpufreq does not allow to have multiple
      devices registered and is not suitable to have multiple heterogenous
      devices with different (but simple) governors.
      
      Normally, DVFS mechanism controls frequency based on the demand for
      the device, and then, chooses voltage based on the chosen frequency.
      devfreq also controls the frequency based on the governor's frequency
      recommendation and let OPP pick up the pair of frequency and voltage
      based on the recommended frequency. Then, the chosen OPP is passed to
      device driver's "target" callback.
      
      When PM QoS is going to be used with the devfreq device, the device
      driver should enable OPPs that are appropriate with the current PM QoS
      requests. In order to do so, the device driver may call opp_enable and
      opp_disable at the notifier callback of PM QoS so that PM QoS's
      update_target() call enables the appropriate OPPs. Note that at least
      one of OPPs should be enabled at any time; be careful when there is a
      transition.
      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>
      a3c98b8b