2.4.XX ICH7 PATA UDMA Support




Hello,

I have ASUS P5LD2-VM mobo with Intel ICH7 PATA IDE. It works only
in PIO mode, so I changed piix driver in 2.4.35 to support UDMA modes - patch is bellow.

I'm a little bit confused about the specifications of ICH7 PATA, from ASUS
say it is UDMA 100, but from Intel and in 2.6.XX kernel tree it is as UDMA 133. My confusion became stronger and from bios ide SATA/PATA options of my mobo.

Anyway, the patch works for me and it should work for all mobos with 945 chipset, but need to be tested. If there are any volunteers to apply patch and test it will be good.

Please report the results and play around with mobo bios SATA/PATA IDE setings.

Best Regards,
Ivaylo Josifov


diff -ru a/drivers/ide/pci/piix.c b/drivers/ide/pci/piix.c
--- a/drivers/ide/pci/piix.c 2007-07-26 23:53:41.000000000 +0300
+++ b/drivers/ide/pci/piix.c 2007-08-10 20:08:13.000000000 +0300
@@ -155,6 +155,7 @@
case PCI_DEVICE_ID_INTEL_82801E_11:
case PCI_DEVICE_ID_INTEL_ESB_2:
case PCI_DEVICE_ID_INTEL_ICH6_2:
+ case PCI_DEVICE_ID_INTEL_ICH7_21:
p += sprintf(p, "PIIX4 Ultra 100 ");
break;
case PCI_DEVICE_ID_INTEL_82372FB_1:
@@ -294,6 +295,7 @@
case PCI_DEVICE_ID_INTEL_82801EB_11:
case PCI_DEVICE_ID_INTEL_ESB_2:
case PCI_DEVICE_ID_INTEL_ICH6_2:
+ case PCI_DEVICE_ID_INTEL_ICH7_21:
mode = 3;
break;
/* UDMA 66 capable */
@@ -683,6 +685,7 @@
case PCI_DEVICE_ID_INTEL_82801E_11:
case PCI_DEVICE_ID_INTEL_ESB_2:
case PCI_DEVICE_ID_INTEL_ICH6_2:
+ case PCI_DEVICE_ID_INTEL_ICH7_21:
{
unsigned int extra = 0;
pci_read_config_dword(dev, 0x54, &extra);
@@ -882,6 +885,7 @@
#endif
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ESB_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 19},
{ PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH6_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 20},
+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_21, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 21},
{ 0, },
};

diff -ru a/drivers/ide/pci/piix.h b/drivers/ide/pci/piix.h
--- a/drivers/ide/pci/piix.h 2007-07-26 23:53:41.000000000 +0300
+++ b/drivers/ide/pci/piix.h 2007-08-10 20:21:02.000000000 +0300
@@ -333,6 +333,20 @@
.enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}},
.bootable = ON_BOARD,
.extra = 0,
+ },{ /* 21 */
+ .vendor = PCI_VENDOR_ID_INTEL,
+ .device = PCI_DEVICE_ID_INTEL_ICH7_21,
+ .name = "ICH7",
+ .init_setup = init_setup_piix,
+ .init_chipset = init_chipset_piix,
+ .init_iops = NULL,
+ .init_hwif = init_hwif_piix,
+ .init_dma = init_dma_piix,
+ .channels = 1,
+ .autodma = AUTODMA,
+ .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}},
+ .bootable = ON_BOARD,
+ .extra = 0,
},{
.vendor = 0,
.device = 0,

diff -ru a/include/linux/pci_ids.h b/include/linux/pci_ids.h
--- a/include/linux/pci_ids.h 2007-07-26 23:53:41.000000000 +0300
+++ b/include/linux/pci_ids.h 2007-08-10 20:11:13.000000000 +0300
@@ -1978,6 +1978,7 @@
#define PCI_DEVICE_ID_INTEL_ICH6_1 0x2641
#define PCI_DEVICE_ID_INTEL_ICH6_2 0x266f
#define PCI_DEVICE_ID_INTEL_ICH6_18 0x266e
+#define PCI_DEVICE_ID_INTEL_ICH7_21 0x27df
#define PCI_DEVICE_ID_INTEL_82850_HB 0x2530
#define PCI_DEVICE_ID_INTEL_82845G_HB 0x2560
#define PCI_DEVICE_ID_INTEL_SMCH 0x3590

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: New HD - XP refuses to recognise UDMA, dma 2 only
    ... as a second HD as a master on the secondary ide channel (it's not the ... but responds only in multi-word dma 2 mode. ... My boot drive, a 20 gb maxtor fireball, functions fine in UDMA 5. ... The 20 gb drive under the primary ide channel as a master, ...
    (microsoft.public.windowsxp.hardware)
  • Re: The Reboot Dilemma
    ... I assumed that a bootable HDD ... IDE interface connection. ... mobo disk in the DVD drive and booting will solve this driver problem, ...
    (alt.comp.hardware.pc-homebuilt)
  • Re: libdl.so.2 error
    ... > I had one IDE port on my mobo get fried due to a power surge. ... The machine had FC2 ... And you knew that at least the ide controller on the mobo is ...
    (Fedora)
  • Re: Cant use my old HD on my new MOBO
    ... My MOBO is a SATA type but I am trying to use my IDE ... When I boot up WIN2K starts to ...
    (microsoft.public.win2000.general)
  • Is there a log file for the upgrades done to an installed Ubuntu system?
    ... I ask this because something happened on my system which has altered the way the devices on the second IDE line on my system are being recognised. ... CDROM with UDMA 33 ... 0L06 PQ: 0 ANSI: 5 ... Initializing USB Mass Storage driver... ...
    (Ubuntu)