Date: Fri, 16 Jan 2004 12:28:45 -0800 (PST) From: Björn König <bkoenig@cs.tu-berlin.de> To: freebsd-gnats-submit@FreeBSD.org Subject: i386/61442: Highpoint RocketRAID 1520 uses only UDMA2 Message-ID: <200401162028.i0GKSj6s015531@www.freebsd.org> Resent-Message-ID: <200401162030.i0GKUF8S095407@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401162028.i0GKSj6s015531>