[mythtv-users] Chipset/motherboard recommendations

David Engel dlengel at attbi.com
Fri Sep 5 12:42:48 EDT 2003


[Copied to the IVTV list since this is probably of interest to them too.
Please note this is with a VIA KM266 based motherboard.]

On Wed, Sep 03, 2003 at 10:35:21PM -0500, David Engel wrote:
> Recently, I've been having increasing problems with my main Myth box
> due to the infamous IVTV DMA on VIA chipsets issue.  I spent the
> better part of today trying various solutions with only limited
> success.  The hangs occur less frequently now, but they still occur.

I thought of one more thing to try.  My logs seemed to indicate the
ivtv driver was not getting a DMA completion interrupt so I thought of
enabling the interrupt-unmask option in hdparm.  When I went to enable
it, I found that it was already enabled.  After some inital
disappointment at reaching another dead-end, I decided to try
disabling it.

After disabling the interrupt-unmask option in hdparm, I was able to
record 6 hours of TV last night while simultaneously playing on the
local frontend and a remote frontend.  Previously, doing this would
have locked up the ivtv driver fairly quickly.  I was eventually able
to lock up the ivtv driver with the extreme case of having both
frontends play at triple speed.  Still, the system appears to be
working well enough for my current needs so I think I'll hold off on
any motherboard replacement.

Here's an additional note for the IVTV developers.  While researching
the IVTV list archives on the DMA problem, I ran across a thread that
said some of the IVTV_DMA_ERR definitions were off by 1 bit.  The
current driver doesn't have the fix so I applied the patch below to my
own copy and haven't noticed any ill-effects from it.

David
-- 
David Engel
dlengel at attbi.com

===== ivtv.h 1.1 vs edited =====
--- 1.1/drivers/media/video/ivtv/ivtv.h	Fri Aug 22 11:07:23 2003
+++ edited/ivtv.h	Wed Sep  3 11:25:04 2003
@@ -103,9 +103,9 @@
 #define IVTV_SLEEP_WAIT (.1 * HZ) /*100 ms*/
 #define IVTV_MAX_DATA_SLEEP 30
 
-#define IVTV_DMA_ERR_LIST 0x00000008
-#define IVTV_DMA_ERR_WRITE 0x00000004
-#define IVTV_DMA_ERR_READ 0x00000002
+#define IVTV_DMA_ERR_LIST 0x00000010
+#define IVTV_DMA_ERR_WRITE 0x00000008
+#define IVTV_DMA_ERR_READ 0x00000004
 #define IVTV_DMA_SUCCESS 0x00000001
 #define IVTV_DMA_READ_ERR (IVTV_DMA_ERR_LIST | IVTV_DMA_ERR_READ)
 #define IVTV_DMA_WRITE_ERR (IVTV_DMA_ERR_LIST | IVTV_DMA_ERR_WRITE)



More information about the mythtv-users mailing list