From owner-freebsd-bugs Thu Sep 28 11:21:18 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id DB11D37B59E for ; Thu, 28 Sep 2000 11:20:00 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id LAA77780; Thu, 28 Sep 2000 11:20:00 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: by hub.freebsd.org (Postfix, from userid 32767) id 43E6537B422; Thu, 28 Sep 2000 11:17:37 -0700 (PDT) Message-Id: <20000928181737.43E6537B422@hub.freebsd.org> Date: Thu, 28 Sep 2000 11:17:37 -0700 (PDT) From: roland@serv.ch To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: kern/21627: Chipset SiS630E / ATA SiS 5591 Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 21627 >Category: kern >Synopsis: Chipset SiS630E / ATA SiS 5591 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Sep 28 11:20:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Roland Schneider >Release: 4.1.1 STABLE >Organization: >Environment: FreeBSD ***** 4.1.1-STABLE FreeBSD 4.1.1-STABLE #0: Thu Sep 28 18:03:48 CEST 2000 ***@******:/mnt/install/src/sys/compile/kernel i386 >Description: The SiS630E (recognized as SiS 5591) Driver will do only UDMA33. >How-To-Repeat: Install FreeBSD on a ASUS CUSI-FX with UDMA66-Disk. >Fix: Its not a fix but adds UDMA66 to the SiS 5591 for the primary master. Dont use a UDMA33-Device there because it will fallback to plain PIO later and I dont know where to fix this... Bonnie shows no difference between UDMA33 and UDMA66. Insert the following in sys/dev/ata/ata-dma.c just bevore line #409: if (udmamode >= 4 && scp->unit == 0 && device == ATA_MASTER ) { error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting UDMA4 on SiS chip\n", (error) ? "failed" : "success"); if (!error) { pci_write_config(parent, 0x40 + (devno << 1), 0xa301, 2); scp->mode[ATA_DEV(device)] = ATA_UDMA4; return; } } From /var/run/dmesg.boot: ata0-master: success setting UDMA4 on SiS chip ad0: ATA-5 disk at ata0 as master ad0: 14324MB (29336832 sectors), 29104 cyls, 16 heads, 63 S/T, 512 B/S ad0: 16 secs/int, 1 depth queue, UDMA66 ad0: piomode=4 dmamode=2 udmamode=4 cblid=1 ata1-master: success setting UDMA2 on SiS chip ad2: ATA-4 disk at ata1 as master ad2: 12419MB (25434228 sectors), 25232 cyls, 16 heads, 63 S/T, 512 B/S ad2: 16 secs/int, 1 depth queue, UDMA33 ad2: piomode=4 dmamode=2 udmamode=4 cblid=1 >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message