kern/140251: [ata] [patch] add UDMA5 support to Intel SCH
Tomokazu HARADA
tharada at oucrc.org
Tue Dec 22 12:40:08 UTC 2009
The following reply was made to PR kern/140251; it has been noted by GNATS.
From: Tomokazu HARADA <tharada at oucrc.org>
To: bug-followup at FreeBSD.org, mav at FreeBSD.org
Cc: tharada at oucrc.org
Subject: Re: kern/140251: [ata] [patch] add UDMA5 support to Intel SCH
Date: Tue, 22 Dec 2009 21:37:25 +0900 (JST)
----Next_Part(Tue_Dec_22_21_37_25_2009_135)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
It runs, but DMA limited to UDMA33. This is another problem
in ata-all.c. I modified ata-all.c, it goes UDMA100 well.
-----
Tomokazu HARADA
----Next_Part(Tue_Dec_22_21_37_25_2009_135)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="ata-all.c.patch"
--- ata-all.c.orig 2009-12-22 21:13:40.000000000 +0900
+++ ata-all.c 2009-12-22 21:15:45.000000000 +0900
@@ -552,7 +552,8 @@
do {
pmode = mode = ata_limit_mode(dev, mode, ATA_DMA_MAX);
mode = ATA_SETMODE(device_get_parent(dev), atadev->unit, mode);
- if ((ch->flags & (ATA_CHECKS_CABLE | ATA_SATA)) == 0)
+ if ((ch->flags & ATA_CHECKS_CABLE) != 0 &&
+ (ch->flags & ATA_SATA) == 0)
mode = ata_check_80pin(dev, mode);
} while (pmode != mode); /* Interate till successfull negotiation. */
error = ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode);
----Next_Part(Tue_Dec_22_21_37_25_2009_135)----
More information about the freebsd-bugs
mailing list