1. 16 11月, 2012 4 次提交
    • J
      ARM: tegra: retain L2 content over CPU suspend/resume · 29a0e7be
      Joseph Lo 提交于
      The L2 RAM is in different power domain from the CPU cluster. So the
      L2 content can be retained over CPU suspend/resume. To do that, we
      need to disable L2 after the MMU is disabled, and enable L2 before
      the MMU is enabled. But the L2 controller is in the same power domain
      with the CPU cluster. We need to restore it's settings and re-enable
      it after the power be resumed.
      Signed-off-by: NJoseph Lo <josephl@nvidia.com>
      Acked-by: NPeter De Schrijver <pdeschrijver@nvidia.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      29a0e7be
    • J
      ARM: tegra30: cpuidle: add powered-down state for CPU0 · d552920a
      Joseph Lo 提交于
      This is a power gating idle mode. It support power gating vdd_cpu rail
      after all cpu cores in "powered-down" status. For Tegra30, the CPU0 can
      enter this state only when all secondary CPU is offline. We need to take
      care and make sure whole secondary CPUs were offline and checking the
      CPU power gate status. After that, the CPU0 can go into "powered-down"
      state safely. Then shut off the CPU rail.
      
      Be aware of that, you may see the legacy power state "LP2" in the code
      which is exactly the same meaning of "CPU power down".
      
      Base on the work by:
      Scott Williams <scwilliams@nvidia.com>
      Signed-off-by: NJoseph Lo <josephl@nvidia.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      d552920a
    • J
      ARM: tegra30: cpuidle: add powered-down state for secondary CPUs · d457ef35
      Joseph Lo 提交于
      This supports power-gated idle on secondary CPUs for Tegra30. The
      secondary CPUs can go into powered-down state independently. When
      CPU goes into this state, it saves it's contexts and puts itself
      to flow controlled WFI state. After that, it will been power gated.
      
      Be aware of that, you may see the legacy power state "LP2" in the
      code which is exactly the same meaning of "CPU power down".
      
      Based on the work by:
      Scott Williams <scwilliams@nvidia.com>
      Signed-off-by: NJoseph Lo <josephl@nvidia.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      d457ef35
    • J
      ARM: tegra: cpuidle: add CPU resume function · d3f29365
      Joseph Lo 提交于
      The CPU suspending on Tegra means CPU power gating. We add a resume
      function for taking care the CPUs that resume from power gating status.
      This function was been hooked to the reset handler. We take care
      everything here before go into kernel.
      
      Be aware of that, you may see the legacy power status "LP2" in the code
      which is exactly the same meaning of "CPU power down".
      
      Based on the work by:
      Scott Williams <scwilliams@nvidia.com>
      Colin Cross <ccross@android.com>
      Gary King <gking@nvidia.com>
      Signed-off-by: NJoseph Lo <josephl@nvidia.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      d3f29365
  2. 06 11月, 2012 1 次提交
    • S
      ARM: tegra: move iomap.h to mach-tegra · 2be39c07
      Stephen Warren 提交于
      Nothing outside mach-tegra uses this file, so there's no need for it to
      be in <mach/>.
      
      Since uncompress.h and debug-macro.S remain in include/mach, they need
      to include "../../iomap.h" becaue of this change. uncompress.h will soon
      be deleted in later multi-platform/single-zImage patches. debug-macro.S
      will need to continue to include this header using an explicit relative
      path, to avoid duplicating the physical->virtual address mapping that
      iomap.h dictates.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      2be39c07
  3. 14 9月, 2012 3 次提交
  4. 12 6月, 2012 1 次提交
  5. 26 3月, 2012 1 次提交
    • S
      ARM: tegra: Include assembler.h in sleep.S to fix build break · 7175f80b
      Stephen Warren 提交于
      Commit 6f6f6a70 "ARM: create a common IOMEM definition" moved macro
      IOMEM(), and requires users to include <asm/assembler.h>. Fix Tegra's
      sleep.S to do so. This fixes:
      
      arch/arm/mach-tegra/sleep.S: Assembler messages:
      arch/arm/mach-tegra/sleep.S:77: Error: missing ')'
      arch/arm/mach-tegra/sleep.S:77: Error: garbage following instruction
          -- `movw r0,#:lower16:(0x60007000-0x60000000+IOMEM(0xFE200000))'
      
      Note: This only shows up after 0a258935 "ARM: tegra: update defconfig"
      Signed-off-by: NStephen Warren <swarren@wwwdotorg.org>
      7175f80b
  6. 07 2月, 2012 1 次提交