1. 05 Aug, 2011 4 commits
    • Kevin Hilman's avatar
      OMAP3: beagle: don't touch omap_device internals · 8c7f6594
      Kevin Hilman authored
      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: default avatarKevin Hilman <khilman@ti.com>
      8c7f6594
    • Kevin Hilman's avatar
      OMAP1: enable GENERIC_IRQ_CHIP · b66a4026
      Kevin Hilman authored
      OMAP1 needs this also since GPIO driver (common for all OMAPs) is
      being converted to use generic IRQ chip.
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      b66a4026
    • Nishanth Menon's avatar
      OMAP3+: SR: ensure pm-runtime callbacks can be invoked with IRQs disabled · e13d8f38
      Nishanth Menon authored
      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: default avatarRajendra Nayak <rnayak@ti.com>
      Signed-off-by: default avatarNishanth Menon <nm@ti.com>
      [khilman@ti.com: minor changelog edits]
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      e13d8f38
    • Kevin Hilman's avatar
      OMAP2+: Kconfig: don't select PM in OMAP2PLUS_TYPICAL · 44e51b29
      Kevin Hilman authored
      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: default avatarKevin Hilman <khilman@ti.com>
      44e51b29
  2. 04 Aug, 2011 36 commits