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
------------------------------------------------------------
next prev parent 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.