All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gary Thomas <gary@mlbassoc.com>
To: Enrico <ebutera@users.berlios.de>
Cc: linux-media@vger.kernel.org
Subject: Re: omap3isp and tvp5150 hangs
Date: Fri, 26 Aug 2011 04:52:19 -0600	[thread overview]
Message-ID: <4E577AE3.5020304@mlbassoc.com> (raw)
In-Reply-To: <CA+2YH7tJjssZs6-tQibHGYZw_t0xdu9d0PJBKkMaXn79=VFJ8g@mail.gmail.com>

On 2011-08-26 04:42, Enrico wrote:
> Hi,
>
> i need some help to debug a kernel hang on an igep board (+ expansion)
>   when using omap3-isp and tvp5150 video capture. Kernel version is
> mainline 3.0.1
>
> When i modprobe omap3-isp (after iommu2) the device is correctly recognized:
>
> root@igep0020:~# modprobe omap3-isp
> [  122.162200] Linux video capture interface: v2.00
> [  122.183319] _regulator_get: omap3isp supply VDD_CSIPHY1 not found,
> using dummy regulator
> [  122.192413] _regulator_get: omap3isp supply VDD_CSIPHY2 not found,
> using dummy regulator
> [  122.201416] omap3isp omap3isp: Revision 2.0 found
> [  122.206390] omap-iommu omap-iommu.0: isp: version 1.1
> [  122.262359] tvp5150 2-005c: chip found @ 0xb8 (OMAP I2C adapter)
> [  122.363830] tvp5150 2-005c: *** unknown tvp5151 chip detected.
> [  122.369964] tvp5150 2-005c: *** Rom ver is 1.0
>
> but then it immediatly hangs. Sysrq show regs:

I found that this driver is not compatible with the [new] v4l2_subdev setup.
In particular, it does not define any "pads" and the call to media_entity_create_link()
in omap3isp/isp.c:1803 fires a BUG_ON() for this condition.

>
> [  125.420349] Pid: 310, comm:             modprobe
> [  125.425170] CPU: 0    Not tainted  (3.0.1+ #22)
> [  125.429931] PC is at media_entity_create_link+0x3c/0xe8
> [  125.435485] LR is at isp_probe+0x770/0x97c [omap3_isp]
> [  125.440887] pc : [<c03420b8>]    lr : [<bf0ddd80>]    psr: 60000013
> [  125.440887] sp : de405de8  ip : 00000000  fp : c0615998
> [  125.452911] r10: de468800  r9 : 00000000  r8 : c062f088
> [  125.458374] r7 : deefdc78  r6 : 00000000  r5 : 00000000  r4 :
> 00000000
> [  125.465240] r3 : 00000000  r2 : deefdc78  r1 : 00000000  r0 :
> de468800
> [  125.472076] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
> [  125.479553] Control: 10c5387d  Table: 9e418019  DAC: 00000015
>
>
> Since i had to manually edit default u-boot mux data for some pins,
> can you confirm this is the right setup? Don't look at the comments
> because for now i didn't update them to match mux config.
>
> CAM_WEN and CAM_STROBE are used for reset/power down and are
> configured as gpios.
>
> MUX_VAL(CP(CAM_HS),            (IEN | PTU | EN | M0)) /* GPIO_94 - PDN
> (Rev. B) */\
> MUX_VAL(CP(CAM_VS),            (IEN | PTU | EN | M0)) /* GPIO_95 -
> RESET_N_W (Rev. B) */\
>
> MUX_VAL(CP(CAM_XCLKA),       (IDIS | PTD | DIS | M0)) /* CAM_XCLKA */\
> MUX_VAL(CP(CAM_PCLK),         (IEN  | PTU | EN  | M0)) /* CAM_PCLK  */\
> MUX_VAL(CP(CAM_FLD),            (IEN  | PTD | DIS | M0)) /* GPIO_98   */\
> MUX_VAL(CP(CAM_XCLKB),       (IDIS | PTD | DIS | M0)) /* CAM_XCLKB */\
>
> MUX_VAL(CP(CAM_D0),            (IEN | PTD | DIS | M0)) /* GPIO_99   */\
> MUX_VAL(CP(CAM_D1),            (IEN | PTD | DIS | M0)) /* GPIO_100  */\
> MUX_VAL(CP(CAM_D2),            (IEN  | PTD | DIS | M0)) /* CAM_D2    */\
> MUX_VAL(CP(CAM_D3),            (IEN  | PTD | DIS | M0)) /* CAM_D3    */\
> MUX_VAL(CP(CAM_D4),            (IEN  | PTD | DIS | M0)) /* CAM_D4    */\
> MUX_VAL(CP(CAM_D5),            (IEN  | PTD | DIS | M0)) /* CAM_D5    */\
> MUX_VAL(CP(CAM_D6),            (IEN | PTD | DIS | M0)) /* GPIO_105 -
> RF_CTRL     */\
> MUX_VAL(CP(CAM_D7),            (IEN | PTD | DIS | M0)) /* GPIO_106 -
> RF_STANDBY  */\
> MUX_VAL(CP(CAM_D8),            (IEN | PTD | DIS | M0)) /* GPIO_107 -
> RF_INT      */\
> MUX_VAL(CP(CAM_D9),            (IEN | PTD | DIS | M0)) /* GPIO_108 -
> RF_SYNCB    */\
> MUX_VAL(CP(CAM_D10),           (IEN  | PTD | DIS | M0)) /* CAM_D10   */\
> MUX_VAL(CP(CAM_D11),           (IEN  | PTD | DIS | M0)) /* CAM_D11   */\
>
>
> I just tried it also with kernel 3.1.0-rc3+ from tmlind repository, it
> doesn't hang but it segfaults with:
>
> [   70.227844] kernel BUG at drivers/media/media-entity.c:346!
> [   70.239471] Unable to handle kernel NULL pointer dereference at
> virtual address 00000000
> [   70.248046] pgd = dfbec000
> [   70.250885] [00000000] *pgd=9eeb4831, *pte=00000000, *ppte=00000000
> [   70.257476] Internal error: Oops: 817 [#1]
> [   70.261779] Modules linked in: tvp5150 omap3_isp(+) v4l2_common
> videodev iovmm iommu2 iommu libertas_sdio libertas cfg80211 rfkill
> twl4030_wdt twl4030_pwrbutton omap_wdt [last unloaded: iommu]
> [   70.279785] CPU: 0    Not tainted  (3.1.0-rc3+ #2)
> [   70.284820] PC is at __bug+0x1c/0x28
> [   70.288574] LR is at __bug+0x18/0x28
> [   70.292327] pc : [<c0010430>]    lr : [<c001042c>]    psr: 20000013
> [   70.292327] sp : dec75de0  ip : 00000000  fp : c04b8a48
> [   70.304351] r10: dec1bc00  r9 : 00000000  r8 : c04c5124
> [   70.309814] r7 : dec7da68  r6 : 00000000  r5 : 00000000  r4 : 00000000
> [   70.316680] r3 : 00000000  r2 : dec75dd4  r1 : c040182a  r0 : 00000045
> [   70.323516] Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
> [   70.330993] Control: 10c5387d  Table: 9fbec019  DAC: 00000015
> [   70.337005] Process modprobe (pid: 320, stack limit = 0xdec742f0)
> [   70.343383] Stack: (0xdec75de0 to 0xdec76000)
> [   70.347961] 5de0: 00000000 c027d390 00000008 c04c51b8 dec1bc00
> c04c51b8 c04c5124 dec7da68
> [   70.356536] 5e00: dec78000 bf0e2d04 00000000 dec78000 df806f18
> dec7e0b8 dec7edd8 00000000
> [   70.365112] 5e20: c04b8a7c c04b8a48 c04b8a7c bf0f59ac bf0f59ac
> 00000000 00000023 0000001c
> [   70.373687] 5e40: 00000000 c0212c7c c0212c68 c0211c00 00000000
> c04b8a48 c04b8a7c bf0f59ac
> [   70.382263] 5e60: 00000000 c0211d1c bf0f59ac dec75e78 c0211cbc
> c0210eb0 df806ef8 df867df0
> [   70.390838] 5e80: bf0f59ac bf0f59ac ded60a40 c04df5e0 00000000
> c0211520 bf0f32c5 bf0f32ca
> [   70.399414] 5ea0: 00000033 bf0f59ac bf0f5c38 00000001 bf0fb000
> 00000000 0000001c c0212230
> [   70.408020] 5ec0: 00000000 bf0f5bf0 bf0f5c38 00000001 bf0fb000
> 00000000 0000001c c0008574
> [   70.416595] 5ee0: bf0fb000 00000000 00000001 bf0f5bf0 bf0f5bf0
> bf0f5c38 00000001 ded6cb40
> [   70.425170] 5f00: 00000001 c0058728 bf0f5bfc c00082dc c0056534
> c0354308 bf0f5d14 00de2320
> [   70.433746] 5f20: ded5d66c e0952000 00021a7a e09695d0 e0969471
> e0970fd0 dedc6000 00014d2c
> [   70.442321] 5f40: 00016fcc 00000000 00000000 00000021 00000022
> 00000016 0000001a 0000000f
> [   70.450897] 5f60: 00000000 00000000 00000000 00000000 00000000
> 00000000 00000000 c044ad1c
> [   70.459472] 5f80: 00000000 00de2070 00000000 00000000 00000080
> c000d6c4 dec74000 00000000
> [   70.468048] 5fa0: 00de2168 c000d540 00de2070 00000000 400c3000
> 00021a7a 00de2320 00000000
> [   70.476623] 5fc0: 00de2070 00000000 00000000 00000080 00000000
> 00de2070 00de2020 00de2168
> [   70.485198] 5fe0: 00de2320 beb5498c 0000b620 4024d674 60000010
> 400c3000 00000000 00000000
> [   70.493804] [<c0010430>] (__bug+0x1c/0x28) from [<c027d390>]
> (media_entity_create_link+0x4c/0xfc)
> [   70.503173] [<c027d390>] (media_entity_create_link+0x4c/0xfc) from
> [<bf0e2d04>] (isp_probe+0x748/0x954 [omap3_isp])
> [   70.514190] [<bf0e2d04>] (isp_probe+0x748/0x954 [omap3_isp]) from
> [<c0212c7c>] (platform_drv_probe+0x14/0x18)
> [   70.524597] [<c0212c7c>] (platform_drv_probe+0x14/0x18) from
> [<c0211c00>] (driver_probe_device+0xc8/0x184)
> [   70.534698] [<c0211c00>] (driver_probe_device+0xc8/0x184) from
> [<c0211d1c>] (__driver_attach+0x60/0x84)
> [   70.544555] [<c0211d1c>] (__driver_attach+0x60/0x84) from
> [<c0210eb0>] (bus_for_each_dev+0x4c/0x78)
> [   70.554046] [<c0210eb0>] (bus_for_each_dev+0x4c/0x78) from
> [<c0211520>] (bus_add_driver+0x98/0x210)
> [   70.563537] [<c0211520>] (bus_add_driver+0x98/0x210) from
> [<c0212230>] (driver_register+0xa8/0x12c)
> [   70.573028] [<c0212230>] (driver_register+0xa8/0x12c) from
> [<c0008574>] (do_one_initcall+0x90/0x160)
> [   70.582641] [<c0008574>] (do_one_initcall+0x90/0x160) from
> [<c0058728>] (sys_init_module+0x15fc/0x17c4)
> [   70.592498] [<c0058728>] (sys_init_module+0x15fc/0x17c4) from
> [<c000d540>] (ret_fast_syscall+0x0/0x30)
> [   70.602264] Code: e59f0010 e1a01003 eb0cf943 e3a03000 (e5833000)
> [   70.608764] ---[ end trace c33463a29bf37706 ]---
>
>
> If it could be useful i can send the board file where the v4l subdev
> is registered, but basically i copied it from a working version from
> the manufacturer repository (kernel 2.6.35). It's not a hardware
> problem because it works with manufacturer kernel.
>
> Thanks,
>
> Enrico
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

  reply	other threads:[~2011-08-26 10:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-26 10:42 omap3isp and tvp5150 hangs Enrico
2011-08-26 10:52 ` Gary Thomas [this message]
2011-08-26 15:02   ` Enrico
2011-08-29 10:40     ` Laurent Pinchart

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=4E577AE3.5020304@mlbassoc.com \
    --to=gary@mlbassoc.com \
    --cc=ebutera@users.berlios.de \
    --cc=linux-media@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.