On Sunday 09 March 2008 00:26:55 Andy Walls wrote:
> Hans,
>
> Can you shed some light on what this error code 0x20100004 means in
> the following context? The cx23418.h and cx18-mailbox.h files don't
> make it obvious, aside from saying it really is a failure since (err
> & 0xff) != 0 and that its of the type "ERR_DE_...".
Yuck. The error is "MDL queue full", so apparently there is an
(undocumented) MDL queue limit.
This just might cause all sorts of mayhem.
You want to take a look at cx18_stream_init():
s->buf_size = cx->stream_buf_size[type];
if (s->buf_size)
s->buffers = cx->options.megabytes[type] * 1024 * 1024 / s->buf_size;
Try to change it to something like this:
if (s->buf_size) {
s->buffers = cx->options.megabytes[type] * 1024 * 1024 / s->buf_size;
if (s->buffers > 64) { // or 63 is that's the max queue length
s->buffers = 64;
s->buf_size =
(cx->options.megabytes[type] * 1024 * 1024 / s->buffers) & ~0xff;
}
}
See if this works better.
Thank you for your work on this, I'm still working on ivtv issues and I
don't think I'll have time for more cx18 work until after Easter. But
if you have any questions, just mail me and I'll try to answer them.
Regards,
Hans
>
> ... cx18_start_v4l2_encode_stream() causes these lines for the MPEG
> stream Mar 8 13:45:11 palomino kernel: cx180 api:
> CX18_CPU_DE_SET_MDL Mar 8 13:45:11 palomino kernel: cx180 api: req:
> 0x0000005d args: 0x00000000 0x00dc0ea0 0x00000001 0x0000003e
> 0x00008000 Mar 8 13:45:11 palomino kernel: cx180 api: ack:
> 0x0000005d args: 0x00000000 0x00dc0ea0 0x00000001 0x0000003e
> 0x00008000 0x00000000 error: 0x00000000 Mar 8 13:45:11 palomino
> kernel: cx180 api: CX18_CPU_DE_SET_MDL Mar 8 13:45:11 palomino
> kernel: cx180 api: req: 0x0000005e args: 0x00000000 0x00dc0ea8
> 0x00000001 0x0000003f 0x00008000 Mar 8 13:45:11 palomino kernel:
> cx180 api: ack: 0x0000005e args: 0x00000000 0x00dc0ea8 0x00000001
> 0x0000003f 0x00008000 0x00000000 error: 0x20100004 Mar 8 13:45:11
> palomino kernel: cx18-0 api: CX18_CPU_CAPTURE_START
>
> The 64th attempt to set a 1 buffer MDL before starting the capture
> always errors out, and the encoder doesn't appear to use that buffer
> id during the capture.
>
> (The attached diff can be used if you wish to try and duplicate the
> debug output.)
>
>
> Thanks,
> Andy
_______________________________________________
ivtv-devel mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-devel