Hi All, Is anyone looking at supporting the Intel ICH2-M IDE controller? This controller is basically the same as the ICH2 controller except it has extra powermanagment features as it's the for portable computers (hence the M=mobile). I'm currently using the attached patch which runs flawlessly on my laptop. However, I'm just an amature code hacker and hence can't guarentee I haven't missed something between the chipsets. The other question I have is why in ata-dma.c is there the fall through to the ICH chipset? It seems to prevent any drive actually using ATA100/UDMA5 features. Cheers, -- * Benjamin Close
diff -u ./ata-dma.c fred/ata-dma.c --- ./ata-dma.c Fri Mar 16 02:06:25 2001 +++ fred/ata-dma.c Sun Mar 25 10:33:52 2001 @@ -107,6 +107,7 @@ switch (scp->chiptype) { + case 0x244a8086: /* Intel ICH2-M */ case 0x244b8086: /* Intel ICH2 */ if (udmamode >= 5) { int32_t mask48, new48; @@ -150,7 +151,8 @@ ata_printf(scp, device, "%s setting UDMA4 on ICH%s chip\n", (error) ? "failed" : "success", - (scp->chiptype == 0x244b8086) ? "2" : ""); + (scp->chiptype == 0x244b8086) ? "2" : + (scp->chiptype == 0x244a8086) ? "2-M" :""); if (!error) { mask48 = (1 << devno) + (3 << (16 + (devno << 2))); new48 = (1 << devno) + (2 << (16 + (devno << 2))); diff -u ./ata-pci.c fred/ata-pci.c --- ./ata-pci.c Tue Mar 20 00:01:58 2001 +++ fred/ata-pci.c Sun Mar 25 10:30:58 2001 @@ -110,6 +110,9 @@ case 0x24118086: return "Intel ICH ATA66 controller"; + case 0x244a8086: + return "Intel ICH2-M ATA100 controller"; + case 0x244b8086: return "Intel ICH2 ATA100 controller";