Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 1547

kernel-2.6.18-238.el5.src.rpm

From: Prarit Bhargava <prarit@redhat.com>
Date: Fri, 30 Jul 2010 15:30:34 -0400
Subject: [ide]: atiixp: no pio autotune on AMD Hudson2
Message-id: <20100730153034.3362.17554.sendpatchset@prarit.bos.redhat.com>
Patchwork-id: 27257
O-Subject: [RHEL5 BZ 618075 PATCH]: Do not autotune PIO on AMD Hudson2 IDE
	controller
Bugzilla: 618075
RH-Acked-by: Jarod Wilson <jarod@redhat.com>

Do not autotune PIO on systems with the AMD Hudson2 IDE device.

Admittedly, this is a hack.  The correct thing to do is backport some of the
upstream commits that merged the autotune code into ide_pci_setup_ports(),
however, I feel that is too big of a change for this stage of RHEL5.

If any other devices are found with this problem I'll reconsider backporting
or maybe just implement a blacklist.

Successfully compiled by me.  No HW available to test on.

Resolves BZ 618075.

P.

Signed-off-by: Jarod Wilson <jarod@redhat.com>

diff --git a/drivers/ide/pci/atiixp.c b/drivers/ide/pci/atiixp.c
index 09817ce..003a6e3 100644
--- a/drivers/ide/pci/atiixp.c
+++ b/drivers/ide/pci/atiixp.c
@@ -299,8 +299,15 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif)
 	hwif->autodma = 0;
 	hwif->tuneproc = &atiixp_tuneproc;
 	hwif->speedproc = &atiixp_speedproc;
-	hwif->drives[0].autotune = 1;
-	hwif->drives[1].autotune = 1;
+
+	if (pdev->vendor == PCI_VENDOR_ID_AMD &&
+	    pdev->device == PCI_DEVICE_ID_AMD_HUDSON2_IDE) {
+		hwif->drives[0].autotune = 0;
+		hwif->drives[1].autotune = 0;
+	} else {
+		hwif->drives[0].autotune = 1;
+		hwif->drives[1].autotune = 1;
+	}
 
 	if (!hwif->dma_base)
 		return;