On Wed, 2009-06-17 at 16:11 -0400, m-kariche...@ti.com wrote:
> From: Muralidharan Karicheri <a0868...@gt516km11.gt.design.ti.com>
> 
> Big Thanks to all reviewers who have contributed to this driver
> by reviewing and offering valuable comments.
> 
> VPFE Capture driver for DaVinci Media SOCs :- DM355 and DM6446
> 
> This is the version v3 of the patch series. This is the reworked
> version of the driver based on comments received against the last
> version (v2) of the patch and is expected to be final version
> candidate for merge to upstream kernel
> 
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> These patches add support for VPFE (Video Processing Front End) based
> video capture on DM355 and DM6446 EVMs. For more details on the hardware
> configuration and capabilities, please refer the vpfe_capture.c header.
> This patch set consists of following:- 
> 
> Patch 1: VPFE Capture bridge driver
> Patch 2: CCDC hw device header file
> Patch 3: DM355 CCDC hw module
> Patch 4: DM644x CCDC hw module
> Patch 5: ccdc types used across CCDC modules
> Patch 6: Makefile and config files for the driver
> Patch 7: DM355 platform and board setup
> Patch 8: DM644x platform and board setup
> Patch 9: common vpss hw module for video drivers
> Patch 10: Remove outdated driver files from davinci git tree
> Patch 11: Makefile and config files for the davinci git tree (New
> from v2)
> 
> NOTE:
> 
> 1. Patches 10-11 are only for DaVinci GIT tree. Others applies to
> DaVinci GIT and v4l-dvb
> 
> 2. Dependent on the TVP514x decoder driver patch for migrating the
> driver to sub device model from Vaibhav Hiremath. I am sending the
> reworked version of this patch instead of Vaibhav.
> 
> Following tests are performed.
>       1) Capture and display video (PAL & NTSC) from tvp5146 decoder.
>          Displayed using fbdev device driver available on davinci git tree
>       2) Tested with driver built statically and dynamically
> 
> Muralidhara Karicheri
> 
> Reviewed by: Hans Verkuil <hverk...@xs4all.nl>
> Reviewed by: Laurent Pinchart <laurent.pinch...@skynet.be>
> Reviewed by: Alexey Klimov <klimov.li...@gmail.com>
> Reviewed by: Kevin Hilman <khil...@deeprootsystems.com>
> Reviewed by: David Brownell <davi...@pacbell.net>
> 
> Signed-off-by: Muralidharan Karicheri <m-kariche...@ti.com>
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source@linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

After applying this patch and enabling the driver I get a kernel panic
on every boot up on my DM355 EVM from Spectrum Digital. With some
experimentation I found that the panic only happens when I enable
CONFIG_VIDEO_DM355_CCDC. I have applied all but #6 in this series to the
davinci-linux git tree as well as v3 of the
TVP514x-Migration-to-sub-device-framework patch (which I believe is the
one mentioned in the second note. Does anything obvious that I might be
missing jump out at anyone? I've attached the log of the kernel panic.

Thanks in advance,
~Scott

-- 
Scott Sweeny
Linux Engineer
Timesys Corporation
Bytes transferred = 1551820 (17adcc hex)
## Booting image at 80700000 ...
   Image Name:   Linux-2.6.30-davinci1-05987-g3f6
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1551756 Bytes =  1.5 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing 
Linux...................................................................................................
 done, booting the kernel.
Linux version 2.6.30-davinci1-05987-g3f69672-dirty (sc...@scotbox) (gcc version 
4.3.3 (GCC) ) #10 PREEMPT Fri Jun 19 14:42:58 EDT 2009
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DM355 EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci dm355 variant 0x0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 29464
Kernel command line: mem=116M console=ttyS0,115200n8 root=/dev/nfs rw ip=dhcp 
video=davincifb:vid0=720x576x16,2500K:vid1=720x576x16,2500K:osd0=720x576x16,2025K
 davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=ntsc
Unknown boot option `davinci_enc_mngr.ch0_output=COMPOSITE': ignoring
Unknown boot option `davinci_enc_mngr.ch0_mode=ntsc': ignoring
NR_IRQS:224
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 116MB = 116MB total
Memory: 114332KB available (2724K code, 298K data, 120K init, 0K highmem)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 107.72 BogoMIPS (lpj=538624)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
DaVinci: 104 gpio irqs
net_namespace: 928 bytes
NET: Registered protocol family 16
MUX: initialized INT_EDMA_CC
MUX: Setting register INT_EDMA_CC
           INTMUX (0x00000018) = 0x00000000 -> 0x00000004
bio: create slab <bio-0> at 0
dm355evm_msp 1-0025: firmware v.A5, imager as video-in
vpss vpss: dm355_vpss vpss probed
vpss vpss: dm355_vpss vpss probe success
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
msgmni has been set to 223
io scheduler noop registered
io scheduler anticipatory registered (default)
DaVinci: Output on NTSC in COMPOSITE format, Enabled windows: Video0 Video1 
OSD0 OSD1
Setting Video0 size 720x480, position (0,0)
Setting Video1 size 720x480, position (0,0)
Setting OSD0 size 720x480, position (0,0)
Setting OSD1 size 720x480, position (0,0)
DM355 FBDEV Driver 
Setting Up Clocks for DM420 OSD
Console: switching to colour frame buffer device 90x30
fb0: dm_osd0_fb frame buffer device
fb1: dm_vid0_fb frame buffer device
fb2: dm_osd1_fb frame buffer device
fb3: dm_vid1_fb frame buffer device
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
console [ttyS0] enabled
serial8250 serial8250.0: unable to register port at index 1 (IO0 MEM1c20400 
IRQ41): -22
serial8250 serial8250.0: unable to register port at index 2 (IO0 MEM1e06000 
IRQ14): -22
brd: module loaded
dm9000 Ethernet Driver, V1.31
eth0 (dm9000): not using net_device_ops yet
eth0: dm9000a at c7814000,c7818002 IRQ 65 MAC: 00:0e:99:02:c7:7f (eeprom)
console [netcon0] enabled
netconsole: network logging started
i2c /dev entries driver
Linux video capture interface: v2.00
vpfe_init
vpfe-capture: vpfe vpss master clock enabled
vpfe-capture: vpfe vpss slave clock enabled
vpfe-capture vpfe-capture: v4l2 device registered
vpfe-capture vpfe-capture: video device registered
vpfe-capture vpfe-capture: No Subdevice data
vpfe-capture: vpfe vpss master & slave clocks disabled
dm644x_ccdc_init
vpfe_register_ccdc_device: DM6446 CCDC
dm355_ccdc_init
vpfe_register_ccdc_device: DM355 CCDC
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Clocks: disable unused mjcp
Clocks: disable unused uart1
Clocks: disable unused uart2
Clocks: disable unused asp0
Clocks: disable unused asp1
Clocks: disable unused mmcsd0
Clocks: disable unused mmcsd1
Clocks: disable unused spi0
Clocks: disable unused spi1
Clocks: disable unused spi2
Clocks: disable unused pwm0
Clocks: disable unused pwm1
Clocks: disable unused pwm2
Clocks: disable unused pwm3
Clocks: disable unused timer1
Clocks: disable unused timer3
Clocks: disable unused rto
Clocks: disable unused usb
eth0: link down
eth0: link up, 100Mbps, half-duplex, lpa 0x40A1
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 10.5.5.1, my address is 10.5.5.28
IP-Config: Complete:
     device=eth0, addr=10.5.5.28, mask=255.255.255.224, gw=10.5.5.1,
     host=harvey, domain=scotbox.timesys.com, nis-domain=(none),
     bootserver=10.5.5.1, rootserver=10.5.5.1, 
rootpath=/home/scott/timesys/dm355_evm/rfs
Looking up port of RPC 100003/2 on 10.5.5.1
Unable to handle kernel paging request at virtual address 00070010
pgd = c0004000
[00070010] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT
Modules linked in:
CPU: 0    Not tainted  (2.6.30-davinci1-05987-g3f69672-dirty #10)
PC is at __kmalloc+0x74/0xd4
LR is at __kmalloc+0x64/0xd4
pc : [<c008b878>]    lr : [<c008b868>]    psr: 20000093
sp : c6c1bdc0  ip : 00000018  fp : 00000000
r10: 00000200  r9 : c73c12f0  r8 : c0214d90
r7 : 000080d0  r6 : a0000013  r5 : 00070010  r4 : c02e6534
r3 : 00000000  r2 : c02e6000  r1 : c02e6534  r0 : 00000000
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 0005317f  Table: 80004000  DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc6c1a268)
Stack: (0xc6c1bdc0 to 0xc6c1c000)
bdc0: c73c12f0 c0302ffc c0302f40 c73c1200 00000009 c6c1be48 c0302ffc c0302f40 
bde0: c6cdf000 c0214d90 352e3031 312e352e c0172800 c02fbfa0 0000148a 0000002c 
be00: c02ed6d4 c02ed6d8 ffffffff ffffeb4a c02ed6d4 c6c1be20 00000011 00000000 
be20: c6c1bf90 00000010 00000011 00000010 00000000 c6c1bf90 c6c1bf90 00000000 
be40: 00000000 c0221c00 00000011 c6c1bf90 00000010 00000000 00000000 c6c1bde8 
be60: c0302f40 00000000 00000002 00000001 00000018 00000000 c6c1be98 c6c1be9c 
be80: 00000011 000186a3 00000002 c022212c 00000002 c02b3961 00000005 00000000 
bea0: 000186a3 00000002 00000011 00000000 00000000 00000000 00000000 00000000 
bec0: c0302db4 c6c1be9c c6c1beac 00000000 c0021838 00000002 00000001 00000011 
bee0: 00000000 c0014f84 c009ffac c0033224 c6c09000 00000000 00000000 c6c1bf5c 
bf00: 00000000 c6c1bf10 c009dd74 c0033224 00000000 c6c1bf20 00000000 c6c1bf28 
bf20: 00000000 c02e66f0 c0408100 c008b228 c6c03200 c00a50c8 fffffffe 00000000 
bf40: c6805980 00000000 00000000 c00995b8 00000000 c6c03200 c6801080 93825d88 
bf60: 0000000c c6c09001 00000000 00000000 00000000 00000001 c02ef270 c0291508 
bf80: c02ef288 5c2d2f7c c0020840 c0026660 6f000002 0105050a c002083c 00000000 
bfa0: 00000000 c0303dc4 c002083c 00000000 00000000 00000000 00000000 c0008f34 
bfc0: c0020840 c0303dc4 c002083c c0009180 c0303db8 c001f54c 00000000 c0303db8 
bfe0: c001f54c c0008408 00000000 00000000 00000000 c003dc70 00210000 ffffffff 
[<c008b878>] (__kmalloc+0x74/0xd4) from [<c0214d90>] (rpc_create+0x1c8/0x400)
[<c0214d90>] (rpc_create+0x1c8/0x400) from [<c0221c00>] (rpcb_create+0x80/0x8c)
[<c0221c00>] (rpcb_create+0x80/0x8c) from [<c022212c>] 
(rpcb_getport_sync+0xa4/0x100)
[<c022212c>] (rpcb_getport_sync+0xa4/0x100) from [<c0014f84>] 
(nfs_root_data+0x17c/0x394)
[<c0014f84>] (nfs_root_data+0x17c/0x394) from [<c0008f34>] 
(mount_root+0x1c/0x104)
[<c0008f34>] (mount_root+0x1c/0x104) from [<c0009180>] 
(prepare_namespace+0x164/0x1c8)
[<c0009180>] (prepare_namespace+0x164/0x1c8) from [<c0008408>] 
(kernel_init+0xbc/0xec)
[<c0008408>] (kernel_init+0xbc/0xec) from [<c003dc70>] (do_exit+0x0/0x634)
[<c003dc70>] (do_exit+0x0/0x634) from [<c6c18000>] (0xc6c18000)
Code: e5945080 e594a090 e3550000 1594308c (17953103) 
---[ end trace e83bec807421afa2 ]---
Kernel panic - not syncing: Attempted to kill init!
[<c002b690>] (unwind_backtrace+0x0/0xdc) from [<c022ba04>] (panic+0x3c/0x120)
[<c022ba04>] (panic+0x3c/0x120) from [<c003dcd4>] (do_exit+0x64/0x634)
[<c003dcd4>] (do_exit+0x64/0x634) from [<c002a638>] (die+0x164/0x184)
[<c002a638>] (die+0x164/0x184) from [<c002c5a4>] (__do_kernel_fault+0x68/0x80)
[<c002c5a4>] (__do_kernel_fault+0x68/0x80) from [<c002c7d0>] 
(do_page_fault+0x214/0x234)
[<c002c7d0>] (do_page_fault+0x214/0x234) from [<c002623c>] 
(do_DataAbort+0x30/0x90)
[<c002623c>] (do_DataAbort+0x30/0x90) from [<c0026a0c>] (__dabt_svc+0x4c/0x60)
Exception stack(0xc6c1bd78 to 0xc6c1bdc0)
bd60:                                                       00000000 c02e6534 
bd80: c02e6000 00000000 c02e6534 00070010 a0000013 000080d0 c0214d90 c73c12f0 
bda0: 00000200 00000000 00000018 c6c1bdc0 c008b868 c008b878 20000093 ffffffff 
[<c0026a0c>] (__dabt_svc+0x4c/0x60) from [<c008b868>] (__kmalloc+0x64/0xd4)
[<c008b868>] (__kmalloc+0x64/0xd4) from [<c0214d90>] (rpc_create+0x1c8/0x400)
[<c0214d90>] (rpc_create+0x1c8/0x400) from [<c0221c00>] (rpcb_create+0x80/0x8c)
[<c0221c00>] (rpcb_create+0x80/0x8c) from [<c022212c>] 
(rpcb_getport_sync+0xa4/0x100)
[<c022212c>] (rpcb_getport_sync+0xa4/0x100) from [<c0014f84>] 
(nfs_root_data+0x17c/0x394)
[<c0014f84>] (nfs_root_data+0x17c/0x394) from [<c0008f34>] 
(mount_root+0x1c/0x104)
[<c0008f34>] (mount_root+0x1c/0x104) from [<c0009180>] 
(prepare_namespace+0x164/0x1c8)
[<c0009180>] (prepare_namespace+0x164/0x1c8) from [<c0008408>] 
(kernel_init+0xbc/0xec)
[<c0008408>] (kernel_init+0xbc/0xec) from [<c003dc70>] (do_exit+0x0/0x634)
[<c003dc70>] (do_exit+0x0/0x634) from [<c6c18000>] (0xc6c18000)
_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to