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
}
};