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