diff options
author | satya popuri <spopuri@nvidia.com> | 2012-02-28 15:57:35 -0800 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-03-02 23:19:21 -0800 |
commit | 7f6476008164909d05baffe497c953af4f3f4c2f (patch) | |
tree | f7777180f808cad9a0b649e92cf520eceb25c542 /arch/arm/mach-tegra/sleep.S | |
parent | 3b49c5b5cffdfc52ab480c4d79cb6aab4309cae1 (diff) |
tegra: cpuidle: remove flow-controller programming
bug 937980
Remove some legacy flow-controller programming from LP3 entry and exit
paths. Also remove data synchronization barrier instruction after wfi
to improve scaling across cores.
Signed-off-by: satya popuri <spopuri@nvidia.com>
Reviewed-on: http://git-master/r/86451
(cherry picked from commit f88ee65418126365fc10af3d3771bba5d2e41d57)
Change-Id: I7bca4328044ef477bc4bec9c9af9d30d8815d6ce
Reviewed-on: http://git-master/r/87212
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Satya Popuri <spopuri@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/sleep.S')
-rw-r--r-- | arch/arm/mach-tegra/sleep.S | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/arch/arm/mach-tegra/sleep.S b/arch/arm/mach-tegra/sleep.S index c4628e9691bb..dff63a166575 100644 --- a/arch/arm/mach-tegra/sleep.S +++ b/arch/arm/mach-tegra/sleep.S @@ -106,27 +106,15 @@ ENDPROC(tegra_pen_unlock) /* * tegra_cpu_wfi * - * puts current CPU in clock-gated wfi using the flow controller + * puts current CPU in wfi + * CPU core clock-gates itself during wfi * * corrupts r0-r3 * must be called with MMU on */ ENTRY(tegra_cpu_wfi) - cpu_id r0 - cpu_to_halt_reg r1, r0 - cpu_to_csr_reg r2, r0 - mov32 r0, TEGRA_FLOW_CTRL_VIRT - mov r3, #FLOW_CTRL_CSR_INTR_FLAG | FLOW_CTRL_CSR_EVENT_FLAG - str r3, [r0, r2] @ clear event & interrupt status - mov r3, #FLOW_CTRL_WAIT_FOR_INTERRUPT | FLOW_CTRL_JTAG_RESUME - str r3, [r0, r1] @ put flow controller in wait irq mode dsb wfi - mov r3, #0 - str r3, [r0, r1] @ clear flow controller halt status - mov r3, #FLOW_CTRL_CSR_INTR_FLAG | FLOW_CTRL_CSR_EVENT_FLAG - str r3, [r0, r2] @ clear event & interrupt status - dsb mov pc, lr ENDPROC(tegra_cpu_wfi) |