Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76a8527f authored by Arve Hjønnevåg's avatar Arve Hjønnevåg Committed by Ruchi Kandoi
Browse files

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: default avatarArve Hjønnevåg <arve@android.com>
parent 5ecc7ecf
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -200,7 +200,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) {
@@ -736,7 +736,7 @@ static int 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);