1. 11 3月, 2011 1 次提交
    • J
      perf: add OMAP support for the new power events · 5e7c58dc
      Jean Pihet 提交于
      The patch adds the new power management trace points for
      the OMAP architecture.
      
      The trace points are for:
      - default idle handler. Since the cpuidle framework is
        instrumented in the generic way there is no need to
        add trace points in the OMAP specific cpuidle handler;
      - SoC clocks changes (enable, disable, set_rate),
      - power domain states: the desired target state and -if different-
        the actually hit state.
      
      Because of the generic nature of the changes, OMAP3 and OMAP4 are supported.
      
      Tested on OMAP3 with suspend/resume, cpuidle, basic DVFS.
      Signed-off-by: NJean Pihet <j-pihet@ti.com>
      Acked-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      5e7c58dc
  2. 08 3月, 2011 1 次提交
    • P
      OMAP2+: powerdomain: add pwrdm_can_ever_lose_context() · 694606c4
      Paul Walmsley 提交于
      Some drivers wish to know whether the device that they control can
      ever lose context, for example, when the device's enclosing
      powerdomain loses power.  They can use this information to determine
      whether it is necessary to save and restore device context, or whether
      it can be skipped.  Implement the powerdomain portion of this by
      adding the function pwrdm_can_ever_lose_context().  This is not for
      use directly from driver code, but instead is intended to be called
      from driver-subarch integration code (i.e., arch/arm/*omap* code).
      
      Currently, the result from this function should be passed into the
      driver code via struct platform_data, but at some point this should
      be part of some common or OMAP-specific device code.
      
      While here, update file copyrights.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      694606c4
  3. 22 12月, 2010 10 次提交
  4. 03 8月, 2010 1 次提交
  5. 21 5月, 2010 4 次提交
  6. 31 3月, 2010 1 次提交
  7. 25 2月, 2010 2 次提交
  8. 27 1月, 2010 7 次提交
  9. 12 12月, 2009 5 次提交
  10. 21 10月, 2009 1 次提交
    • T
      omap: headers: Move remaining headers from include/mach to include/plat · ce491cf8
      Tony Lindgren 提交于
      Move the remaining headers under plat-omap/include/mach
      to plat-omap/include/plat. Also search and replace the
      files using these headers to include using the right path.
      
      This was done with:
      
      #!/bin/bash
      mach_dir_old="arch/arm/plat-omap/include/mach"
      plat_dir_new="arch/arm/plat-omap/include/plat"
      headers=$(cd $mach_dir_old && ls *.h)
      omap_dirs="arch/arm/*omap*/ \
      drivers/video/omap \
      sound/soc/omap"
      other_files="drivers/leds/leds-ams-delta.c \
      drivers/mfd/menelaus.c \
      drivers/mfd/twl4030-core.c \
      drivers/mtd/nand/ams-delta.c"
      
      for header in $headers; do
      	old="#include <mach\/$header"
      	new="#include <plat\/$header"
      	for dir in $omap_dirs; do
      		find $dir -type f -name \*.[chS] | \
      			xargs sed -i "s/$old/$new/"
      	done
      	find drivers/ -type f -name \*omap*.[chS] | \
      		xargs sed -i "s/$old/$new/"
      	for file in $other_files; do
      		sed -i "s/$old/$new/" $file
      	done
      done
      
      for header in $(ls $mach_dir_old/*.h); do
      	git mv $header $plat_dir_new/
      done
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ce491cf8
  11. 06 10月, 2009 1 次提交
    • A
      OMAP3: PM: introduce a new powerdomain walk helper · ee894b18
      Artem Bityutskiy 提交于
      The 'pwrdm_for_each()' function walks powerdomains with a spinlock
      locked, so the the callbacks cannot do anything which may sleep.
      This patch introduces a 'pwrdm_for_each_nolock()' helper which does
      the same, but without the spinlock locked. This fixes the following
      lockdep warning:
      
      [    0.000000] WARNING: at kernel/lockdep.c:2460 lockdep_trace_alloc+0xac/0xec()
      [    0.000000] Modules linked in:
      (unwind_backtrace+0x0/0xdc) from [<c0045464>] (warn_slowpath_common+0x48/0x60)
      (warn_slowpath_common+0x48/0x60) from [<c0067dd4>] (lockdep_trace_alloc+0xac/0xec)
      (lockdep_trace_alloc+0xac/0xec) from [<c009da14>] (kmem_cache_alloc+0x1c/0xd0)
      (kmem_cache_alloc+0x1c/0xd0) from [<c00b21d8>] (d_alloc+0x1c/0x1a4)
      (d_alloc+0x1c/0x1a4) from [<c00a887c>] (__lookup_hash+0xd8/0x118)
      (__lookup_hash+0xd8/0x118) from [<c00a9f20>] (lookup_one_len+0x84/0x94)
      (lookup_one_len+0x84/0x94) from [<c010d12c>] (debugfs_create_file+0x8c/0x20c)
      (debugfs_create_file+0x8c/0x20c) from [<c010d320>] (debugfs_create_dir+0x1c/0x20)
      (debugfs_create_dir+0x1c/0x20) from [<c000e8cc>] (pwrdms_setup+0x60/0x90)
      (pwrdms_setup+0x60/0x90) from [<c002e010>] (pwrdm_for_each+0x30/0x80)
      (pwrdm_for_each+0x30/0x80) from [<c000e79c>] (pm_dbg_init+0x7c/0x14c)
      (pm_dbg_init+0x7c/0x14c) from [<c00232b4>] (do_one_initcall+0x5c/0x1b8)
      (do_one_initcall+0x5c/0x1b8) from [<c00083f8>] (kernel_init+0x90/0x10c)
      (kernel_init+0x90/0x10c) from [<c00242c4>] (kernel_thread_exit+0x0/0x8)
      Signed-off-by: NArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
      Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com>
      ee894b18
  12. 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
  13. 03 9月, 2009 2 次提交
  14. 20 6月, 2009 1 次提交
  15. 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
  16. 19 8月, 2008 1 次提交