From owner-freebsd-i386@FreeBSD.ORG Fri Jan 16 12:30:28 2004 Return-Path: Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D9D4716A4F6 for ; Fri, 16 Jan 2004 12:30:28 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4427243D5E for ; Fri, 16 Jan 2004 12:30:16 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i0GKUGFR095409 for ; Fri, 16 Jan 2004 12:30:16 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i0GKUF8S095407; Fri, 16 Jan 2004 12:30:16 -0800 (PST) (envelope-from gnats) Resent-Date: Fri, 16 Jan 2004 12:30:16 -0800 (PST) Resent-Message-Id: <200401162030.i0GKUF8S095407@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-i386@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Björn König Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AE28E16A4CE for ; Fri, 16 Jan 2004 12:28:46 -0800 (PST) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id B0DA543D1D for ; Fri, 16 Jan 2004 12:28:45 -0800 (PST) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.12.10/8.12.10) with ESMTP id i0GKSjdL015532 for ; Fri, 16 Jan 2004 12:28:45 -0800 (PST) (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.12.10/8.12.10/Submit) id i0GKSj6s015531; Fri, 16 Jan 2004 12:28:45 -0800 (PST) (envelope-from nobody) Message-Id: <200401162028.i0GKSj6s015531@www.freebsd.org> Date: Fri, 16 Jan 2004 12:28:45 -0800 (PST) From: Björn König To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.0 Subject: i386/61442: Highpoint RocketRAID 1520 uses only UDMA2 X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jan 2004 20:30:29 -0000 >Number: 61442 >Category: i386 >Synopsis: Highpoint RocketRAID 1520 uses only UDMA2 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Jan 16 12:30:15 PST 2004 >Closed-Date: >Last-Modified: >Originator: Björn König >Release: FreeBSD 4.9 >Organization: >Environment: >Description: Probably some (or maybe all) hard disks on S-ATA controller Highpoint RocketRAID 1520 remains in UDMA2 (33 MB/s). Tested with Seagate Barracuda 7200.7 (ST380013AS). ATA driver shows "DMA limited to UDMA33, non-ATA66 cable or device" during booting process and benchmarks confirms a very low sequential reading data transfer rate (e.g. around 15 MB/s). >How-To-Repeat: >Fix: Use this patch below to override setting UDMA2 for HighPoint controllers and use the existing function hpt_cable80(...) to determine whether set this pessimistic mode or not. --- sys/dev/ata/ata-dma.c.orig Wed Jan 14 16:21:02 2004 +++ sys/dev/ata/ata-dma.c Wed Jan 14 16:20:46 2004 @@ -186,6 +186,7 @@ int device = ATA_DEV(atadev->unit); int devno = (channel << 1) + device; int error; + int override = 0; /* set our most pessimistic default mode */ atadev->mode = ATA_PIO; @@ -210,8 +211,16 @@ #if 1 if (udmamode > 2 && !atadev->param->hwres_cblid) { - ata_prtdev(atadev,"DMA limited to UDMA33, non-ATA66 cable or device\n"); - udmamode = 2; + if (chiptype == 0x00051103 && chiprev >= 0x01) + if (hpt_cable80) + override = 1; + + if (!override) { + ata_prtdev(atadev,"DMA limited to UDMA33, non-ATA66 cable or device\n"); + udmamode = 2; + } else { + ata_prtdev(atadev,"I don't force UDMA33\n"); + } } #endif switch (chiptype) { >Release-Note: >Audit-Trail: >Unformatted: