Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b55f84e

Browse files
youquan-songJeff Garzik
authored andcommitted
ata_piix: Fix DVD not dectected at some Haswell platforms
There is a quirk patch 5e5a4f5 "ata_piix: make DVD Drive recognisable on systems with Intel Sandybridge chipsets(v2)" fixing the 4 ports IDE controller 32bit PIO mode. We've hit a problem with DVD not recognized on Haswell Desktop platform which includes Lynx Point 2-port SATA controller. This quirk patch disables 32bit PIO on this controller in IDE mode. v2: Change spelling error in statememnt pointed by Sergei Shtylyov. v3: Change comment statememnt and spliting line over 80 characters pointed by Libor Pechacek and also rebase the patch against 3.8-rc7 kernel. Tested-by: Lee, Chun-Yi <[email protected]> Signed-off-by: Youquan Song <[email protected]> Cc: [email protected] Signed-off-by: Jeff Garzik <[email protected]>
1 parent a32450e commit b55f84e

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

drivers/ata/ata_piix.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ enum piix_controller_ids {
150150
tolapai_sata,
151151
piix_pata_vmw, /* PIIX4 for VMware, spurious DMA_ERR */
152152
ich8_sata_snb,
153+
ich8_2port_sata_snb,
153154
};
154155

155156
struct piix_map_db {
@@ -304,7 +305,7 @@ static const struct pci_device_id piix_pci_tbl[] = {
304305
/* SATA Controller IDE (Lynx Point) */
305306
{ 0x8086, 0x8c01, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
306307
/* SATA Controller IDE (Lynx Point) */
307-
{ 0x8086, 0x8c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
308+
{ 0x8086, 0x8c08, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata_snb },
308309
/* SATA Controller IDE (Lynx Point) */
309310
{ 0x8086, 0x8c09, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
310311
/* SATA Controller IDE (Lynx Point-LP) */
@@ -439,6 +440,7 @@ static const struct piix_map_db *piix_map_db_table[] = {
439440
[ich8m_apple_sata] = &ich8m_apple_map_db,
440441
[tolapai_sata] = &tolapai_map_db,
441442
[ich8_sata_snb] = &ich8_map_db,
443+
[ich8_2port_sata_snb] = &ich8_2port_map_db,
442444
};
443445

444446
static struct pci_bits piix_enable_bits[] = {
@@ -1242,6 +1244,16 @@ static struct ata_port_info piix_port_info[] = {
12421244
.udma_mask = ATA_UDMA6,
12431245
.port_ops = &piix_sata_ops,
12441246
},
1247+
1248+
[ich8_2port_sata_snb] =
1249+
{
1250+
.flags = PIIX_SATA_FLAGS | PIIX_FLAG_SIDPR
1251+
| PIIX_FLAG_PIO16,
1252+
.pio_mask = ATA_PIO4,
1253+
.mwdma_mask = ATA_MWDMA2,
1254+
.udma_mask = ATA_UDMA6,
1255+
.port_ops = &piix_sata_ops,
1256+
},
12451257
};
12461258

12471259
#define AHCI_PCI_BAR 5

0 commit comments

Comments
 (0)