Skip to content
Snippets Groups Projects
  1. Nov 07, 2011
  2. May 20, 2011
    • Jean Pihet's avatar
      OMAP3: cpuidle: change the power domains modes determination logic · 04908918
      Jean Pihet authored
      
      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: default avatarJean Pihet <j-pihet@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      04908918
    • Jean Pihet's avatar
      OMAP3: cpuidle: code rework for improved readability · c6cd91de
      Jean Pihet authored
      
      - 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: default avatarJean Pihet <j-pihet@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      c6cd91de
    • Jean Pihet's avatar
      OMAP3: cpuidle: re-organize the C-states data · badc303a
      Jean Pihet authored
      
      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: default avatarJean Pihet <j-pihet@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      badc303a
    • Jean Pihet's avatar
      OMAP3: clean-up mach specific cpuidle data structures · 866ba0ef
      Jean Pihet authored
      
      - 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: default avatarJean Pihet <j-pihet@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
      866ba0ef
  3. Mar 31, 2011
  4. Mar 10, 2011
  5. Feb 25, 2011
  6. Jan 12, 2011
  7. Dec 22, 2010
    • Paul Walmsley's avatar
      OMAP2+: powerdomain: move header file from plat-omap to mach-omap2 · 72e06d08
      Paul Walmsley authored
      
      The OMAP powerdomain code and data is all OMAP2+-specific.  This seems
      unlikely to change any time soon.  Move plat-omap/include/plat/powerdomain.h
      to mach-omap2/powerdomain.h.  The primary point of doing this is to remove
      the temptation for unrelated upper-layer code to access powerdomain code
      and data directly.
      
      As part of this process, remove the references to powerdomain data
      from the GPIO "driver" and the OMAP PM no-op layer, both in plat-omap.
      Change the DSPBridge code to point to the new location for the
      powerdomain headers.  The DSPBridge code should not be including the
      powerdomain headers; these should be removed.
      
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
      Cc: Felipe Contreras <felipe.contreras@gmail.com>
      Cc: Greg Kroah-Hartman <greg@kroah.com>
      72e06d08
    • Paul Walmsley's avatar
      OMAP2+: clockdomain: move header file from plat-omap to mach-omap2 · 1540f214
      Paul Walmsley authored
      
      The OMAP clockdomain code and data is all OMAP2+-specific.  This seems
      unlikely to change any time soon.  Move plat-omap/include/plat/clockdomain.h
      to mach-omap2/clockdomain.h.  The primary point of doing this is to remove
      the temptation for unrelated upper-layer code to access clockdomain code
      and data directly.
      
      DSPBridge also uses the clockdomain headers for some reason, so,
      modify it also. The DSPBridge code should not be including the
      clockdomain headers; these should be removed.
      
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Kevin Hilman <khilman@deeprootsystems.com>
      Cc: Omar Ramirez Luna <omar.ramirez@ti.com>
      Cc: Felipe Contreras <felipe.contreras@gmail.com>
      Cc: Greg Kroah-Hartman <greg@kroah.com>
      Tested-by: default avatarRajendra Nayak <rnayak@ti.com>
      Tested-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      1540f214
  8. Dec 21, 2010
  9. Nov 01, 2010
  10. Oct 08, 2010
    • Paul Walmsley's avatar
      OMAP: control: move plat-omap/control.h to mach-omap2/control.h · 4814ced5
      Paul Walmsley authored
      
      Only OMAP2+ platforms have the System Control Module (SCM) IP block.
      In the past, we've kept the SCM header file in plat-omap.  This has
      led to abuse - device drivers including it; includes being added that
      create implicit dependencies on OMAP2+ builds; etc.
      
      In response, move the SCM headers into mach-omap2/.
      
      As part of this, remove the direct SCM access from the OMAP UDC
      driver.  It was clearly broken.  The UDC code needs an indepth review for
      use on OMAP2+ chips.
      
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Cory Maccarrone <darkstar6262@gmail.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      4814ced5
  11. Oct 01, 2010
  12. Sep 24, 2010
    • Kevin Hilman's avatar
      OMAP3: PM: move device-specific special cases from PM core into CPUidle · e7410cf7
      Kevin Hilman authored
      
      In an effort to simplify the core idle path, move any device-specific
      special case handling from the core PM idle path into the CPUidle
      pre-idle checking path.
      
      This keeps the core, interrupts-disabled idle path streamlined and
      independent of any device-specific handling, and also allows CPUidle
      to do the checking only for certain C-states as needed.  This patch
      has the device checks in place for all states with the CHECK_BM flag,
      namely all states >= C2.
      
      This patch was inspired by a similar patch written by Tero Kristo as
      part of a larger series to add INACTIVE state support.
      
      NOTE: This is a baby-step towards decoupling device idle (or system
      idle) from CPU idle.  Eventually, CPUidle should only manage the CPU,
      and device/system idle should be managed elsewhere.
      
      Cc: Tero Kristo <tero.kristo@nokia.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      e7410cf7
  13. Feb 23, 2010
    • Kalle Jokiniemi's avatar
      OMAP3: cpuidle: Add valid field into C-state parameter passing · 709731bb
      Kalle Jokiniemi authored
      
      Different boards benefit differently from the available
      seven C-states for cpu idle. In most cases, only few,
      properly spaced (in terms of consumption and latency)
      C-states are required to make the power management
      optimal. Hence we need a possibility to pass which
      C-states are actually used for each board.
      
      So added the valid field to cpuidle_params and added
      support to 3430sdp, which uses the paramenter passing.
      
      Signed-off-by: default avatarKalle Jokiniemi <kalle.jokiniemi@digia.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      709731bb
    • Kevin Hilman's avatar
      OMAP3: cpuidle: configure latencies/thresholds from board file · bb4de3df
      Kevin Hilman authored
      
      The CPUidle C state latencies and thresholds are dependent on various
      board specific details.  This patch makes it possible to configure
      these values from the respective board files.
      
      omap3_pm_init_cpuidle() can now be optionally called from board files
      to pass board specific cpuidle parameters.  If the board files do not
      use this function to pass the params default values are used which
      might cause higher consumption dur to wrong state selection by the
      governor.
      
      This patch only updates the 3430sdp board files to use
      omap3_pm_init_cpuidle().
      
      From Kalle, in addition to original patch from Rajendra:
      
      Building without CONFIG_CPU_IDLE or CONFIG_PM causes build to fail if
      cpu idle parameters are tried to pass using omap3_pm_init_cpuidle
      function.
      
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Signed-off-by: default avatarKalle Jokiniemi <kalle.jokiniemi@digia.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      bb4de3df
    • Sanjeev Premi's avatar
      OMAP3: cpuidle: Update statistics for correct state · 6af83b38
      Sanjeev Premi authored
      
      When 'enable_off_mode' is 0, the target power state for MPU
      and CORE was locally changed to PWRDM_POWER_RET but, the
      statistics are updated for idle state originally selected
      by the governor.
      
      This patch 'invalidates' the idle states that lead either of
      MPU or Core to PWRDM_POWER_OFF state when 'enable_off_mode'
      is '0'. The states are valid once 'enable_off_mode' is set
      to '1'.
      
      Added function next_valid_state() to check if current state
      is valid; else get the next valid state. It is called from
      omap3_enter_idle_bm().
      
      Signed-off-by: default avatarSanjeev Premi <premi@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@deeprootsystems.com>
      6af83b38
  14. Jan 21, 2010
  15. Nov 11, 2009
Loading