Hello,
This patch adds the Intel ICH8 DID's to the ata_piix.c and quirks.c file for IDE mode SATA support. ?This patch was built against the 2.6.15 kernel. ?
If acceptable, please apply.
Thanks,
Jason Gaston
Signed-off-by: ?Jason Gaston <[email protected]>
--- linux-2.6.15/drivers/pci/quirks.c.orig 2006-01-02 19:21:10.000000000 -0800
+++ linux-2.6.15/drivers/pci/quirks.c 2006-01-09 08:18:08.012291624 -0800
@@ -1125,6 +1125,9 @@
case 0x27c4:
ich = 7;
break;
+ case 0x2828: /* ICH8M */
+ ich = 8;
+ break;
default:
/* we do not handle this PCI device */
return;
@@ -1144,7 +1147,7 @@
else
return; /* not in combined mode */
} else {
- WARN_ON((ich != 6) && (ich != 7));
+ WARN_ON((ich != 6) && (ich != 7) && (ich != 8));
tmp &= 0x3; /* interesting bits 1:0 */
if (tmp & (1 << 0))
comb = (1 << 2); /* PATA port 0, SATA port 1 */
--- linux-2.6.15/drivers/scsi/ata_piix.c.orig 2006-01-02 19:21:10.000000000 -0800
+++ linux-2.6.15/drivers/scsi/ata_piix.c 2006-01-09 08:18:08.013291472 -0800
@@ -81,6 +81,7 @@
ich6_sata_rm = 4,
ich7_sata = 5,
esb2_sata = 6,
+ ich8_sata = 7,
PIIX_AHCI_DEVICE = 6,
};
@@ -116,6 +117,9 @@
{ 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich7_sata },
{ 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich7_sata },
{ 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, esb2_sata },
+ { 0x8086, 0x2820, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
+ { 0x8086, 0x2825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
+ { 0x8086, 0x2828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata },
{ } /* terminate list */
};
@@ -293,6 +297,18 @@
.udma_mask = 0x7f, /* udma0-6 */
.port_ops = &piix_sata_ops,
},
+
+ /* ich8_sata */
+ {
+ .sht = &piix_sht,
+ .host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST |
+ PIIX_FLAG_COMBINED | PIIX_FLAG_CHECKINTR |
+ ATA_FLAG_SLAVE_POSS | PIIX_FLAG_AHCI,
+ .pio_mask = 0x1f, /* pio0-4 */
+ .mwdma_mask = 0x07, /* mwdma0-2 */
+ .udma_mask = 0x7f, /* udma0-6 */
+ .port_ops = &piix_sata_ops,
+ },
};
static struct pci_bits piix_enable_bits[] = {