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

Commit 8c92ba6c authored by Chris Metcalf's avatar Chris Metcalf
Browse files

arch/tile: add "nop" after "nap" to help GX idle power draw



This avoids the hardware istream prefetcher doing unnecessary work.

Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
parent bfffe79b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ STD_ENTRY(cpu_idle_on_new_stack)
/* Loop forever on a nap during SMP boot. */
STD_ENTRY(smp_nap)
	nap
	nop       /* avoid provoking the icache prefetch with a jump */
	j smp_nap /* we are not architecturally guaranteed not to exit nap */
	jrp lr    /* clue in the backtracer */
	STD_ENDPROC(smp_nap)
@@ -105,5 +106,6 @@ STD_ENTRY(_cpu_idle)
	.global _cpu_idle_nap
_cpu_idle_nap:
	nap
	nop       /* avoid provoking the icache prefetch with a jump */
	jrp lr
	STD_ENDPROC(_cpu_idle)
+1 −1
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ static void smp_stop_cpu_interrupt(void)
	set_cpu_online(smp_processor_id(), 0);
	arch_local_irq_disable_all();
	for (;;)
		asm("nap");
		asm("nap; nop");
}

/* This function calls the 'stop' function on all other CPUs in the system. */