Below is a quick patch to fix the PCI ID's for the 82801BA and add ID's for 
the mobile version, the 82801BAM.  The DID's are from Intel developer docs, I 
don't remember the URL.  It's easy to find.  Fixes the unknown IDE controller 
problem for Dell Inspiron 8000 and one of the newer Sony Vaio's.

Tim

diff -u -r linux/drivers/ide/ide-pci.c linux_new/drivers/ide/ide-pci.c
--- linux/drivers/ide/ide-pci.c Fri May 11 22:31:35 2001
+++ linux_new/drivers/ide/ide-pci.c     Fri May 11 21:18:18 2001
@@ -34,7 +34,8 @@
 #define DEVID_PIIX4U   ((ide_pci_devid_t){PCI_VENDOR_ID_INTEL,   
PCI_DEVICE_ID_INTEL_82801AA_1})
 #define DEVID_PIIX4U2  ((ide_pci_devid_t){PCI_VENDOR_ID_INTEL,   
PCI_DEVICE_ID_INTEL_82372FB_1})
 #define DEVID_PIIX4NX  ((ide_pci_devid_t){PCI_VENDOR_ID_INTEL,   
PCI_DEVICE_ID_INTEL_82451NX})
-#define DEVID_PIIX4U3  ((ide_pci_devid_t){PCI_VENDOR_ID_INTEL,   
PCI_DEVICE_ID_INTEL_82820FW_5})
+#define DEVID_PIIX4U3  ((ide_pci_devid_t){PCI_VENDOR_ID_INTEL,   
PCI_DEVICE_ID_INTEL_82801BA_9})
+#define DEVID_PIIX4U4  ((ide_pci_devid_t){PCI_VENDOR_ID_INTEL,   
PCI_DEVICE_ID_INTEL_82801BA_8})
 #define DEVID_VIA_IDE  ((ide_pci_devid_t){PCI_VENDOR_ID_VIA,     
PCI_DEVICE_ID_VIA_82C561})
 #define DEVID_VP_IDE   ((ide_pci_devid_t){PCI_VENDOR_ID_VIA,     
PCI_DEVICE_ID_VIA_82C586_1})
 #define DEVID_PDC20246 ((ide_pci_devid_t){PCI_VENDOR_ID_PROMISE, 
PCI_DEVICE_ID_PROMISE_20246})
@@ -343,6 +344,7 @@
        {DEVID_PIIX4U2, "PIIX4",        PCI_PIIX,       ATA66_PIIX,     INIT_PIIX,     
 NULL,           
{{0x41,0x80,0x80}, {0x43,0x80,0x80}},   ON_BOARD,       0 },
        {DEVID_PIIX4NX, "PIIX4",        PCI_PIIX,       NULL,           INIT_PIIX,     
 NULL,           
{{0x41,0x80,0x80}, {0x43,0x80,0x80}},   ON_BOARD,       0 },
        {DEVID_PIIX4U3, "PIIX4",        PCI_PIIX,       ATA66_PIIX,     INIT_PIIX,     
 NULL,           
{{0x41,0x80,0x80}, {0x43,0x80,0x80}},   ON_BOARD,       0 },
+       {DEVID_PIIX4U4, "PIIX4",        PCI_PIIX,       ATA66_PIIX,     INIT_PIIX,     
+ NULL,           
{{0x41,0x80,0x80}, {0x43,0x80,0x80}},   ON_BOARD,       0 },
        {DEVID_VIA_IDE, "VIA_IDE",      NULL,           NULL,           NULL,          
 NULL,           {{0x00,0x00,0x00}, 
{0x00,0x00,0x00}},      ON_BOARD,       0 },
        {DEVID_VP_IDE,  "VP_IDE",       PCI_VIA82CXXX,  
ATA66_VIA82CXXX,INIT_VIA82CXXX, 
DMA_VIA82CXXX,  {{0x40,0x02,0x02}, {0x40,0x01,0x01}},   ON_BOARD,       0 },
        {DEVID_PDC20246,"PDC20246",     PCI_PDC202XX,   NULL,           INIT_PDC202XX, 
 NULL,           
{{0x50,0x02,0x02}, {0x50,0x04,0x04}},   OFF_BOARD,      16 },
diff -u -r linux/drivers/ide/piix.c linux_new/drivers/ide/piix.c
--- linux/drivers/ide/piix.c    Tue Mar  6 22:44:34 2001
+++ linux_new/drivers/ide/piix.c        Fri May 11 21:42:04 2001
@@ -108,7 +108,8 @@
        c1 = inb_p((unsigned short)bibma + 0x0a);

        switch(bmide_dev->device) {
-               case PCI_DEVICE_ID_INTEL_82820FW_5:
+               case PCI_DEVICE_ID_INTEL_82801BA_8:
+               case PCI_DEVICE_ID_INTEL_82801BA_9:
                        p += sprintf(p, "\n                                Intel PIIX4 
Ultra 100 
Chipset.\n");
                        break;
                case PCI_DEVICE_ID_INTEL_82372FB_1:
@@ -358,7 +359,8 @@
        byte                    speed;

        byte udma_66            = eighty_ninty_three(drive);
-       int ultra100            = ((dev->device == PCI_DEVICE_ID_INTEL_82820FW_5)) ? 1 
: 0;
+       int ultra100            = ((dev->device == PCI_DEVICE_ID_INTEL_82801BA_8) ||
+                                  (dev->device == PCI_DEVICE_ID_INTEL_82801BA_9)) ? 1 
+: 0;
        int ultra66             = ((ultra100) ||
                                   (dev->device == PCI_DEVICE_ID_INTEL_82801AA_1) ||
                                   (dev->device == PCI_DEVICE_ID_INTEL_82372FB_1)) ? 1 
: 0;
diff -u -r linux/drivers/pci/pci.ids linux_new/drivers/pci/pci.ids
--- linux/drivers/pci/pci.ids   Sun Mar 25 21:14:20 2001
+++ linux_new/drivers/pci/pci.ids       Fri May 11 22:10:32 2001
@@ -4592,13 +4592,18 @@
                11d4 0048  SoundMAX Integrated Digital Audio
        2426  82801AB AC'97 Modem
        2428  82801AB PCI Bridge
-       2440  82820 820 (Camino 2) Chipset ISA Bridge (ICH2)
-       2442  82820 820 (Camino 2) Chipset USB (Hub A)
-       2443  82820 820 (Camino 2) Chipset SMBus
-       2444  82820 820 (Camino 2) Chipset USB (Hub B)
-       2449  82820 820 (Camino 2) Chipset Ethernet
-       244b  82820 820 (Camino 2) Chipset IDE U100
-       244e  82820 820 (Camino 2) Chipset PCI
+       2440  82801BA ISA Bridge (ICH2)
+       2442  82801BA(M) USB (Hub A)
+       2443  82801BA(M) SMBus
+       2444  82801BA(M) USB (Hub B)
+       2445  82801BA(M) AC'97 Audio
+       2446  82801BA(M) AC'97 Modem
+       2448  82801BA PCI
+       2449  82801BA(M) Ethernet
+       244a  82801BAM IDE U100
+       244b  82801BA IDE U100
+       244c  82801BAM ISA Bridge (ICH2)
+       244e  82801BAM PCI
        2500  82820 820 (Camino) Chipset Host Bridge (MCH)
                1043 801c  P3C-2000 system chipset
        2501  82820 820 (Camino) Chipset Host Bridge (MCH)
diff -u -r linux/include/linux/pci_ids.h linux_new/include/linux/pci_ids.h
--- linux/include/linux/pci_ids.h       Wed Apr 18 17:40:06 2001
+++ linux_new/include/linux/pci_ids.h   Fri May 11 20:48:27 2001
@@ -1472,13 +1472,25 @@
 #define PCI_DEVICE_ID_INTEL_82801AB_5  0x2425
 #define PCI_DEVICE_ID_INTEL_82801AB_6  0x2426
 #define PCI_DEVICE_ID_INTEL_82801AB_8  0x2428
-#define PCI_DEVICE_ID_INTEL_82820FW_0  0x2440
-#define PCI_DEVICE_ID_INTEL_82820FW_1  0x2442
-#define PCI_DEVICE_ID_INTEL_82820FW_2  0x2443
-#define PCI_DEVICE_ID_INTEL_82820FW_3  0x2444
-#define PCI_DEVICE_ID_INTEL_82820FW_4  0x2449
-#define PCI_DEVICE_ID_INTEL_82820FW_5  0x244b
-#define PCI_DEVICE_ID_INTEL_82820FW_6  0x244e
+//#define PCI_DEVICE_ID_INTEL_82820FW_0        0x2440
+#define PCI_DEVICE_ID_INTEL_82801BA_0  0x2440
+//#define PCI_DEVICE_ID_INTEL_82820FW_1        0x2442
+#define PCI_DEVICE_ID_INTEL_82801BA_1  0x2442
+//#define PCI_DEVICE_ID_INTEL_82820FW_2        0x2443
+#define PCI_DEVICE_ID_INTEL_82801BA_2  0x2443
+//#define PCI_DEVICE_ID_INTEL_82820FW_3        0x2444
+#define PCI_DEVICE_ID_INTEL_82801BA_3  0x2444
+#define PCI_DEVICE_ID_INTEL_82801BA_4  0x2445
+#define PCI_DEVICE_ID_INTEL_82801BA_5  0x2446
+#define PCI_DEVICE_ID_INTEL_82801BA_6  0x2448
+//#define PCI_DEVICE_ID_INTEL_82820FW_4        0x2449
+#define PCI_DEVICE_ID_INTEL_82801BA_7  0x2449
+//#define PCI_DEVICE_ID_INTEL_82820FW_5        0x244a
+#define PCI_DEVICE_ID_INTEL_82801BA_8  0x244a
+#define PCI_DEVICE_ID_INTEL_82801BA_9  0x244b
+#define PCI_DEVICE_ID_INTEL_82801BA_10 0x244c
+//#define PCI_DEVICE_ID_INTEL_82820FW_6        0x244e
+#define PCI_DEVICE_ID_INTEL_82801BA_11 0x244e
 #define PCI_DEVICE_ID_INTEL_82810_MC1  0x7120
 #define PCI_DEVICE_ID_INTEL_82810_IG1  0x7121
 #define PCI_DEVICE_ID_INTEL_82810_MC3  0x7122
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to