As jsg@ put it "falling back to pio ide sucks :)".

So this diff makes the shiny new 13" MacBook Pro that $DAYJOB got me
suck less by doing DMA.  This diff is based on the assumption that the
MCP89 SATA/AHCI/RAID PCI IDs follow the same pattern as the MCP79
ones.  It then adds the SATA ones to the pciide(4) driver.

ok?

Index: pcidevs
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1576
diff -u -p -r1.1576 pcidevs
--- pcidevs     7 Nov 2010 17:12:08 -0000       1.1576
+++ pcidevs     7 Nov 2010 20:58:41 -0000
@@ -4379,18 +4379,18 @@ product NVIDIA MCP89_COPROC     0x0d7a  MCP89
 product NVIDIA MCP89_MEM_4     0x0d7b  MCP89 Memory
 product NVIDIA MCP89_LAN       0x0d7d  MCP89 LAN
 product NVIDIA MCP89_LPC       0x0d80  MCP89 LPC
-product NVIDIA MCP89_AHCI_1    0x0d84  MCP89 AHCI
-product NVIDIA MCP89_AHCI_2    0x0d85  MCP89 AHCI
-product NVIDIA MCP89_SATA_1    0x0d86  MCP89 SATA
-product NVIDIA MCP89_AHCI_4    0x0d87  MCP89 AHCI
-product NVIDIA MCP89_AHCI_5    0x0d88  MCP89 AHCI
-product NVIDIA MCP89_AHCI_6    0x0d89  MCP89 AHCI
-product NVIDIA MCP89_AHCI_7    0x0d8a  MCP89 AHCI
-product NVIDIA MCP89_AHCI_8    0x0d8b  MCP89 AHCI
-product NVIDIA MCP89_AHCI_9    0x0d8c  MCP89 AHCI
-product NVIDIA MCP89_RAID_1    0x0d8d  MCP89 RAID
-product NVIDIA MCP89_AHCI_11   0x0d8e  MCP89 AHCI
-product NVIDIA MCP89_AHCI_12   0x0d8f  MCP89 AHCI
+product NVIDIA MCP89_SATA_1    0x0d84  MCP89 SATA
+product NVIDIA MCP89_SATA_2    0x0d85  MCP89 SATA
+product NVIDIA MCP89_SATA_3    0x0d86  MCP89 SATA
+product NVIDIA MCP89_SATA_4    0x0d87  MCP89 SATA
+product NVIDIA MCP89_AHCI_1    0x0d88  MCP89 AHCI
+product NVIDIA MCP89_AHCI_2    0x0d89  MCP89 AHCI
+product NVIDIA MCP89_AHCI_3    0x0d8a  MCP89 AHCI
+product NVIDIA MCP89_AHCI_4    0x0d8b  MCP89 AHCI
+product NVIDIA MCP89_RAID_1    0x0d8c  MCP89 RAID
+product NVIDIA MCP89_RAID_2    0x0d8d  MCP89 RAID
+product NVIDIA MCP89_RAID_3    0x0d8e  MCP89 RAID
+product NVIDIA MCP89_RAID_4    0x0d8f  MCP89 RAID
 product NVIDIA MCP89_HDA_1     0x0d94  MCP89 HD Audio
 product NVIDIA MCP89_HDA_2     0x0d95  MCP89 HD Audio
 product NVIDIA MCP89_HDA_3     0x0d96  MCP89 HD Audio
Index: pciide.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/pciide.c,v
retrieving revision 1.322
diff -u -p -r1.322 pciide.c
--- pciide.c    6 Nov 2010 16:57:34 -0000       1.322
+++ pciide.c    7 Nov 2010 20:58:44 -0000
@@ -1128,6 +1128,22 @@ const struct pciide_product_desc pciide_
        { PCI_PRODUCT_NVIDIA_MCP79_SATA_4,
          0,
          sata_chip_map
+       },
+       { PCI_PRODUCT_NVIDIA_MCP89_SATA_1,
+         0,
+         sata_chip_map
+       },
+       { PCI_PRODUCT_NVIDIA_MCP89_SATA_2,
+         0,
+         sata_chip_map
+       },
+       { PCI_PRODUCT_NVIDIA_MCP89_SATA_3,
+         0,
+         sata_chip_map
+       },
+       { PCI_PRODUCT_NVIDIA_MCP89_SATA_4,
+         0,
+         sata_chip_map
        }
 };

Reply via email to