Patchwork [RFC,1/2] ata_piix: revert quirks for fixing SNB chips

login
register
mail settings
Submitter Ming Lei
Date Oct. 4, 2011, 5:10 a.m.
Message ID <1317705025-25652-1-git-send-email-ming.lei@canonical.com>
Download mbox | patch
Permalink /patch/117538/
State New
Headers show

Comments

Ming Lei - Oct. 4, 2011, 5:10 a.m.
From: Ming Lei <ming.lei@canonical.com>

Revert the commit 44e8c44804843af82e614921173bc0e01c3ea2e0 in
ubuntu-oneiric.git.

	UBUNTU: SAUCE: ata: make DVD drive recognisable on systems with Sandybridge CPT chipset

because we have a better solution which can fix more cases than the old one.

BugLink:
        https://bugs.launchpad.net/bugs/737388
        https://bugs.launchpad.net/bugs/794642
        https://bugs.launchpad.net/bugs/782389

Upstream: [1],[2],[3]

[1], https://bugzilla.kernel.org/show_bug.cgi?id=40592
[2], http://marc.info/?t=131665670300001&r=1&w=2
[3], http://marc.info/?t=131743346400002&r=1&w=2

Signed-off-by: Ming Lei <ming.lei@canonical.com>
---
 drivers/ata/ata_piix.c |   12 +-----------
 1 files changed, 1 insertions(+), 11 deletions(-)
Stefan Bader - Oct. 4, 2011, 11:36 a.m.
Overall the new approach looks clean. At the moment this is definitely "UBUNTU:
SAUCE:". And the BugLink statement needs to be fixed (One BugLink: key per line
followed by the link).
Also the target release is unclear (Oneiric?). Also wondering whether at least
the subject is the same as the upstream patch will be (while git likely can cope
it would make it simpler for humans to match patches).

Patch

diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index eb7ea56..43107e9 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -341,12 +341,11 @@  static struct ata_port_operations piix_sata_ops = {
 };
 
 static struct ata_port_operations piix_pata_ops = {
-	.inherits		= &ata_bmdma32_port_ops,
+	.inherits		= &piix_sata_ops,
 	.cable_detect		= ata_cable_40wire,
 	.set_piomode		= piix_set_piomode,
 	.set_dmamode		= piix_set_dmamode,
 	.prereset		= piix_pata_prereset,
-	.sff_irq_check		= piix_irq_check,
 };
 
 static struct ata_port_operations piix_vmw_ops = {
@@ -1586,15 +1585,6 @@  static int __devinit piix_init_one(struct pci_dev *pdev,
 				"on poweroff and hibernation\n");
 	}
 
-	/*
-	 * Sandybridge chipset H61/P67/H67 have broken 32 mode up to now
-	 * see https://bugzilla.kernel.org/show_bug.cgi?id=40592
-	 */
-	if (pdev->vendor == PCI_VENDOR_ID_INTEL && pdev->device == 0x1c00)
-		piix_sata_ops.inherits = &ata_bmdma_port_ops;
-	else
-		piix_sata_ops.inherits = &ata_bmdma32_port_ops;
-
 	port_info[0] = piix_port_info[ent->driver_data];
 	port_info[1] = piix_port_info[ent->driver_data];