mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 22:52:35 +02:00
ARM: etm: Power down etm(s) when tracing is not enabled
Without this change a saw an 18% increase in idle power consumption on one deivce when trace support is compiled into the kernel. Now I see the same increase only when tracing. Change-Id: I21bb5ecf1b7d29ce3790ceeb5323409cc22d5a3b Signed-off-by: Arve Hjønnevåg <arve@android.com>
This commit is contained in:
parent
628c494e44
commit
38dfc33b20
|
|
@ -199,7 +199,7 @@ static int trace_stop_etm(struct tracectx *t, int id)
|
|||
|
||||
etm_unlock(t, id);
|
||||
|
||||
etm_writel(t, id, 0x440, ETMR_CTRL);
|
||||
etm_writel(t, id, 0x441, ETMR_CTRL);
|
||||
while (!(etm_readl(t, id, ETMR_CTRL) & ETMCTRL_PROGRAM) && --timeout)
|
||||
;
|
||||
if (!timeout) {
|
||||
|
|
@ -738,7 +738,7 @@ static int __devinit etm_probe(struct amba_device *dev, const struct amba_id *id
|
|||
(void)etm_readl(&tracer, t->etm_regs_count, ETMMR_OSSRR);
|
||||
|
||||
t->ncmppairs = etm_readl(t, t->etm_regs_count, ETMR_CONFCODE) & 0xf;
|
||||
etm_writel(t, t->etm_regs_count, 0x440, ETMR_CTRL);
|
||||
etm_writel(t, t->etm_regs_count, 0x441, ETMR_CTRL);
|
||||
etm_writel(t, t->etm_regs_count, new_count, ETMR_TRACEIDR);
|
||||
etm_lock(t, t->etm_regs_count);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user