Messages in this thread | | | Date | Mon, 29 Jul 2013 17:03:15 -0700 | From | Sören Brinkmann <> | Subject | Re: Enable arm_global_timer for Zynq brakes boot |
| |
Hi Daniel,
On Mon, Jul 29, 2013 at 02:51:49PM +0200, Daniel Lezcano wrote: (snip) > > the CPUIDLE_FLAG_TIMER_STOP flag tells the cpuidle framework the local > timer will be stopped when entering to the idle state. In this case, the > cpuidle framework will call clockevents_notify(ENTER) and switches to a > broadcast timer and will call clockevents_notify(EXIT) when exiting the > idle state, switching the local timer back in use.
I've been thinking about this, trying to understand how this makes my boot attempts on Zynq hang. IIUC, the wrongly provided TIMER_STOP flag would make the timer core switch to a broadcast device even though it wouldn't be necessary. But shouldn't it still work? It sounds like we do something useless, but nothing wrong in a sense that it should result in breakage. I guess I'm missing something obvious. This timer system will always remain a mystery to me.
Actually this more or less leads to the question: What is this 'broadcast timer'. I guess that is some clockevent device which is common to all cores? (that would be the cadence_ttc for Zynq). Is the hang pointing to some issue with that driver?
Thanks, Sören
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |