From owner-freebsd-bugs@FreeBSD.ORG Tue Dec 22 12:40:08 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8692106566B for ; Tue, 22 Dec 2009 12:40:08 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 9EE168FC21 for ; Tue, 22 Dec 2009 12:40:08 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nBMCe8qN054081 for ; Tue, 22 Dec 2009 12:40:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nBMCe89H054080; Tue, 22 Dec 2009 12:40:08 GMT (envelope-from gnats) Date: Tue, 22 Dec 2009 12:40:08 GMT Message-Id: <200912221240.nBMCe89H054080@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Tomokazu HARADA Cc: Subject: Re: kern/140251: [ata] [patch] add UDMA5 support to Intel SCH X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Tomokazu HARADA List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Dec 2009 12:40:08 -0000 The following reply was made to PR kern/140251; it has been noted by GNATS. From: Tomokazu HARADA To: bug-followup@FreeBSD.org, mav@FreeBSD.org Cc: tharada@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)----