From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754002Ab3A3Hgk (ORCPT ); Wed, 30 Jan 2013 02:36:40 -0500 Received: from smtp.nue.novell.com ([195.135.221.5]:53750 "EHLO smtp.nue.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753491Ab3A3Hgj (ORCPT ); Wed, 30 Jan 2013 02:36:39 -0500 Subject: Re: [PATCH] ata: Fix DVD not dectected at some Haswell platforms From: joeyli To: Youquan Song Cc: htejun@gmail.com, ming.lei@canonical.com, linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, seth.heasley@intel.com, james.d.ralston@intel.com, Youquan Song In-Reply-To: <1359566374-27286-1-git-send-email-youquan.song@intel.com> References: <1359566374-27286-1-git-send-email-youquan.song@intel.com> Content-Type: text/plain; charset="UTF-8" Date: Wed, 30 Jan 2013 15:32:52 +0800 Message-ID: <1359531172.15258.1.camel@linux-s257.site> Mime-Version: 1.0 X-Mailer: Evolution 2.28.2 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 於 三,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 Patch works to me for avoid DVD detection on Intel Shark Bay development machine. Tested-by: Lee, Chun-Yi 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[] = {