]> pilppa.com Git - linux-2.6-omap-h63xx.git/commit
OMAP3 clock: disable DPLL autoidle while waiting for DPLL to lock
authorPaul Walmsley <paul@pwsan.com>
Fri, 14 Nov 2008 17:46:14 +0000 (10:46 -0700)
committerTony Lindgren <tony@atomide.com>
Fri, 21 Nov 2008 23:51:22 +0000 (15:51 -0800)
commit3b7de4be879f1f4f55ae59882a5cbd80f6dcf0f0
treee663b6a92b45272b282d91a5c7087bc32a7e244d
parentf9c1b82f55b60fc39eaa6e7aa1fbe380c0ffe2e9
OMAP3 clock: disable DPLL autoidle while waiting for DPLL to lock

During _omap3_noncore_dpll_lock(), if a DPLL has no active downstream
clocks and DPLL autoidle is enabled, the DPLL may never lock, since it
will enter autoidle immediately.  To resolve this, disable DPLL
autoidle while locking the DPLL, and unconditionally wait for the DPLL
to lock.  This fixes some bugs where the kernel would hang when returning
from retention or return the wrong rate for the DPLL.

This patch is a collaboration with Peter de Schrijver
<peter.de-schrijver@nokia.com> and Kevin Hilman
<khilman@deeprootsystems.com>.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Peter de Schrijver <peter.de-schrijver@nokia.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/clock34xx.c