diff -cr linux-2.6.6/drivers/ide/pci/generic.c linux-2.6.6-via/drivers/ide/pci/generic.c
*** linux-2.6.6/drivers/ide/pci/generic.c	2004-05-09 21:32:37.000000000 -0500
--- linux-2.6.6-via/drivers/ide/pci/generic.c	2004-05-15 19:01:54.000000000 -0500
***************
*** 66,71 ****
--- 66,73 ----
  	hwif->mwdma_mask = 0x07;
  	hwif->swdma_mask = 0x07;
  
+     if (hwif->pci_dev->device == PCI_DEVICE_ID_VIA_610) 
+        hwif->udma_four = 1; /* mj */
  	if (!noautodma)
  		hwif->autodma = 1;
  	hwif->drives[0].autodma = hwif->autodma;
***************
*** 135,140 ****
--- 137,143 ----
  	{ PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO,     PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10},
  	{ PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1,   PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11},
  	{ PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2,   PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12},
+  	{ PCI_VENDOR_ID_VIA,    PCI_DEVICE_ID_VIA_610,             PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13},
  	{ 0, },
  };
  MODULE_DEVICE_TABLE(pci, generic_pci_tbl);
diff -cr linux-2.6.6/drivers/ide/pci/generic.h linux-2.6.6-via/drivers/ide/pci/generic.h
*** linux-2.6.6/drivers/ide/pci/generic.h	2004-05-09 21:32:01.000000000 -0500
--- linux-2.6.6-via/drivers/ide/pci/generic.h	2004-05-16 10:55:46.000000000 -0500
***************
*** 156,161 ****
--- 156,174 ----
  		.channels	= 2,
  		.autodma	= NOAUTODMA,
  		.bootable	= ON_BOARD,
+ 	},{	/* 13 */
+ 		.vendor		= PCI_VENDOR_ID_VIA,
+ 		.device		= PCI_DEVICE_ID_VIA_610,
+ 		.name		= "VIA_610",
+ 		.init_chipset	= init_chipset_generic,
+ 		.init_iops	= NULL,
+ 		.init_hwif	= init_hwif_generic,
+ /*		.init_dma	= init_dma_generic, */
+ 		.channels	= 2,
+ 		.autodma	= AUTODMA,
+ 		.enablebits	= {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
+ 		.bootable	= ON_BOARD,
+ 		.extra		= 0,
  	},{
  		.vendor		= 0,
  		.device		= 0,
diff -cr linux-2.6.6/include/linux/pci_ids.h linux-2.6.6-via/include/linux/pci_ids.h
*** linux-2.6.6/include/linux/pci_ids.h	2004-05-09 21:32:28.000000000 -0500
--- linux-2.6.6-via/include/linux/pci_ids.h	2004-05-15 18:37:16.000000000 -0500
***************
*** 1207,1212 ****
--- 1207,1213 ----
  #define PCI_DEVICE_ID_VIA_8703_51_0	0x3148
  #define PCI_DEVICE_ID_VIA_8237_SATA	0x3149
  #define PCI_DEVICE_ID_VIA_XN266		0x3156
+ #define PCI_DEVICE_ID_VIA_610		0x3164
  #define PCI_DEVICE_ID_VIA_8754C_0	0x3168
  #define PCI_DEVICE_ID_VIA_8235		0x3177
  #define PCI_DEVICE_ID_VIA_P4N333	0x3178
