Stefan van der Eijk
2007-Jan-25 00:03 UTC
[asterisk-users] issue with ivtv & wctdm zaptel drivers (TDM PCI Master abort)
Hi, I'm experiencing an issue with my x86_64 machine containing a Hauppauge PVR-500 (ivtv) and a Digium TDM400p (wctdm, part of zaptel) PCI cards. Independently of each other both cards work fine, but once the wctdm driver is loaded and mythtv tries to record something on the PVR-500 the wctdm driver freaks out. The error message is see is "TDM PCI Master abort" printed over and over again in the syslog. I don't know if this is the ivtv or wctdm drivers fault, but the issue only shows up between these drivers. Burning a dvd works, usb devices work, etc. I've tried the following: - Moving the TDM400p to a PCI slot so its not sharing an interrupt with an other device - ivtv drivers: 0.9.1 and the 0.10.0 - zaptel 1.4.0 (tagged) and the latest from the 1.4 branch (svn: 1952) - I don't recall having this error when the machine was still running in 32bit mode (i586 kernel and i586 userland), right now the machine is running with a x86_64 kernel and x86_64 userland. This seems to be the part in http://svn.digium.com/view/zaptel/tags/1.4.0/wctdm.c that prints those error messages to the syslog: if (ints & 0x10) { /* Stop DMA, wait for watchdog */ printk("TDM PCI Master abort\n"); wctdm_stop_dma(wc); And this is what I'm seeing in syslog: Jan 24 20:04:06 taz kernel: ivtv0 irq: ENC START CAP 0: 0016d6c0 00004000 Jan 24 20:04:06 taz kernel: ivtv0 dma: DMA encoder MPEG: 0x00004000 bytes at 0x0016d6c0 Jan 24 20:04:06 taz kernel: ivtv0 dma: start DMA for encoder MPEG Jan 24 20:04:06 taz kernel: ivtv0 irq: ENC DMA COMPLETE 3 0 Jan 24 20:04:06 taz kernel: ivtv0 dma: DMA encoder MPEG completed (16d6c0) Jan 24 20:04:06 taz kernel: ivtv0 ioctl: read 4096 bytes from encoder MPEG Jan 24 20:04:06 taz kernel: ivtv0 irq: ENC START CAP 0: 001716c0 00006800 Jan 24 20:04:06 taz kernel: ivtv0 dma: DMA encoder MPEG: 0x00006800 bytes at 0x001716c0 Jan 24 20:04:06 taz kernel: ivtv0 dma: start DMA for encoder MPEG Jan 24 20:04:06 taz kernel: TDM PCI Master abort Jan 24 20:04:06 taz last message repeated 77 times Jan 24 20:04:06 taz kernel: ivtv0 irq: ENC DMA COMPLETE 3 0 Jan 24 20:04:06 taz kernel: ivtv0 dma: DMA encoder MPEG completed (1716c0) Jan 24 20:04:06 taz kernel: TDM PCI Master abort Jan 24 20:04:06 taz last message repeated 179 times Jan 24 20:04:06 taz kernel: ivtv0 info: read 4096 from encoder MPEG, got 4096 Jan 24 20:04:06 taz kernel: TDM PCI Master abort (ivtv 0.10 trunk, debug level = 511). Could this have something todo with these two pieces of hardware fighting about DMA? with kind regards, Stefan van der Eijk -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20070125/e5ca29ec/attachment.htm
Matteo Brancaleoni
2007-Jan-25 00:25 UTC
[asterisk-users] issue with ivtv & wctdm zaptel drivers (TDM PCI Master abort)
Hi, On Thu, 2007-01-25 at 08:03 +0100, Stefan van der Eijk wrote:> Hi, > > I'm experiencing an issue with my x86_64 machine containing a > Hauppauge PVR-500 (ivtv) and a Digium TDM400p (wctdm, part of zaptel) > PCI cards. Independently of each other both cards work fine, but once > the wctdm driver is loaded and mythtv tries to record something on the > PVR-500 the wctdm driver freaks out. The error message is see is "TDM > PCI Master abort" printed over and over again in the syslog.PVR cards are greedy about irq resources. They need a dedicated irq and normally the irq is held for much time. Is not a card that goes with a TDM one, since TDM cards needs a precise irq timining... Imho, you should not run both cards on same box. I had some luck doing that with a DVB-T card... since being digital cards, the amout of data transferred is lower, so can work with a TDM. But was not a hauppauge card. (I know, also the pvr500 is digital, but you have 2 tuners so double data rate and normally mpeg2 data rate in hw encoders is higher that DVB-T data rate) greetings, Matteo