Date: Tue, 24 Sep 2002 14:55:49 -0700 (PDT) From: Patrick Bihan-Faou <patrick@mindstep.com> To: freebsd-gnats-submit@FreeBSD.org Subject: kern/43345: Support for the SiS 651 ATA controller Message-ID: <200209242155.g8OLtnDu067178@www.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 43345
>Category: kern
>Synopsis: Support for the SiS 651 ATA controller
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Sep 24 15:00:14 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Patrick Bihan-Faou
>Release: RELENG_4 on i386
>Organization:
MindStep Corporation
>Environment:
Checked out using the following tags:
-r RELENG_4 -D "2002/09/14 00:00 UTC"
>Description:
The ATA controller in the SiS951 chipset is not recognized properly. This causes FreeBSD to treat it as a basic ATA controller. However using the default BIOS config (with ultra-dma enabled) this causes the system to freeze as soon as the system tries to use the hard drives.
While this controller supposedly supports ATA-133, using it like other ATA-100 chipsets from SiS fixes the problem.
>How-To-Repeat:
>Fix:
Either disable 'ultra-dma' from the bios or add code to detect the SiS951 integrated ATA controller in the same way as the SiS950 chipset.
The parent device ID for this chipset is: 0x06511039
The following patch does the trick:
--- ata-dma.c.orig Mon Sep 16 15:46:42 2002
+++ ata-dma.c Mon Sep 16 15:51:14 2002
@@ -503,6 +503,7 @@
ata_find_dev(parent, 0x06401039, 0) || /* SiS 640 */
ata_find_dev(parent, 0x06451039, 0) || /* SiS 645 */
ata_find_dev(parent, 0x06501039, 0) || /* SiS 650 */
+ ata_find_dev(parent, 0x06511039, 0) || /* SiS 651 */
ata_find_dev(parent, 0x07301039, 0) || /* SiS 730 */
ata_find_dev(parent, 0x07331039, 0) || /* SiS 733 */
ata_find_dev(parent, 0x07351039, 0) || /* SiS 735 */
bash-2.05a# diff -u ata-pci.c.orig ata-pci.c
--- ata-pci.c.orig Mon Sep 16 15:41:26 2002
+++ ata-pci.c Tue Sep 24 19:50:33 2002
@@ -190,6 +190,7 @@
ata_find_dev(dev, 0x06401039, 0) ||
ata_find_dev(dev, 0x06451039, 0) ||
ata_find_dev(dev, 0x06501039, 0) ||
+ ata_find_dev(dev, 0x06511039, 0) ||
ata_find_dev(dev, 0x07301039, 0) ||
ata_find_dev(dev, 0x07331039, 0) ||
ata_find_dev(dev, 0x07351039, 0) ||
These are against:
ata-pic.c 1.32.2.9
ata-dma.c 1.32.2.26
>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?200209242155.g8OLtnDu067178>
