[PATCH 5/5] ARM: OMAP3+: DPLL: use determine_rate() and set_rate_and_parent()
Kevin Hilman
khilman at kernel.org
Wed Dec 10 11:41:42 PST 2014
Hi Tero,
On Fri, Oct 3, 2014 at 6:57 AM, Tero Kristo <t-kristo at ti.com> wrote:
> Currently, DPLLs are hiding the gory details of switching parent
> within set_rate, which confuses the common clock code and is wrong.
> Fixed by applying the new determine_rate() and set_rate_and_parent()
> functionality to any clock-ops previously using the broken approach.
> This patch also removes the broken legacy code.
>
> Signed-off-by: Tero Kristo <t-kristo at ti.com>
This patch arrived in linux-next (as commit 2e1a7b014f9c) and broke
the omap2plus_defconfig, non-DT boot for the omap3-beagle-xm. By
default, there's no output on the console, but turning on DEBUG_LL, I
got the crash below[1].
Reverting this commit on next-20141210 gets things booting again for me.
Kevin
[1]
[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/400/600 MHz
[ 0.000000] Unable to handle kernel paging request at virtual
address 5f737973
[ 0.000000] pgd = c0004000
[ 0.000000] [5f737973] *pgd=00000000
[ 0.000000] Internal error: Oops: 5 [#1] SMP ARM
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted
3.18.0-11367-g6791358f417e #85
[ 0.000000] Hardware name: OMAP3 Beagle Board
[ 0.000000] task: c08da288 ti: c08ce000 task.ti: c08ce000
[ 0.000000] PC is at strcmp+0x4/0x30
[ 0.000000] LR is at clk_fetch_parent_index+0x80/0xd8
[ 0.000000] pc : [<c032f3dc>] lr : [<c04d81c0>] psr: 600001d3
[ 0.000000] sp : c08cff20 ip : 00000000 fp : 00000000
[ 0.000000] r10: c08ec168 r9 : 5f737973 r8 : 00000001
[ 0.000000] r7 : de00d280 r6 : c0770eb4 r5 : de00d284 r4 : 00000000
[ 0.000000] r3 : 00000073 r2 : 00000000 r1 : 5f737973 r0 : c0770eb5
[ 0.000000] Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM
Segment kernel
[ 0.000000] Control: 10c5387d Table: 80004019 DAC: 00000015
[ 0.000000] Process swapper/0 (pid: 0, stack limit = 0xc08ce240)
[ 0.000000] Stack: (0xc08cff20 to 0xc08d0000)
[ 0.000000] ff20: c08ec168 c0770eb4 c08ebbf0 23c34600 07270e00
413fc082 dfeff140 c04d82b0
[ 0.000000] ff40: c08ebbf0 07270e00 c08ec168 c08ec168 07270e00
0000001a 23c34600 c08ab890
[ 0.000000] ff60: dfeff140 c04d8bfc 34300133 00000190 c08ec168
c086ffc8 34300133 00000190
[ 0.000000] ff80: 00000000 c0870318 00000258 c09768c4 c09768c4
c09768c4 00000001 ffffffff
[ 0.000000] ffa0: c0976480 c08681a8 00000000 c086a114 c08aa1e8
c0862684 00000002 c085eb08
[ 0.000000] ffc0: ffffffff ffffffff c085e670 00000000 00000000
c08ab890 00000000 c0976694
[ 0.000000] ffe0: c08d6968 c08ab88c c08dbc2c 80004059 00000000
80008074 00000000 00000000
[ 0.000000] [<c032f3dc>] (strcmp) from [<c04d81c0>]
(clk_fetch_parent_index+0x80/0xd8)
[ 0.000000] [<c04d81c0>] (clk_fetch_parent_index) from [<c04d82b0>]
(clk_calc_new_rates+0x98/0x194)
[ 0.000000] [<c04d82b0>] (clk_calc_new_rates) from [<c04d8bfc>]
(clk_set_rate+0x50/0x90)
[ 0.000000] [<c04d8bfc>] (clk_set_rate) from [<c086ffc8>]
(omap3_clk_lock_dpll5+0x1c/0xb4)
[ 0.000000] [<c086ffc8>] (omap3_clk_lock_dpll5) from [<c0870318>]
(omap3xxx_clk_init+0x2b8/0x398)
[ 0.000000] [<c0870318>] (omap3xxx_clk_init) from [<c08681a8>]
(omap_clk_init+0x3c/0x50)
[ 0.000000] [<c08681a8>] (omap_clk_init) from [<c086a114>]
(omap3_secure_sync32k_timer_init+0x8/0x58)
[ 0.000000] [<c086a114>] (omap3_secure_sync32k_timer_init) from
[<c0862684>] (time_init+0x1c/0x30)
[ 0.000000] [<c0862684>] (time_init) from [<c085eb08>]
(start_kernel+0x25c/0x3fc)
[ 0.000000] [<c085eb08>] (start_kernel) from [<80008074>] (0x80008074)
[ 0.000000] Code: e12fff1e e1a03000 eafffff7 e4d03001 (e4d12001)
[
More information about the linux-arm-kernel
mailing list