I tried to port the davinci 644x sdio stack to dm355 in an effort to evaluate 
the performance compared to the mmc/sd support inbuilt in the demo kernel 
provided by ti with dm355. I built the sdio drivers as modules as suggested in 
the  documentation. The kernel and the modules did build without any errors, 
although i get errors trying to insert the sdio_davinci_hcd.ko module.

I did disable the inbuilt mmc support before building the kernel. Is there any 
other things you can suggest that i should be looking at for the port?

Thanks in advance...
 

[EMAIL PROTECTED]:/opt/sdio# insmod sdio_lib.ko 
SDIO Library load
[EMAIL PROTECTED]:/opt/sdio# insmod sdio_busdriver.ko
[EMAIL PROTECTED]:/opt/sdio#
[EMAIL PROTECTED]:/opt/sdio# insmod sdio_davinci_hcd.ko 
Unable to handle kernel NULL pointer dereference at virtual address 00000012
pgd = c58c0000
[00000012] *pgd=85888031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1]
Modules linked in: sdio_davinci_hcd sdio_busdriver sdio_lib
CPU: 0
PC is at __clk_use+0xc/0x20
LR is at clk_use+0x34/0x60
pc : [<c0044718>]    lr : [<c0044840>]    Not tainted
sp : c591bdc8  ip : c591bdd8  fp : c591bdd4
r10: 00000000  r9 : 0000001a  r8 : 00000000
r7 : 00000000  r6 : 0000001b  r5 : a0000013  r4 : c591a000
r3 : 00000001  r2 : 0000004d  r1 : c591a000  r0 : fffffffe
Flags: NzCv  IRQs off  FIQs on  Mode SVC_32  Segment user
Control: 5317F  Table: 858C0000  DAC: 00000015
Process insmod (pid: 1112, stack limit = 0xc591a1a0)
Stack: (0xc591bdc8 to 0xc591c000)
bdc0:                   c591bdf4 c591bdd8 c0044840 c004471c 0000001b fffffffe 
bde0: c5915c00 0000001b c591be44 c591bdf8 bf01270c c004481c c0fc9e60 bf012fdf 
be00: c0051ca0 c0fc9e60 c5915c00 bf0158c0 00000000 bf015598 bf0155b8 4b87ad6e 
be20: c5915c00 bf015970 00000000 bf015598 bf0155b8 00000000 c591be7c c591be48 
be40: bf01211c bf0126d4 00000000 c013f190 c0fc9a40 00000000 bf0155b8 bf0158c0 
be60: c02f5150 bf0158c0 c591a000 00000001 c591be9c c591be80 c015237c bf011e3c 
be80: c591be9c bf0158d4 bf0155b8 c02f51b0 c591beb4 c591bea0 c01758e0 c01522d0 
bea0: bf015904 bf0155b8 c591bed4 c591beb8 c0175960 c017589c c591bed4 bf0155b8 
bec0: bf00f240 bf0155b8 c591befc c591bed8 c0175b18 c0175910 c0178610 bf0155b8 
bee0: bf00f240 bf0155dc 00000000 bf0158c0 c591bf1c c591bf00 c0174a94 c0175acc 
bf00: bf0155b8 c0fc9f60 bf0155b8 bf00f56c c591bf34 c591bf20 c0151674 c0174a1c 
bf20: 00000000 c0fc9f60 c591bf5c c591bf38 bf00b398 c01515e4 bf0155a4 c02ec308 
bf40: c591a000 c02ec2f8 00000000 00000002 c591bf74 c591bf60 bf017064 bf00b1cc 
bf60: c02ec308 bf015a40 c591bfa4 c591bf78 c006de74 bf017010 c591bfa4 00008f08 
bf80: 00012018 00000003 00000080 c00362f4 c591a000 00900080 00000000 c591bfa8 
bfa0: c0035b60 c006dcb4 00008f08 00012018 00012018 00005d29 00012008 00004000 
bfc0: 00008f08 00012018 00000003 befffc9c 00008000 00000000 00012008 00000000 
bfe0: 400d0740 befffc8c 00008dbc 400d074c 60000010 00012018 00000000 fffb73ff 
Backtrace: 
[<c004470c>] (__clk_use+0x0/0x20) from [<c0044840>] (clk_use+0x34/0x60)
[<c004480c>] (clk_use+0x0/0x60) from [<bf01270c>] (InitDavinci+0x48/0x2dc 
[sdio_davinci_hcd])
 r6 = 0000001B  r5 = C5915C00  r4 = FFFFFFFE 
[<bf0126c4>] (InitDavinci+0x0/0x2dc [sdio_davinci_hcd]) from [<bf01211c>] 
(Probe+0x2f0/0x48c [sdio_davinci_hcd])
[<bf011e2c>] (Probe+0x0/0x48c [sdio_davinci_hcd]) from [<c015237c>] 
(pnp_device_probe+0xbc/0xe8)
[<c01522c0>] (pnp_device_probe+0x0/0xe8) from [<c01758e0>] 
(driver_probe_device+0x54/0x74)
 r6 = C02F51B0  r5 = BF0155B8  r4 = BF0158D4 
[<c017588c>] (driver_probe_device+0x0/0x74) from [<c0175960>] 
(device_attach+0x60/0xa4)
 r5 = BF0155B8  r4 = BF015904 
[<c0175900>] (device_attach+0x0/0xa4) from [<c0175b18>] 
(bus_add_device+0x5c/0x10c)
 r6 = BF0155B8  r5 = BF00F240  r4 = BF0155B8 
[<c0175abc>] (bus_add_device+0x0/0x10c) from [<c0174a94>] 
(device_add+0x88/0x11c)
 r8 = BF0158C0  r7 = 00000000  r6 = BF0155DC  r5 = BF00F240
 r4 = BF0155B8 
[<c0174a0c>] (device_add+0x0/0x11c) from [<c0151674>] 
(__pnp_add_device+0xa0/0xc8)
 r7 = BF00F56C  r6 = BF0155B8  r5 = C0FC9F60  r4 = BF0155B8
[<c01515d4>] (__pnp_add_device+0x0/0xc8) from [<bf00b398>] 
(SDIO_BusAddOSDevice+0x1dc/0x2b0 [sdio_busdriver])
 r5 = C0FC9F60  r4 = 00000000 
[<bf00b1bc>] (SDIO_BusAddOSDevice+0x0/0x2b0 [sdio_busdriver]) from [<bf017064>] 
(sdio_local_hcd_init+0x64/0xec [sdio_davinci_hcd])
[<bf017000>] (sdio_local_hcd_init+0x0/0xec [sdio_davinci_hcd]) from 
[<c006de74>] (sys_init_module+0x1d0/0x3e0)
 r4 = BF015A40 
[<c006dca4>] (sys_init_module+0x0/0x3e0) from [<c0035b60>] 
(ret_fast_syscall+0x0/0x2c)
Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5d03014) 
 <6>note: insmod[1112] exited with preempt_count 1
BUG: scheduling while atomic: insmod/0x00000001/1112
caller is do_exit+0xd3c/0xda0
Segmentation fault

       
_______________________________________________
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