1. 26 9月, 2011 3 次提交
  2. 11 8月, 2011 7 次提交
  3. 10 8月, 2011 9 次提交
  4. 09 8月, 2011 4 次提交
  5. 08 8月, 2011 5 次提交
  6. 06 8月, 2011 6 次提交
    • C
      OMAP2+: PM: SmartReflex: use put_sync_suspend for IRQ-safe disabling · 98333b3d
      Colin Cross 提交于
      omap_sr_disable_reset_volt is called with irqs off in omapx_enter_sleep,
      as part of idle sequence, this eventually calls sr_disable and
      pm_runtime_put_sync. pm_runtime_put_sync calls rpm_idle, which will
      enable interrupts in order to call the callback. In this short interval
      when interrupts are enabled, scenarios such as the following can occur:
      while interrupts are enabled, the timer interrupt that is supposed to
      wake the device out of idle occurs and is acked, so when the CPU finally
      goes to off, the timer is already gone, missing a wakeup event.
      
      Further, as the documentation for runtime states:"
       However, subsystems can use the pm_runtime_irq_safe() helper function
       to tell the PM core that a device's ->runtime_suspend() and ->runtime_resume()
       callbacks should be invoked in atomic context with interrupts disabled
       (->runtime_idle() is still invoked the default way)."
      
      Hence, replace pm_runtime_put_sync with pm_runtime_put_sync_suspend
      to invoke the suspend handler and shut off the fclk for SmartReflex
      module instead of using the idle handler in interrupt disabled context.
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NColin Cross <ccross@google.com>
      [khilman@ti.com: minor Subject edits]
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      98333b3d
    • K
      OMAP3: beagle: don't touch omap_device internals · 8c7f6594
      Kevin Hilman 提交于
      Board code should not touch omap_device internals.  To get the MPU/IVA devices,
      use existing APIs: omap2_get_mpu_device(), omap2_get_iva_device().
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      8c7f6594
    • K
      OMAP1: enable GENERIC_IRQ_CHIP · b66a4026
      Kevin Hilman 提交于
      OMAP1 needs this also since GPIO driver (common for all OMAPs) is
      being converted to use generic IRQ chip.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      b66a4026
    • N
      OMAP3+: SR: ensure pm-runtime callbacks can be invoked with IRQs disabled · e13d8f38
      Nishanth Menon 提交于
      SmartReflex should be disabled while entering low power mode due to
      a) SmartReflex values are not defined for retention voltage, further
      b) with SmartReflex enabled, if CPU enters lower c-states, FSM will try
      to bump the voltage to current OPP's voltage for which it has entered c-state;
      hence SmartReflex needs to be disabled for MPU, CORE and IVA voltage
      domains in idle path before enabling auto retention voltage achievement
      on the device.
      
      However, since the current pm_runtime setup for SmartReflex devices are
      setup to allow callbacks to be invoked with interrupts enabled, calling
      SmartReflex enable/disable from other contexts such as idle paths
      where preemption is disabled causes warnings such as the following
      indicating of a potential race.
      [   82.023895] [<c04d079c>] (__irq_svc+0x3c/0x120) from [<c04d0484>] (_raw_spin_unlock_irq+0x28/0x2c)
      [   82.023895] [<c04d0484>] (_raw_spin_unlock_irq+0x28/0x2c) from [<c0323234>] (rpm_callback+0x4c/0x68)
      [   82.023956] [<c0323234>] (rpm_callback+0x4c/0x68) from [<c0323f7c>] (rpm_resume+0x338/0x53c)
      [   82.023956] [<c0323f7c>] (rpm_resume+0x338/0x53c) from [<c03243f4>] (__pm_runtime_resume+0x48/0x60)
      [   82.023986] [<c03243f4>] (__pm_runtime_resume+0x48/0x60) from [<c008aee0>] (sr_enable+0xa8/0x19c)
      [   82.023986] [<c008aee0>] (sr_enable+0xa8/0x19c) from [<c008b2fc>] (omap_sr_enable+0x50/0x90)
      [   82.024017] [<c008b2fc>] (omap_sr_enable+0x50/0x90) from [<c00888c0>] (omap4_enter_sleep+0x138/0x168)
      
      Instead, we use pm_runtime_irq_safe to tell the PM core that callbacks can be
      invoked in interrupt disabled contexts.
      Acked-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NNishanth Menon <nm@ti.com>
      [khilman@ti.com: minor changelog edits]
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      e13d8f38
    • K
      OMAP2+: Kconfig: don't select PM in OMAP2PLUS_TYPICAL · 44e51b29
      Kevin Hilman 提交于
      CONFIG_PM is no longer a user-selectable Kconfig option.  Rather it is
      automatically enabled if either CONFIG_SUSPEND or CONFIG_RUNTIME_PM is
      enabled, so having a 'select PM' here is redunant when 'select
      CONFIG_PM_RUNTIME' is present.
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      44e51b29
    • J
      ARM: iMX5: Don't enable DPLL if it already enabled · e1b96ada
      Jason Liu 提交于
      If the DPLL is already enabled, don't try to enable it again.
      Since write to the DPLL control register will make the DPLL
      reset and which will cause some issues when some child module
      are sourced from this DPLL.
      Signed-off-by: NJason Liu <jason.hui@linaro.org>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      e1b96ada
  7. 05 8月, 2011 1 次提交
  8. 04 8月, 2011 2 次提交
  9. 01 8月, 2011 3 次提交