From: Tero Kristo <t-kristo@ti.com>
To: Rajendra Nayak <rnayak@ti.com>
Cc: Tony Lindgren <tony@atomide.com>,
linux-omap@vger.kernel.org, paul@pwsan.com, nm@ti.com,
bcousson@baylibre.com, mturquette@linaro.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org
Subject: Re: [PATCHv11 07/49] clk: divider: add support for low level ops
Date: Fri, 20 Dec 2013 12:29:41 +0200 [thread overview]
Message-ID: <52B41C15.8040304@ti.com> (raw)
In-Reply-To: <52B416E8.8070006@ti.com>
On 12/20/2013 12:07 PM, Rajendra Nayak wrote:
> On Friday 20 December 2013 12:32 AM, Tero Kristo wrote:
>> On 12/19/2013 08:26 PM, Tony Lindgren wrote:
>>> * Tero Kristo <t-kristo@ti.com> [131219 03:26]:
>>>> Divider clock can now be registered to use low level register access ops.
>>>> Preferred initialization method is via clock description.
>>>
>>> This seems to make omap2 not boot for me. No output whatsoever even with
>>> DEBUG_LL and earlyprintk.
>>
>> Thats weird... I was kind of afraid something like this might happen though as these patches touch the clock low level routines globally, but I can't see what could be broken...
>
> I got hold of a 2430sdp and saw the same behavior, however DEBUG_LL and earlyprintk worked and this is
> what I see
>
> [ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00000000
> [ 0.000000] pgd = c0004000
> [ 0.000000] [00000000] *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.13.0-rc4-00056-ga9fa93e #2
> [ 0.000000] task: c07dfcb8 ti: c07d4000 task.ti: c07d4000
> [ 0.000000] PC is at clk_mux_get_parent+0x14/0xcc
> [ 0.000000] LR is at clk_mux_get_parent+0x10/0xcc
> [ 0.000000] pc : [<c044a234>] lr : [<c044a230>] psr: a00001d3
> [ 0.000000] sp : c07d5f40 ip : 00000000 fp : 00000000
> [ 0.000000] r10: c07dc880 r9 : 4107b366 r8 : c07f46a4
> [ 0.000000] r7 : c0edfa80 r6 : ffffffff r5 : c07f6810 r4 : 00000002
> [ 0.000000] r3 : 00000000 r2 : 00000000 r1 : c069da67 r0 : 00000002
> [ 0.000000] Flags: NzCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
> [ 0.000000] Control: 00c5387d Table: 80004000 DAC: 00000017
> [ 0.000000] Process swapper/0 (pid: 0, stack limit = 0xc07d4248)
> [ 0.000000] Stack: (0xc07d5f40 to 0xc07d6000)
> [ 0.000000] 5f40: c044a220 00000002 c6001f40 c0448e54 c07dfcb8 c0862f7c c07f3600 c07f4368
> [ 0.000000] 5f60: ffffffff c0edfa80 c07b6b80 4107b366 c07dc880 c077edf4 c0531008 c07f4380
> [ 0.000000] 5f80: c07f34d4 c077f20c c0878964 c0edfa80 c07b6b80 c0877ac4 c0877640 ffffffff
> [ 0.000000] 5fa0: c0edfa80 c0777268 00000001 c07792ac c07b5250 c077221c 00000002 c076e974
> [ 0.000000] 5fc0: ffffffff ffffffff c076e57c 00000000 00000000 c07b6b80 00000000 00c5387d
> [ 0.000000] 5fe0: c07dc928 c07b6b7c c07e1474 80004008 8052c544 80008074 00000000 00000000
> [ 0.000000] [<c044a234>] (clk_mux_get_parent+0x14/0xcc) from [<c0448e54>] (__clk_init+0xe4/0x3f0)
> [ 0.000000] [<c0448e54>] (__clk_init+0xe4/0x3f0) from [<c077edf4>] (omap_clocks_register+0x24/0x48)
> [ 0.000000] [<c077edf4>] (omap_clocks_register+0x24/0x48) from [<c077f20c>] (omap2430_clk_init+0x4c/0x124)
> [ 0.000000] [<c077f20c>] (omap2430_clk_init+0x4c/0x124) from [<c0777268>] (omap_clk_init+0x28/0x30)
> [ 0.000000] [<c0777268>] (omap_clk_init+0x28/0x30) from [<c07792ac>] (omap2_sync32k_timer_init+0x8/0x58)
> [ 0.000000] [<c07792ac>] (omap2_sync32k_timer_init+0x8/0x58) from [<c077221c>] (time_init+0x1c/0x30)
> [ 0.000000] [<c077221c>] (time_init+0x1c/0x30) from [<c076e974>] (start_kernel+0x1d4/0x360)
> [ 0.000000] [<c076e974>] (start_kernel+0x1d4/0x360) from [<80008074>] (0x80008074)
> [ 0.000000] Code: e1a05000 e5900000 ebfff7f5 e595300c (e5933000)
> [ 0.000000] ---[ end trace 3406ff24bd97382e ]---
> [ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
>
> I'll try and debug further but any quick thoughts on what could be wrong?
I have a fix for this already and will be posting v12 today. I will just
re-post the drivers/clk part of the series though, rest of the patches
should be fine.
This bug was silly actually, I didn't think of the static clock data
initialization through the macros from clk-private.h... This caused the
resulting clock structures to have NULL for clk_ll_ops as it bypassed
the init function where I set it up. So, I will need to check against
NULL every time I do anything with ll_ops.
-Tero
next prev parent reply other threads:[~2013-12-20 10:29 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-19 11:23 [PATCHv11 00/49] ARM: TI SoC clock DT conversion Tero Kristo
2013-12-19 11:23 ` [PATCHv11 01/49] clk: add support for registering clocks from description Tero Kristo
2013-12-20 10:53 ` Paul Walmsley
2013-12-20 13:14 ` Tero Kristo
2013-12-19 11:23 ` [PATCHv11 03/49] clk: divider: add support for registering divider clock from descriptor Tero Kristo
2013-12-20 10:54 ` Paul Walmsley
2013-12-19 11:23 ` [PATCHv11 04/49] clk: mux: add support for registering mux " Tero Kristo
2013-12-20 10:55 ` Paul Walmsley
2013-12-19 11:23 ` [PATCHv11 05/49] clk: gate: add support for registering gate " Tero Kristo
2013-12-20 10:56 ` Paul Walmsley
2013-12-19 11:23 ` [PATCHv11 06/49] clk: add support for low level register ops Tero Kristo
2013-12-20 11:00 ` Paul Walmsley
2013-12-20 11:17 ` Tero Kristo
2013-12-20 16:09 ` Paul Walmsley
2013-12-19 11:23 ` [PATCHv11 07/49] clk: divider: add support for low level ops Tero Kristo
2013-12-19 18:26 ` Tony Lindgren
2013-12-19 19:02 ` Tero Kristo
2013-12-20 10:07 ` Rajendra Nayak
2013-12-20 10:29 ` Tero Kristo [this message]
2013-12-20 10:39 ` Rajendra Nayak
2013-12-20 16:16 ` Tony Lindgren
2013-12-20 16:33 ` Tero Kristo
2013-12-19 11:23 ` [PATCHv11 08/49] clk: gate: " Tero Kristo
2013-12-19 11:23 ` [PATCHv11 09/49] clk: mux: " Tero Kristo
2013-12-19 11:23 ` [PATCHv11 10/49] CLK: TI: add DT alias clock registration mechanism Tero Kristo
2013-12-19 11:23 ` [PATCHv11 11/49] CLK: ti: add init support for clock IP blocks Tero Kristo
2013-12-19 11:23 ` [PATCHv11 12/49] CLK: TI: Add DPLL clock support Tero Kristo
2013-12-19 11:23 ` [PATCHv11 13/49] CLK: TI: add autoidle support Tero Kristo
2013-12-19 11:23 ` [PATCHv11 14/49] clk: ti: add composite clock support Tero Kristo
2013-12-19 11:23 ` [PATCHv11 15/49] CLK: ti: add support for ti divider-clock Tero Kristo
2013-12-19 11:23 ` [PATCHv11 16/49] clk: ti: add support for TI fixed factor clock Tero Kristo
2013-12-19 11:23 ` [PATCHv11 17/49] CLK: TI: add support for gate clock Tero Kristo
2013-12-19 11:23 ` [PATCHv11 18/49] CLK: TI: add support for clockdomain binding Tero Kristo
2013-12-20 11:46 ` Paul Walmsley
2013-12-19 11:23 ` [PATCHv11 19/49] clk: ti: add support for basic mux clock Tero Kristo
2013-12-19 11:23 ` [PATCHv11 20/49] CLK: TI: add omap4 clock init file Tero Kristo
2013-12-19 11:23 ` [PATCHv11 21/49] CLK: TI: add omap5 " Tero Kristo
2013-12-19 11:23 ` [PATCHv11 22/49] CLK: TI: omap5: Initialize USB_DPLL at boot Tero Kristo
2013-12-19 11:23 ` [PATCHv11 23/49] CLK: TI: DRA7: Add APLL support Tero Kristo
2013-12-19 11:23 ` [PATCHv11 24/49] CLK: TI: add dra7 clock init file Tero Kristo
2013-12-19 11:23 ` [PATCHv11 25/49] CLK: TI: add am33xx " Tero Kristo
2013-12-19 11:23 ` [PATCHv11 27/49] CLK: TI: add omap3 " Tero Kristo
2013-12-19 11:24 ` [PATCHv11 30/49] ARM: dts: omap5 clock data Tero Kristo
2013-12-19 11:24 ` [PATCHv11 31/49] ARM: dts: dra7 " Tero Kristo
2013-12-19 11:24 ` [PATCHv11 32/49] ARM: dts: clk: Add apll related clocks Tero Kristo
2013-12-19 11:24 ` [PATCHv11 33/49] ARM: dts: DRA7: Change apll_pcie_m2_ck to fixed factor clock Tero Kristo
2013-12-19 11:24 ` [PATCHv11 34/49] ARM: dts: DRA7: Add PCIe related clock nodes Tero Kristo
2013-12-19 11:24 ` [PATCHv11 35/49] ARM: dts: am33xx clock data Tero Kristo
2013-12-19 11:24 ` [PATCHv11 36/49] ARM: dts: omap3 " Tero Kristo
2013-12-19 11:24 ` [PATCHv11 37/49] ARM: dts: AM35xx: use DT " Tero Kristo
2013-12-19 11:24 ` [PATCHv11 39/49] ARM: OMAP2+: clock: add support for indexed memmaps Tero Kristo
2013-12-19 11:24 ` [PATCHv11 40/49] ARM: OMAP2+: clock: use driver API instead of direct memory read/write Tero Kristo
2013-12-19 11:24 ` [PATCHv11 45/49] ARM: OMAP4: remove old clock data and link in new clock init code Tero Kristo
[not found] ` <1387452260-23276-1-git-send-email-t-kristo-l0cyMroinI0@public.gmane.org>
2013-12-19 11:23 ` [PATCHv11 02/49] clk: fixed-rate: add support for registering fixed-rate clock from descriptor Tero Kristo
2013-12-19 11:23 ` [PATCHv11 26/49] CLK: TI: add interface clock support for OMAP3 Tero Kristo
2013-12-19 11:23 ` [PATCHv11 28/49] CLK: TI: add am43xx clock init file Tero Kristo
2013-12-19 11:24 ` [PATCHv11 29/49] ARM: dts: omap4 clock data Tero Kristo
2013-12-19 11:24 ` [PATCHv11 38/49] ARM: dts: am43xx " Tero Kristo
2013-12-19 11:24 ` [PATCHv11 41/49] ARM: OMAP: hwmod: fix an incorrect clk type cast with _get_clkdm Tero Kristo
2013-12-19 11:24 ` [PATCHv11 42/49] ARM: OMAP3: hwmod: initialize clkdm from clkdm_name Tero Kristo
2013-12-19 11:24 ` [PATCHv11 43/49] ARM: OMAP2+: PRM: add support for initializing PRCM clock modules from DT Tero Kristo
2013-12-20 11:49 ` Paul Walmsley
2013-12-20 13:12 ` Tero Kristo
2013-12-19 11:24 ` [PATCHv11 44/49] ARM: OMAP2+: io: use new clock init API Tero Kristo
2013-12-19 11:24 ` [PATCHv11 46/49] ARM: OMAP: DRA7: Enable clock init Tero Kristo
2013-12-19 11:24 ` [PATCHv11 47/49] ARM: AM43xx: " Tero Kristo
2013-12-19 11:24 ` [PATCHv11 48/49] ARM: AM33xx: remove old clock data and link in new clock init code Tero Kristo
2013-12-19 11:24 ` [PATCHv11 49/49] ARM: OMAP3: use DT clock init if DT data is available Tero Kristo
2013-12-19 15:07 ` [PATCHv11 00/49] ARM: TI SoC clock DT conversion Nishanth Menon
2013-12-19 18:05 ` Tony Lindgren
2013-12-20 6:52 ` Keerthy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52B41C15.8040304@ti.com \
--to=t-kristo@ti.com \
--cc=bcousson@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=mturquette@linaro.org \
--cc=nm@ti.com \
--cc=paul@pwsan.com \
--cc=rnayak@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).