DMA

From IVTV

Jump to: navigation, search

This page is to discuss the DMA problems seen from the ivtv driver.

Contents

Errors

There seems to be a few different errors seen.
Recoverable Errors:

  • These errors may cause brief interruptions in the video/audio stream however the driver continues to record.
ivtv0 warning: ENC: (0) DMA Error 0x0000000b 00020001
ivtv0 warning: offset 0 -> 128
ivtv0 warning: offset 128 -> 120
ivtv0 warning: offset 120 -> 100
ivtv0 warning: ENC: (0) DMA Error 0x0000000b 00020001
ivtv0 warning: offset 100 -> 128
ivtv0 warning: offset 128 -> 0

Unrecoverable Errors:

  • These errors stop all recording from the video/audio stream and a reboot is required to allow recording.
ivtv0 warning: ENC: REG_DMAXFER 2 wait failed
ivtv0 warning: ENC: (0) DMA Error 0x00000001 00000001
ivtv0 warning: ENC: REG_DMAXFER 2 wait failed
ivtv0 warning: ENC: (1) DMA Error 0x00000001 00000001
ivtv0 warning: ENC: REG_DMAXFER 2 wait failed
ivtv0 warning: ENC: (2) DMA Error 0x00000001 00000001
ivtv0 warning: ENC: REG_DMAXFER 2 wait failed
ivtv0 warning: ENC: (3) DMA Error 0x00000001 00000001
ivtv0 warning: ENC: REDO DMA took too many tries.
ivtv0 warning: Error Encoder DMA

Affected Motherboards / OS / Kernel / Driver

This is the list of affected motherboards, OS, kernel and driver combos:

  • ASUS A8N-VM CSM / Kubuntu 6.06 (Dapper) / kernel 2.6.15-26-686 / ivtv 0.4.6 + patch
  • ASUS K8N-E Deluxe / / kernel 2.6.15.7 / ivtv 0.4.7
  • ASUS A8V Deluxe / Gentoo / kernel 2.6.17-gentoo-r8 / ivtv 0.7.1
  • MSI K8NGM2-FID/mandriva 2007.0/kernel 2.6.17-5/ivtv 0.7.0 and 0.7.1
  • GigaByte GA-K8NSC-939 / Debian etch / vanilla kernel 2.6.15.6 / ivtv 0.4.3
  • ASUS A7M-266D / Fedora Core 6 / kernel 2.6.18-1.2849.fc6 / ivtv 0.8.1-122.fc6.at / also various other distributions with ivtv 0.7.0 and above
  • Tyan S2466-4M / Ubuntu 6.10 (Edgy Eft) / kernel 2.6.17-10-generic / ivtv 0.7.0 and above / Maxtrox G400 AGP minimal DMA errors / Nvidia FX5200 PCI many DMA errors
  • nForce4 motherboards (MCP51 chipset)

Ways to Reproduce

Several people have reported different ways to reproduce the problem. This is a list of the ways to reproduce the errors above:

  • OpenGL applications running
  • dynamic CPU throttling plus CoolNQuiet
  • Mythttv transcoding
  • Heavy hard drive use
    • I have 4 IDE HDs configured in Raid5 array all added to an LVM volume. With my 2 Haugpage 250 tuners I can reproduce this by recording to two files and also having a seperate computer reading a large file over nfs to /dev/null.
  • overloading a power supply (particularly the 3.3v rail)
  • PCI latency left at default values (64 for PVR-150, 32 for all other PCI devices, verify using lspci -v)

Potential Fixes

Shutting down for 30 seconds seems to have resolved this issue for me. It was apparently caused by a firmware update that I hadn't done a proper shutdown/wait 30 seconds.

Another thing to try is swapping around and/or removing unnecessary PCI cards you have installed. I had a Promise PCI IDE card that I used to attach a couple harddrives. I removed it and attached the drives to the IDE interface on the motherboard. It meant I had to lose a CD burner (which I didn't really need) but it made the DMA errors go away. I also removed a USB card I didn't really need. Who knows if it was causing problems, but now IVTV seems rock solid.

The definitive solution for me was increasing the PCI latency values exactly as described here:

http://www.mythtv.org/wiki/index.php/PCI_Latency

This solution works for me even though my PVR-150 records directly to a pure software Raid5 (using md in evms). Even the (recoverable) DMA warnings are gone. Since this approach requires minimal effort, I wish I had tried it first.

Filed Bugs

Personal tools
development