DSP pipeline fails to allocate memory

Hey all
I'm hoping somebody out there might be able to give me a hand getting
this DSP up and running, cause frankly I'm no longer sure what to try.

First off I'm using the image from the online image builder, it has a
2.26..29-omap1 build of the kernel
Angstrom 2009.X-test-20090508 beagleboard ttyS2

This is what I have been doing...
Load the modules...
root@beagleboard:~# modprobe dsplinkk
[ 71.484466] DSPLINK Module (1.61.03) created on Date: May 11 2009
Time: 08:28:50

root@beagleboard:~# modprobe cmemk phys_start=0x95800000
phys_end=0x96800000
pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000
[ 157.219665] cmemk: disagrees about version of symbol init_mm
[ 157.225433] cmemk: Unknown symbol init_mm
FATAL: Error inserting cmemk (/lib/modules/2.6.29-omap1/kernel/drivers/
dsp/cmemk
.ko): Unknown symbol in module, or unknown parameter (see dmesg)

root@beagleboard:~#
root@beagleboard:~# modprobe -f cmemk phys_start=0x95800000
phys_end=0x96800000
pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000
[ 169.767517] cmemk: no version for "struct_module" found: kernel
tainted.
[ 169.780029] CMEMK module: built on May 11 2009 at 08:30:11
[ 169.785614] Reference Linux version 2.6.29
[ 169.789916] File /OE/angstrom-dev/work/beagleboard-angstrom-linux-
gnueabi/t
i-codec-engine-223-r32/codec_engine_2_23_01/cetools/packages/ti/sdo/
linuxutils/c
mem/src/module/cmemk.c
[ 169.807342] ioremap_nocache(0x95800000, 16777216)=0xd1000000
[ 169.813232] allocated heap buffer 0xd1000000 of size 0x522000
[ 169.819030] cmem initialized 6 pools between 0x95800000 and
0x96800000

root@beagleboard:~#
root@beagleboard:~# modprobe sdmak
[ 186.833618] SDMAK module: built on May 11 2009 at 08:30:14
[ 186.839172] Reference Linux version 2.6.29
[ 186.843536] File /OE/angstrom-dev/work/beagleboard-angstrom-linux-
gnueabi/t
i-codec-engine-223-r32/codec_engine_2_23_01/cetools/packages/ti/sdo/
linuxutils/
i-codec-engine-223-r32/codec_engine_2_23_01/cetools/packages/ti/sdo/
linuxutils/s
dma/src/module/sdmak.c

root@beagleboard:~#
root@beagleboard:~# gst-launch videotestsrc ! TIDmaiVideoSink
videoStd=VGA video Output=lcd displayStd=v4l2 displayDevice=/dev/
video2
(gst-launch-0.10:1862): GStreamer-WARNING **: Failed to load plugin '/
usr/lib/gs
treamer-0.10/libgstsubparse.so': /usr/lib/gstreamer-0.10/
libgstsubparse.so: unde
fined symbol: parse_sami
CMEM Error: init: major version mismatch between interface and driver.
CMEM Error: needs driver version 0x2200000, got 0x2300000
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
Failed to allocate memory.
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 46386722 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...
root@beagleboard:~#

I'm just learning how to work with DSP stuff for the first time so any
help would be greatly appreciated,

Breimer.B wrote:

Hey all
I'm hoping somebody out there might be able to give me a hand getting
this DSP up and running, cause frankly I'm no longer sure what to try.

First off I'm using the image from the online image builder, it has a
2.26..29-omap1 build of the kernel
Angstrom 2009.X-test-20090508 beagleboard ttyS2

root@beagleboard:~# modprobe cmemk phys_start=0x95800000
phys_end=0x96800000
pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000
[ 157.219665] cmemk: disagrees about version of symbol init_mm
[ 157.225433] cmemk: Unknown symbol init_mm
FATAL: Error inserting cmemk (/lib/modules/2.6.29-omap1/kernel/drivers/
dsp/cmemk
.ko): Unknown symbol in module, or unknown parameter (see dmesg)

cmem does not load cleanly, rebuild it for your kernel

CMEM Error: init: major version mismatch between interface and driver.
CMEM Error: needs driver version 0x2200000, got 0x2300000

again, this cmem is not good.

I saw that error, but I'm not sure how to fix it. This module came
from the feeds and I'm not sure how to compile my own version or even
where the source code from. Any suggestions of where I could learn how
to do this?

Op 23 jun 2009, om 18:00 heeft Vladimir Pantelic het volgende geschreven:

Breimer.B wrote:

Hey all
I'm hoping somebody out there might be able to give me a hand getting
this DSP up and running, cause frankly I'm no longer sure what to try.

First off I'm using the image from the online image builder, it has a
2.26..29-omap1 build of the kernel
Angstrom 2009.X-test-20090508 beagleboard ttyS2

root@beagleboard:~# modprobe cmemk phys_start=0x95800000
phys_end=0x96800000
pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000
[ 157.219665] cmemk: disagrees about version of symbol init_mm
[ 157.225433] cmemk: Unknown symbol init_mm
FATAL: Error inserting cmemk (/lib/modules/2.6.29-omap1/kernel/drivers/
dsp/cmemk
.ko): Unknown symbol in module, or unknown parameter (see dmesg)

cmem does not load cleanly, rebuild it for your kernel

Or use the kernel in /boot, that should match the module version

regards,

Koen

I am actually, I had problems with u-boot before and I solved them by
using the uImage in /boot to boot the system

So I double checked that I was using the uImage from /boot and I am.
Looking around on TI's wiki's they suggested that I could check to see
if the strings were the same using the below...

root@beagleboard:/lib/modules/2.6.29-omap1/kernel/drivers/dsp# strings
cmemk.ko | grep vermagic
vermagic=2.6.29-omap1 mod_unload modversions ARMv7

Then using uname -r I get...
root@beagleboard:/lib/modules/2.6.29-omap1/kernel/drivers/dsp# uname -
a
Linux beagleboard 2.6.29-omap1 #1 Wed May 27 18:45:15 CEST 2009 armv7l
GNU/Linux

So I dont understand why it complains about the symbol..

How would I go about rebuilding cmemk against my kernel?
Sorry if this is really obvious but I'm kinda lost on this DSP stuff

For others with this problem I'm no longer getting the "failed to
allocate memory" issue, not sure how I fixed that ... lol
BUT after fixing that I found that it would still hang as it tried to
unroll the pipeline.
I tried cd'ing to /usr/share/ti-codec-combos where the codecs were
kept in the 2.6.28 kernel before launching the video.
To my surprise the folder didn't exist, so I copied it over from the
2.6.28 version and tried again
This time it gave the error

CMEM Error: CMEM_exit() already called, check stderr output for
earlier CMEM failure messages (possibly version mismatch).
[ 5260.788635] Version mismatch between GPP and DSP-side
[ 5260.793762] GPP-side version [1.61.03]:
[ 5260.798278] DSP-side version [1.60]:

So I'm hoping that once I figure out how to update the DSP side to
1.61.03 it might work?
Also if anyone knows how to update the DSP side or were I might start
looking, your input would be appreciated