[pxc] Kernel messages...

Alessandro Rubini rubini@gnu.org
Wed, 20 Feb 2002 12:38:39 +0100


Hello.

> I've been running with these errors for awhile, but feel uneasy...

This stuff is occurring only of some of my systems and only sometimes.
I haven't been able to track it down.

I didn't want to just ignore the issue, so I changed the reporting to
be both more informative and less demanding on the logs (it logs only
once a second, detailing the error bits for this event and the number
of unexpected interrupts it got during the last second).

What happens is that the device sends an interrupt with error bits set
(and possibly with no interesting bits set).  The meaning of those
bits is detailed in the 848/878 data sheets.

> Feb 20 09:18:17 babel kernel: pxc200:     irq bit 02: hsync

hsync isn't relevant, because it happens duting normal operation.

> Feb 20 09:18:17 babel kernel: pxc200:     irq bit 03: overflow

This is an overflow in pixel data (brighter than white), IIRC.

> Feb 20 09:18:17 babel kernel: pxc200:     irq bit 12: fifo overrun, drop data

This is bad. It means some pixel data is lost, as the 8?8 fifo has
been overrun before the DMA controller could save data to memory. When
this happens you should have partial lines on your image, but
sometimes I see no real problem in the image -- and I don't understand
why.

> Feb 20 09:18:17 babel kernel: pxc200:     irq bit 11: RISC irq

This is the good interrupt. It's only reported when it happens together
with bad interrupt bits.

> Feb 20 09:18:17 babel kernel: pxc200:     irq bit 18: opcode error

This is very bad. Looks like the DMA operations to read the program
failed.



Summary: it looks like the device can't keep up with the DMA flow that
is required for proper operation. This happened once to me on a 486,
and I could really get no useful image on that computer. Therefore I
stopped using it for testing frame grabber drivers.

But sometimes it also happens on a production computer where there is
no artifact in the acquired images. I really can't tell what is going
on.

/alessandro