Hi Jon, I regret the delay: On Wed, 21 Jul 2010, Jon Hunter wrote: > From: Jon Hunter <jon-hunter@xxxxxx> > > When changing the L3 clock frequency, the CPU is executing from internal RAM > and the SDRC clock is disabled. During this time accesses made to external > DDR are stalled. If the ARM subsystem attempts to access the DDR while the > SDRC clock is disabled this will stall the CPU until the access to the SDRC > timeouts. A timeout on the SDRC should never occur. Once a timeout occurs all > the following accesses will be aborted and the DDR is no longer accessible. > > Although the code being executed in the internal RAM does not directly access > the DDR, it was found that the branch prediction logic in the CPU may cause > the CPU to prefetch code from a DDR location while the SDRC clock is disabled. > This was causing an SDRC timeout which resulted in a system hang. > > This patch fixes this problem by ensuring the branch prediction logic is > disabled while changing the L3 clock frequency. The branch prediction logic > is disabled by clearing the Z-bit in the ARM AUX CTRL register. > > Disabling the branch prediction logic does not have any noticable impact > on the execution time of this code section. The hardware observability > signals were used to monitor the sdrc idle time with and without this > patch when operating at different CPU frequencies (150MHz, 500MHz and > 600MHz) and the total sdrc idle time when changing frequenct was in > the range of 9-11us. This was measured on an omap3430 SDP running the > omapzoom p-android-omap-2.6.29 branch. > > This change has been commited to both TI's android 2.6.29 and 2.6.32 kernels. > The commits can be viewed here: > http://git.omapzoom.org/?p=kernel/omap.git;a=commit;h=5679c7b1142f3cc2b9285181d53f6b40c4d0296d > http://git.omapzoom.org/?p=kernel/omap.git;a=commit;h=cf16e57823575d98e9d5165aa7a498ffb751c940 > > This patch has been rebased on the latest linux-omap tree and tested on > Kevin Hilman's pm branch. > > Signed-off-by: Jon Hunter <jon-hunter@xxxxxx> Really nice changelog. I wish every patch had a description this good. Patch looks really good, too. Queued for 2.6.37. - Paul -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html