diff options
Diffstat (limited to 'drivers/ata/ata_piix.c')
| -rw-r--r-- | drivers/ata/ata_piix.c | 14 | 
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index ffdd32d2260..2f48123d74c 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c @@ -150,6 +150,7 @@ enum piix_controller_ids {  	tolapai_sata,  	piix_pata_vmw,			/* PIIX4 for VMware, spurious DMA_ERR */  	ich8_sata_snb, +	ich8_2port_sata_snb,  };  struct piix_map_db { @@ -304,7 +305,7 @@ static const struct pci_device_id piix_pci_tbl[] = {  	/* SATA Controller IDE (Lynx Point) */  	{ 0x8086, 0x8c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },  	/* SATA Controller IDE (Lynx Point) */ -	{ 0x8086, 0x8c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata }, +	{ 0x8086, 0x8c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb },  	/* SATA Controller IDE (Lynx Point) */  	{ 0x8086, 0x8c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },  	/* SATA Controller IDE (Lynx Point-LP) */ @@ -439,6 +440,7 @@ static const struct piix_map_db *piix_map_db_table[] = {  	[ich8m_apple_sata]	= &ich8m_apple_map_db,  	[tolapai_sata]		= &tolapai_map_db,  	[ich8_sata_snb]		= &ich8_map_db, +	[ich8_2port_sata_snb]	= &ich8_2port_map_db,  };  static struct pci_bits piix_enable_bits[] = { @@ -1242,6 +1244,16 @@ static struct ata_port_info piix_port_info[] = {  		.udma_mask	= ATA_UDMA6,  		.port_ops	= &piix_sata_ops,  	}, + +	[ich8_2port_sata_snb] = +	{ +		.flags		= PIIX_SATA_FLAGS | PIIX_FLAG_SIDPR +					| PIIX_FLAG_PIO16, +		.pio_mask	= ATA_PIO4, +		.mwdma_mask	= ATA_MWDMA2, +		.udma_mask	= ATA_UDMA6, +		.port_ops	= &piix_sata_ops, +	},  };  #define AHCI_PCI_BAR 5  |