1. 07 12月, 2011 1 次提交
  2. 02 12月, 2011 2 次提交
    • R
      PM / Domains: Add device stop governor function (v4) · b02c999a
      Rafael J. Wysocki 提交于
      Add a function deciding whether or not devices should be stopped in
      pm_genpd_runtime_suspend() depending on their PM QoS constraints
      and stop/start timing values.  Make it possible to add information
      used by this function to device objects.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NMagnus Damm <damm@opensource.se>
      b02c999a
    • R
      PM / Domains: Make it possible to use per-device domain callbacks · d5e4cbfe
      Rafael J. Wysocki 提交于
      The current generic PM domains code requires that the same .stop(),
      .start() and .active_wakeup() device callback routines be used for
      all devices in the given domain, which is inflexible and may not
      cover some specific use cases.  For this reason, make it possible to
      use device specific .start()/.stop() and .active_wakeup() callback
      routines by adding corresponding callback pointers to struct
      generic_pm_domain_data.  Add a new helper routine,
      pm_genpd_register_callbacks(), that can be used to populate
      the new per-device callback pointers.
      
      Modify the shmobile's power domains code to allow drivers to add
      their own code to be run during the device stop and start operations
      with the help of the new callback pointers.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NMagnus Damm <damm@opensource.se>
      d5e4cbfe
  3. 18 11月, 2011 1 次提交
  4. 15 11月, 2011 1 次提交
  5. 11 11月, 2011 1 次提交
    • M
      ARM: mach-shmobile: cpuidle single/global and last_state fixes · b73b5c49
      Magnus Damm 提交于
      The following commits break cpuidle on SH-Mobile ARM:
      
      46bcfad7 cpuidle: Single/Global registration of idle states
      e978aa7d cpuidle: Move dev->last_residency update to driver enter routine; remove dev->last_state
      
      This patch remedies these issues by up-porting the SH-Mobile
      code to fit with the above introduced framework changes.
      
      It is worth noting that the new code becomes significantly cleaner,
      so these framework changes are very welcome. At the same time this
      breakage could probably have been avoided by grepping for "last_state"
      and "cpuidle_register_driver".
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      b73b5c49
  6. 10 11月, 2011 2 次提交
  7. 22 10月, 2011 2 次提交
    • M
      ARM: mach-shmobile: sh7372 A4R support (v4) · 382414b9
      Magnus Damm 提交于
      This change adds support for the sh7372 A4R power domain.
      
      The sh7372 A4R hardware power domain contains the
      SH CPU Core and a set of I/O devices including
      multimedia accelerators and I2C controllers.
      
      One special case about A4R is the INTCS interrupt
      controller that needs to be saved and restored to
      keep working as expected. Also the LCDC hardware
      blocks are in a different hardware power domain
      but have their IRQs routed only through INTCS. So
      as long as LCDCs are active we cannot power down
      INTCS because that would risk losing interrupts.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      382414b9
    • M
      ARM: mach-shmobile: sh7372 A3SP support (v4) · d93f5cde
      Magnus Damm 提交于
      This change adds support for the sh7372 A3SP power domain.
      
      The sh7372 A3SP hardware power domain contains a
      wide range of I/O devices. The list of I/O devices
      include SCIF serial ports, DMA Engine hardware,
      SD and MMC controller hardware, USB controllers
      and I2C master controllers.
      
      This patch adds the A3SP low level code which
      powers the hardware power domain on and off. It
      also ties in platform devices to the pm domain
      support code.
      
      It is worth noting that the serial console is
      hooked up to SCIFA0 on most sh7372 boards, and
      the SCIFA0 port is included in the A3SP hardware
      power domain. For this reason we cannot output
      debug messages from the low level power control
      code in the case of A3SP.
      
      QoS support is needed in drivers before we can
      enable the A3SP power control on the fly.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      d93f5cde
  8. 26 9月, 2011 3 次提交
  9. 25 8月, 2011 5 次提交
    • R
      PM / Domains: Preliminary support for devices with power.irq_safe set · 0aa2a221
      Rafael J. Wysocki 提交于
      The generic PM domains framework currently doesn't work with devices
      whose power.irq_safe flag is set, because runtime PM callbacks for
      such devices are run with interrupts disabled and the callbacks
      provided by the generic PM domains framework use domain mutexes
      and may sleep.  However, such devices very well may belong to
      power domains on some systems, so the generic PM domains framework
      should take them into account.
      
      For this reason, modify the generic PM domains framework so that the
      domain .power_off() and .power_on() callbacks are never executed for
      a domain containing devices with power.irq_safe set, although the
      .stop_device() and .start_device() callbacks are still run for them.
      
      Additionally, introduce a flag allowing the creator of a
      struct generic_pm_domain object to indicate that its .stop_device()
      and .start_device() callbacks may be run in interrupt context
      (might_sleep_if() triggers if that flag is not set and one of those
      callbacks is run in interrupt context).
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      0aa2a221
    • R
      PM: Move clock-related definitions and headers to separate file · b5e8d269
      Rafael J. Wysocki 提交于
      Since the PM clock management code in drivers/base/power/clock_ops.c
      is used for both runtime PM and system suspend/hibernation, the
      definitions of data structures and headers related to it should not
      be located in include/linux/pm_rumtime.h.  Move them to a separate
      header file.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      b5e8d269
    • R
      PM / Domains: Use power.sybsys_data to reduce overhead · 4605ab65
      Rafael J. Wysocki 提交于
      Currently pm_genpd_runtime_resume() has to walk the list of devices
      from the device's PM domain to find the corresponding device list
      object containing the need_restore field to check if the driver's
      .runtime_resume() callback should be executed for the device.
      This is suboptimal and can be simplified by using power.sybsys_data
      to store device information used by the generic PM domains code.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      4605ab65
    • R
      PM: Introduce struct pm_subsys_data · 5c095a0e
      Rafael J. Wysocki 提交于
      Introduce struct pm_subsys_data that may be subclassed by subsystems
      to store subsystem-specific information related to the device.  Move
      the clock management fields accessed through the power.subsys_data
      pointer in struct device to the new strucutre.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      5c095a0e
    • R
      ARM / shmobile: Make A3RV be a subdomain of A4LC on SH7372 · 111058c3
      Rafael J. Wysocki 提交于
      Instead of coding the undocumented dependencies between power domains
      A3RV and A4LC on SH7372 directly into the low-level power up/down
      routines, make A3RV be a subdomain of A4LC, which will cause the
      same dependecies to hold.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NMagnus Damm <damm@opensource.se>
      111058c3
  10. 15 7月, 2011 2 次提交
  11. 13 7月, 2011 1 次提交
  12. 10 7月, 2011 4 次提交
  13. 02 7月, 2011 4 次提交
  14. 25 5月, 2011 3 次提交