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

Reply via email to