1. 04 9月, 2009 1 次提交
    • P
      OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups. · 5d113262
      Paul Walmsley 提交于
      At the end of the list pd is a pointer to a NULL struct, so checking
      if the address == NULL doesn't help here. In fact the original code
      will just keep running past the struct to read who knows what in
      memory.
      
      This case manifests itself when from clkdms_setup() when enabling auto
      idle for a clock domain and the clockdomain usecount is greater than
      0. When _clkdm_add_autodeps() tries to add the a dependency that does
      not exist in the powerdomain->wkdep_srcs array the for loop will run
      past the wkdep_srcs array.
      
      Currently in linux-omap you won't hit this because the not found case
      is never executed, unless you start modifying powerdomains and their
      wakeup/sleep deps.
      Signed-off-by: NMike Chan <mike@android.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      5d113262
  2. 03 9月, 2009 2 次提交
  3. 20 6月, 2009 1 次提交
  4. 22 8月, 2008 1 次提交
    • P
      [ARM] OMAP3 pwrdm: add hardware save-and-restore (SAR) support · 0b7cbfb5
      Paul Walmsley 提交于
      OMAP3430ES2+ introduces a new feature: optional powerdomain context
      hardware save-and-restore (SAR).  Currently, this feature only applies
      to USBHOST and USBTLL module context when the USBHOST or CORE
      powerdomains enter a low-power sleep state[1].  This feature avoids
      re-enumeration of USB devices when the powerdomains return from idle,
      which is potentially time-consuming.
      
      This patch adds support for enabling and disabling hardware
      save-and-restore to the powerdomain code.  Three new functions are
      added, pwrdm_enable_hdwr_sar(), pwrdm_disable_hdwr_sar(), and
      pwrdm_can_hdwr_sar().  A new struct powerdomain "flags" field is
      added, with a PWRDM_HAS_HDWR_SAR flag to indicate powerdomains with
      SAR support.
      
      Thanks to Jouni Högander <jouni.hogander@nokia.com> for reviewing an
      earlier version of these patches, and Richard Woodruff <r-woodruff2@ti.com>
      for clarifying the purpose of these bits.
      
      1.  For the USBHOST controller module, context loss occurs when the
          USBHOST powerdomain enters off-idle.  For USBTLL, context loss
          occurs either if CORE enters off-idle, or if the CORE logic is
          configured to turn off when CORE enters retention-idle (OSWR).
          34xx ES2 TRM 4.8.6.1.1, 4.8.6.1.2
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      0b7cbfb5
  5. 19 8月, 2008 2 次提交