於 三,2013-01-30 於 12:19 -0500,Youquan Song 提到: > There is a quirk patch 5e5a4f5d5a08c9c504fe956391ac3dae2c66556d fix the 4 ports > IDE controller 32bit PIO mode. > Recently, the problem was showed at Haswell platform which includes 2 ports > IDE controller. > > So introduce a qurik patch to disable 32bit PIO at this IDE controller. > > Signed-off-by: Youquan Song <youquan.song@xxxxxxxxx> Patch works to me for avoid DVD detection on Intel Shark Bay development machine. Tested-by: Lee, Chun-Yi <jlee@xxxxxxxx> Thanks a lot! Joey Lee > --- > 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 ef773e1..1993e52 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 { > @@ -326,7 +327,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) */ > @@ -502,6 +503,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 ata_port_info piix_port_info[] = { > @@ -643,6 +645,16 @@ static struct ata_port_info piix_port_info[] = { > .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, > + }, > + > + > }; > > static struct pci_bits piix_enable_bits[] = { -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html