Greetings,

has anyone ever successfully run ivtv on an ARM processor?  I'm running linux 
2.6.18.6 on an IXP425 xscale CPU and a YUAN MPC622 card (cx23416) and am having 
issues with DMA.  I'm not sure the arm-linux architecture supports the 
scatter-gather DMA being used.  I've tried to force using PIO via #define 
IVTV_ENC_PIO 1 but that seems to fail as well.

Before I post a question to the arm-linux list any suggestions or explanations 
of what ivtv is using for DMA (looks like scatter-gather dma list?).

Here's what I get when I modprobe ivtv ivtv_debug=8 using DMA:

Linux video capture interface: v2.00
ivtv:  ==================== START INIT IVTV ====================
ivtv:  version 0.8.2 (tagged release) loading
ivtv:  Linux version: 2.6.18.6 mod_unload ARMv5 gcc-3.4
ivtv:  In case of problems please include the debug info between
ivtv:  the START INIT IVTV and END INIT IVTV lines, along with
ivtv:  any module options, when mailing the ivtv-users mailinglist.
ivtv0: Autodetected Yuan MPC622 card (cx23416 based)
PCI: enabling device 0000:00:02.0 (0140 -> 0142)
ivtv0: Unreasonably low latency timer, setting to 64 (was 0)
ivtv0: loaded v4l-cx2341x-enc.fw firmware (262144 bytes)
tuner_probe: probing i2c adapter ivtv i2c driver #0
tuner 0-004b: chip found @ 0x96 (ivtv i2c driver #0)
cx25840 0-0044: cx25843-23 found @ 0x88 (ivtv i2c driver #0)
cx25840 0-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
ivtv0: Encoder revision: 0x02050032
ivtv0: Registered device video0 for encoder MPEG
ivtv0: Registered device video32 for encoder YUV
ivtv0: Registered device vbi0 for encoder VBI
ivtv0: Registered device video24 for encoder PCM audio
tuner 0-004b: setting tuner address to 61
tuner 0-004b: type set to tda8290+75a
ivtv0: Initialized Yuan MPC622, card #0
ivtv:  ====================  END INIT IVTV  ====================
# v4l-ctl -i 2
Video input set to 2 (Composite 1)
# cat /dev/video0 > /var/tmp/test.cmp
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: Gather 1: x=0 bytes_needed 0x00002000 buf_fill 0x00000000
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: Gather 1: x=0 bytes_needed 0x00002000 buf_fill 0x00000000
ivtv0 dma: ENC: Sched DMA
ivtv0 dma: Sched dma: addr: 0x00352000, SG_length: 1, array_size 0x00008000, 
type 0x00000000
ivtv0 dma: ENC: DMA Done
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: Gather 1: x=1 bytes_needed 0x00002000 buf_fill 0x00007fc0
ivtv0 dma: Gather 1: x=1 bytes_needed 0x00002000 buf_fill 0x00005fc0
ivtv0 dma: Gather 1: x=1 bytes_needed 0x00002000 buf_fill 0x00003fc0
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: Gather 1: x=1 bytes_needed 0x00002000 buf_fill 0x00001fc0
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: Gather 1: x=0 bytes_needed 0x00002000 buf_fill 0x00000000
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: Gather 1: x=0 bytes_needed 0x00002000 buf_fill 0x00000000
ivtv0 dma: Flush Queue Stream 0, 0x00000000 bytes full, 0x00100000 total
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: deqbuf: 0 DeQ from empty list!
ivtv0 dma: Flush Queue Stream 0, 0x00000000 bytes full, 0x00100000 total

produces invalid mpeg.  Occasionally hangs waiting for DMA to complete


Thanks,

Tim



_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel

Reply via email to