Date: Thu, 28 Sep 2000 11:17:37 -0700 (PDT) From: roland@serv.ch To: freebsd-gnats-submit@FreeBSD.org Subject: kern/21627: Chipset SiS630E / ATA SiS 5591 Message-ID: <20000928181737.43E6537B422@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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: <QUANTUM FIREBALLP LM15/A35.0700> 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: <ST313032A/3.09> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000928181737.43E6537B422>
