What sort of hardware are you running on? Are you using a cpuspeed type
of program?
Hans
On Saturday 26 August 2006 15:37, Michael Zanetti wrote:
> Hi!
>
> I got some results now.
>
> After recording with both tuners, commflagging and watching now I see
> the following errors:
>
> Aug 26 13:47:12 Knuckles ivtv0 warning: ENC: (0) DMA Error 0x0000000b
> 00420001
> Aug 26 13:47:12 Knuckles ivtv0 warning: offset 108 -> 128
> Aug 26 13:47:12 Knuckles ivtv0 warning: offset 128 -> 48
> Aug 26 13:47:16 Knuckles ivtv0 warning: DMA err b
> Aug 26 13:47:16 Knuckles ivtv0 warning: ENC: (0) DMA Error 0x0000000b
> 00420025
> Aug 26 13:47:16 Knuckles ivtv0 warning: ENC: (1) DMA Error 0x0000000b
> 00420005
> Aug 26 13:47:16 Knuckles ivtv0 warning: offset 48 -> 128
> Aug 26 13:47:17 Knuckles ivtv0 warning: offset 128 -> 0
> Aug 26 13:47:22 Knuckles ivtv1 warning: ENC: (0) DMA Error 0x0000000b
> 00020001
> Aug 26 13:47:22 Knuckles ivtv1 warning: offset 76 -> 128
> Aug 26 13:47:22 Knuckles ivtv1 warning: offset 128 -> 52
> Aug 26 13:47:56 Knuckles ivtv0 warning: ENC: (0) DMA Error 0x0000000b
> 00420001
> Aug 26 13:47:56 Knuckles ivtv0 warning: offset 0 -> 128
> Aug 26 13:47:56 Knuckles ivtv0 warning: ENC: (0) DMA Error 0x0000000b
> 00420005
> Aug 26 13:47:56 Knuckles ivtv0 warning: offset 128 -> 116
> Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: REG_DMAXFER 2 wait
> failed Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: (0) DMA Error
> 0x00000001 00400005
> Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: REG_DMAXFER 2 wait
> failed Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: (1) DMA Error
> 0x00000001 00400001
> Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: REG_DMAXFER 2 wait
> failed Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: (2) DMA Error
> 0x00000001 00400005
> Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: REG_DMAXFER 2 wait
> failed Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: (3) DMA Error
> 0x00000001 00400005
> Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: REG_DMAXFER 2 wait
> failed Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: (4) DMA Error
> 0x00000001 00400005
> Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: REG_DMAXFER 2 wait
> failed Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: (5) DMA Error
> 0x00000001 00400001
> Aug 26 13:47:58 Knuckles ivtv0 warning: ENC: REDO DMA took too many
> tries.
> Aug 26 13:47:58 Knuckles ivtv0 warning: Error Encoder DMA
>
> The first tuner crashed. commflagging immediately produces this
> error.
>
> Without commflagging the cards didn't crash until now. I think the
> hight disk access from mythcommflag produces too many DMA-errors.
>
>
> Tomorrow I will test the PVR-350 decoder.
>
> Thanks again for your efforts!
> Michael
>
> Am 25.08.2006 um 18:49 schrieb Hans Verkuil:
> > Hi all,
> >
> > As promised, here is the patch that should fix the DMA errors:
> >
> > http://www.xs4all.nl/~hverkuil/ivtv-dma.0.4.diff
> > http://www.xs4all.nl/~hverkuil/ivtv-dma.0.6.diff
> >
> > The first is the patch for ivtv-0.4.6, the second is the patch for
> > ivtv-0.6.3 and ivtv-0.7.0 (and also applies to the ivtv trunk).
> >
> > The patches were made in the driver directory of the ivtv source,
> > so you
> > have to apply it there.
> >
> > I have personally only tested it for the trunk (bleeding edge
> > development), but I expect no problems with the other versions
> > since the code touched by this patch is pretty much unchanged since
> > ivtv-0.2.
> >
> > Please test this thoroughly. Especially in combination with MythTV.
> > If you can, also combine it with MPEG decoding, VBI recording,
> > X-driver, etc.
> >
> > Some background information:
> >
> > There are several possible DMA errors. One in particular is causing
> > all
> > the problems. When a DMA write error occurs it seems the DMA engine
> > of the card gets confused as to what the start address is of the
> > card's buffers. After the DMA error the start of a buffer is set
> > between 0 and
> > 128 bytes before the actual start. Luckily for me it is not
> > trashed, but always limited between 0 and 128 bytes.
> >
> > So my solution is to write a special 32-bit start marker value at
> > the start of the buffer on the card (taking care to first read the
> > original
> > value), then start the DMA, but making the total size 256 bytes
> > more than is strictly necessary.
> >
> > When the DMA is finished I check whether I detect the marker value
> > at the expected place. If not, then I look for it in the first 128
> > bytes. The place where I find the marker is the new offset. I now
> > replace the marker with the original value I saved earlier and I
> > have a complete buffer. Because I actually DMA a bit more than is
> > needed, I still have all data, even if it is shifted the maximum of
> > 128 bytes. Without the extra DMA length the latter 128 bytes might
> > never be copied by the DMA engine, so that's the reason for the
> > extra length.
> >
> > This solution is very fast so there is no performance penalty.
> >
> > During stress testing (lots of CPU frequency changes) you will see
> > these
> > DMA errors occurring, but rather than giving you a broken MPEG
> > stream the DMA will be retried and the new offset found to keep the
> > MPEG stream uncorrupted. If you get a burst of these DMA errors
> > (again, we're talking continuous CPU frequency changes here, not a
> > normal situation), then some corruption may occur but it should be
> > only for a few frames.
> >
> > As far as I can tell this particular DMA error is now handled
> > correctly.
> >
> > Unfortunately there is still a 'ENC: REG_DMAXFER 2 wait failed'
> > error where it looks like the complete DMA engine is stalled.
> > Again, reboot is the only option. It only occurs during a very
> > heavy load and I don't
> > think it will happen during normal operation.
> >
> > I'm not sure whether this can be fixed at the moment. There are
> > still some problems with the way the current DMA handling is done
> > with possible race conditions. I need more research and testing to
> > determine
> > whether this is something that can be solved.
> >
> > Please keep me informed on how this works, if the test results are
> > positive then I'll make new releases next week.
> >
> > Enjoy (I hope :-),
> >
> > Hans
> >
> > _______________________________________________
> > ivtv-users mailing list
> > [email protected]
> > http://ivtvdriver.org/mailman/listinfo/ivtv-users
>
> _______________________________________________
> ivtv-users mailing list
> [email protected]
> http://ivtvdriver.org/mailman/listinfo/ivtv-users
_______________________________________________
ivtv-users mailing list
[email protected]
http://ivtvdriver.org/mailman/listinfo/ivtv-users