[ivtv-devel] CX23416 + SAA7174

Hans Verkuil hverkuil at xs4all.nl
Wed Feb 1 23:53:10 CET 2006


On Tuesday 31 January 2006 18:10, Maksym Veremeyenko wrote:
> Dear ivtv developers!
>
> I have a "GoTView PCI DVD" board that is the same
> "Yuan MPG600GR/Kuroutoshikou CX23416GYC-STVLP" except it has PAL
> version SAA7174. It's has the same PCI ids, board layout and colour.
>
> I use latest trunk version software.
>
> The problem is the output of /dev/video0 either contains MPEG stream
> with garbage video or nothing. In first case CX23416 generate IRQs,
> makes DMA transfer, in second no irqs happen (seems driver waiting
> for interrupt to start/stop DMA transfer):
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: API Call: 0x00000081
> (CX2341X_ENC_START_CAPTURE)
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: result not ready, waiting 10
> ms (attempt 2)
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: Releasing mailbox (before
> 0x00000007, after 0x00000000)
> Jan 31 18:49:36 dev-2 kernel: ivtv0 info: ivtv_read: stream 0..
> Jan 31 18:49:36 dev-2 kernel: ivtv0 info: ENC: 128 bufs, 0x00000000
> fill; 128 free 0 dma 0 full 0 io
> Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: deqbuf: 0 DeQ from empty
> list! Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: deqbuf: 0 DeQ from
> empty list! Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: Gather 1: x=0
> bytes_needed 0x00001000 buf_fill 0x00000000
> Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: deqbuf: 0 DeQ from empty
> list! Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: deqbuf: 0 DeQ from
> empty list! Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: Gather 1: x=0
> bytes_needed 0x00001000 buf_fill 0x00000000
> Jan 31 18:49:36 dev-2 kernel: ivtv0 info: ENC: User stopped capture.
> Jan 31 18:49:36 dev-2 kernel: ivtv0 info: v4l2 close
> Jan 31 18:49:36 dev-2 kernel: ivtv0 info: close stopping capture
> Jan 31 18:49:36 dev-2 kernel: ivtv0 info: Stop Capture
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: API Call: 0x00000082
> (CX2341X_ENC_STOP_CAPTURE)
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: Releasing mailbox (before
> 0x00000007, after 0x00000000)
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: API Call: 0x000000dc
> (CX2341X_ENC_MISC)
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: API Call: 0x000000c6
> (CX2341X_ENC_GET_SEQ_END)
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: cmd: 0x000000c6 not stored
> Jan 31 18:49:36 dev-2 kernel: ivtv0 api: Releasing mailbox (before
> 0x00000007, after 0x00000000)
> Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: ENC: Last DMA of size
> 0x00000000 Jan 31 18:49:36 dev-2 kernel: ivtv0 irq: ENC: IRQ Mask is
> now: 0xf3faffff Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: Flush Queue
> Stream 0, 0x00000000 bytes full, 0x00400000 total
> Jan 31 18:49:36 dev-2 kernel: ivtv0 dma: deqbuf: 0 DeQ from empty
> list!
>
>
> The questions:
> - What happen with if CX23416 input ITU 656 stream is wrong (or
> different from codec settings, or unrecognized)? Does it stop coder
> and do no IRQ of data transfer?

What you see is a likely consequence of a wrong standard being sent to 
the cx23416.

> - If i use YUV output (video32), is possible to detect wrong stream
> on CX23416 input.

That will probably also fail in a similar fashion.

> - Why does saa717X basen on saa7115 instead of saa7134-i2c.
> SAA7174/73 is similar to SAA7134 without PCI core.

The current driver was reversed engineered for Japanese cards (which use 
NTSC) and only recently added. No datasheets are available for the 
saa7174. I do not know why saa7134 was not used as the starting point, 
but the saa717x driver will definitely undergo major changes. It needs 
a lot of work.

> - Is possible wrong configuration of SAA717X output cause such
> misbehavior?

Yes.

> I am going to reinspect saa717x with "SAA7130_34_User_Manual_V1.0"..

Is there a way I can obtain one of these cards for testing? Without 
having a card like this it's going to be hard work to make it function 
properly. Unless someone else is willing to put in the time to do it.

	Hans



More information about the ivtv-devel mailing list