[PATCH] ata_piix: IDE mode SATA patch for Intel ESB2
authorJason Gaston <jason.d.gaston@intel.com>
Sat, 16 Apr 2005 22:24:44 +0000 (15:24 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 16 Apr 2005 22:24:44 +0000 (15:24 -0700)
This patch adds the Intel ESB2 DID's to the ata_piix.c and quirks.c file for
IDE mode SATA support.

Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/pci/quirks.c
drivers/scsi/ata_piix.c

index 1cfe9538fd19f62ee930ba7a185f8877e1b6241b..15a398051682ae19334a358600ecee9b85f1a434 100644 (file)
@@ -1189,6 +1189,7 @@ static void __devinit quirk_intel_ide_combined(struct pci_dev *pdev)
        case 0x2651:
        case 0x2652:
        case 0x2653:
        case 0x2651:
        case 0x2652:
        case 0x2653:
+       case 0x2680:    /* ESB2 */
                ich = 6;
                break;
        case 0x27c0:
                ich = 6;
                break;
        case 0x27c0:
index ce19728aa8a487db8635bb03a5ee351dafce7e5b..3867f91ef8c7bebe3d0edf0bd2e3b326a1d4061b 100644 (file)
@@ -61,6 +61,7 @@ enum {
        ich6_sata               = 3,
        ich6_sata_rm            = 4,
        ich7_sata               = 5,
        ich6_sata               = 3,
        ich6_sata_rm            = 4,
        ich7_sata               = 5,
+       esb2_sata               = 6,
 };
 
 static int piix_init_one (struct pci_dev *pdev,
 };
 
 static int piix_init_one (struct pci_dev *pdev,
@@ -93,6 +94,7 @@ static struct pci_device_id piix_pci_tbl[] = {
        { 0x8086, 0x2653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_rm },
        { 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, 0x2653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_rm },
        { 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 },
 
        { }     /* terminate list */
 };
 
        { }     /* terminate list */
 };
@@ -256,6 +258,18 @@ static struct ata_port_info piix_port_info[] = {
                .udma_mask      = 0x7f, /* udma0-6 */
                .port_ops       = &piix_sata_ops,
        },
                .udma_mask      = 0x7f, /* udma0-6 */
                .port_ops       = &piix_sata_ops,
        },
+
+       /* esb2_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[] = {
 };
 
 static struct pci_bits piix_enable_bits[] = {