1. 23 4月, 2013 1 次提交
  2. 22 4月, 2013 1 次提交
  3. 10 4月, 2013 2 次提交
  4. 09 4月, 2013 1 次提交
  5. 30 1月, 2013 1 次提交
    • P
      ARM: OMAP3xxx: CPUIdle: optimize __omap3_enter_idle() · 1cd96478
      Paul Walmsley 提交于
      Avoid programming the MPU and CORE powerdomain next-power-state
      registers if those powerdomains will never enter low-power states
      (e.g., the state that people refer to as "C1").
      
      To avoid making assumptions about CPUIdle states based on their order
      in the list, use a flag to mark CPUIdle states that don't enter
      powerdomain low-power states.
      
      Avoid a previous-power-state register read on the MPU powerdomain
      unless we know that the MPU was supposed to go OFF during the last
      state transition.  Previous-power-state register reads can be very
      expensive, so it's worth avoiding these when possible.
      
      Since the CORE_L3 clockdomain can't go inactive unless the MPU is active,
      there's little point blocking autoidle on the CORE_L3 clockdomain in "C1"
      state, since we've programmed the MPU clockdomain to stay active.
      Remove the unnecessary code.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      1cd96478
  6. 26 1月, 2013 1 次提交
  7. 15 12月, 2012 1 次提交
    • P
      ARM: OMAP3/4: cpuidle: fix sparse and checkpatch warnings · 9db316b6
      Paul Walmsley 提交于
      Fix the following sparse warnings in the OMAP3/4 CPUIdle code:
      
      arch/arm/mach-omap2/cpuidle34xx.c:272:1: warning: symbol 'omap3_idle_dev' was not declared. Should it be static?
      arch/arm/mach-omap2/cpuidle34xx.c:274:23: warning: symbol 'omap3_idle_driver' was not declared. Should it be static?
      arch/arm/mach-omap2/cpuidle44xx.c:164:1: warning: symbol 'omap4_idle_dev' was not declared. Should it be static?
      arch/arm/mach-omap2/cpuidle44xx.c:166:23: warning: symbol 'omap4_idle_driver' was not declared. Should it be static?
      
      Also fix the following checkpatch warnings:
      
      WARNING: please, no space before tabs
      #44: FILE: arch/arm/mach-omap2/cpuidle34xx.c:105:
      +^I.name = ^I"omap3_idle",$
      
      WARNING: please, no space before tabs
      #45: FILE: arch/arm/mach-omap2/cpuidle34xx.c:106:
      +^I.owner = ^ITHIS_MODULE,$
      
      ERROR: code indent should use tabs where possible
      #211: FILE: arch/arm/mach-omap2/cpuidle44xx.c:74:
      +                        /* C2 - CPU0 OFF + CPU1 OFF + MPU CSWR */$
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@ti.com>
      Acked-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      9db316b6
  8. 09 11月, 2012 1 次提交
  9. 13 9月, 2012 1 次提交
    • T
      ARM: OMAP2+: Prepare for irqs.h removal · 7d7e1eba
      Tony Lindgren 提交于
      As the interrupts should only be defined in the platform_data, and
      eventually coming from device tree, there's no need to define them
      in header files.
      
      Let's remove the hardcoded references to irqs.h and fix up the includes
      so we don't rely on headers included in irqs.h. Note that we're
      defining OMAP_INTC_START as 0 to the interrupts. This will be needed
      when we enable SPARSE_IRQ. For some drivers we need to add
      #include <plat/cpu.h> for now until these drivers are fixed to
      remove cpu_is_omapxxxx() usage.
      
      While at it, sort som of the includes the standard way, and add
      the trailing commas where they are missing in the related data
      structures.
      
      Note that for drivers/staging/tidspbridge we just define things
      locally.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      7d7e1eba
  10. 26 6月, 2012 3 次提交
  11. 20 6月, 2012 1 次提交
    • D
      ARM: OMAP3/4: consolidate cpuidle Makefile · 164e0cbf
      Daniel Lezcano 提交于
      The current Makefile compiles the cpuidle34xx.c and cpuidle44xx.c files
      even if the cpuidle option is not set in the kernel.
      
      This patch fixes this by creating a section in the Makefile where these
      files are compiled only if the CONFIG_CPU_IDLE option is set.
      
      This modification breaks an implicit dependency between CPU_IDLE and PM as
      they belong to the same block in the Makefile. This is fixed in the Kconfig
      by selecting explicitely PM is CPU_IDLE is set.
      
      The linux coding style recommend to use no-op functions in the headers
      when the subsystem is disabled instead of adding big section in C files.
      
      This patch fix this also.
      Signed-off-by: NDaniel Lezcano <daniel.lezcano@linaro.org>
      Reviewed-by: NJean Pihet <j-pihet@ti.com>
      Reviewed-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      164e0cbf
  12. 05 5月, 2012 1 次提交
  13. 04 5月, 2012 10 次提交
  14. 21 3月, 2012 1 次提交
  15. 15 12月, 2011 1 次提交
    • G
      ARM: OMAP2+: UART: Remove omap_uart_can_sleep and add pm_qos · 2fd14964
      Govindraj.R 提交于
      Omap_uart_can_sleep function blocks system wide low power state until
      uart is active remove this func and add qos requests to prevent
      MPU from transitioning.
      
      Keep qos request to default value which will allow MPU to transition
      and while uart baud rate is available calculate the latency value
      from the baudrate and use the same to hold constraint while uart clocks
      are enabled, and if uart is auto-idled the constraint is updated with
      default constraint value allowing MPU to transition.
      
      Qos requests are blocking notifier calls so put these requests to
      work queue, also the driver uses irq_safe version of runtime API's
      and callbacks can be called in interrupt disabled context.
      So to avoid warn on slow path warning while using qos update
      API's from runtime callbacks use the qos_work_queue.
      
      During bootup the runtime_resume call backs might not be called and runtime
      callback gets called only after uart is idled by setting the autosuspend
      timeout. So qos_request from runtime resume callback might not activated during
      boot if uart baudrate is calculated during bootup for console uart, so schedule
      the qos_work queue once we calc_latency while configuring the uart port.
      
      Flush and complete any pending qos jobs in work queue while suspending.
      Signed-off-by: NGovindraj.R <govindraj.raja@ti.com>
      Acked-by: Greg Kroah-Hartman <gregkh@suse.de> (for drivers/tty changes)
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      2fd14964
  16. 09 12月, 2011 1 次提交
  17. 06 12月, 2011 1 次提交
  18. 08 11月, 2011 1 次提交
  19. 07 11月, 2011 3 次提交
  20. 20 5月, 2011 4 次提交
    • J
      OMAP3: cpuidle: change the power domains modes determination logic · 04908918
      Jean Pihet 提交于
      The achievable power modes of the power domains in cpuidle
      depends on the system wide 'enable_off_mode' knob in debugfs.
      Upon changing enable_off_mode, do not change the C-states
      'valid' field but instead dynamically restrict the power modes
      when entering idle.
      
      The C-states 'valid' field is just used to enable/disable some
      C-states at init and shall not be changed later on.
      Signed-off-by: NJean Pihet <j-pihet@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      04908918
    • J
      OMAP3: cpuidle: code rework for improved readability · c6cd91de
      Jean Pihet 提交于
      - fix single and multi-lines comments format
      - removed the omap3_idle_bm_check function and replaced the test
         in omap3_enter_idle_bm by the equivalent code
      - re-organize omap3_enter_idle_bm code path, assign local variables
         only when needed
      - reword some comments
      Signed-off-by: NJean Pihet <j-pihet@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      c6cd91de
    • J
      OMAP3: cpuidle: re-organize the C-states data · badc303a
      Jean Pihet 提交于
      The current implementation defines an internal structure and a
      C-states array. Using those structures is redundant to the
      structs used by the cpuidle framework.
      
      This patch provides a clean-up of the internal struct, removes the
      internal C-states array, stores the data using the existing cpuidle
      per C-state struct and registers the mach specific data to cpuidle
      C-state driver_data (accessed using cpuidle_[gs]et_statedata).
      Also removes unused macros, fields and code and compacts the repeating
      code using an inline helper function.
      
      The result is more compact and more readable code as well as
      reduced data RAM usage.
      
      Also retain C1 as the only always valid C-state and system safe state.
      Signed-off-by: NJean Pihet <j-pihet@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      badc303a
    • J
      OMAP3: clean-up mach specific cpuidle data structures · 866ba0ef
      Jean Pihet 提交于
      - sleep_latency and wake_latency are not used, replace them by
        exit_latency which is used by cpuidle. exit_latency simply is
        the sum of sleep_latency and wake_latency,
      - replace threshold by target_residency,
      - changed the OMAP3 specific cpuidle code accordingly,
      - changed the OMAP3 board code accordingly.
      Signed-off-by: NJean Pihet <j-pihet@ti.com>
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      866ba0ef
  21. 31 3月, 2011 1 次提交
  22. 10 3月, 2011 2 次提交