kern/60278: add support for Sis 96x
Yen-Ming Lee
leeym at utopia.leeym.com
Mon Dec 15 12:40:23 PST 2003
>Number: 60278
>Category: kern
>Synopsis: add support for Sis 96x
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Dec 15 12:40:13 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Yen-Ming Lee
>Release: FreeBSD 5.2-RC i386
>Organization:
>Environment:
System: FreeBSD utopia.leeym.com 5.2-RC FreeBSD 5.2-RC #3: Tue Dec 16 04:18:02 CST 2003 leeym at utopia.leeym.com:/mnt3/obj/usr/src/sys/UTOPIA i386
>Description:
Sis 963L returns 0x55131039 as its PCI ID.
# pciconf -l|grep atapci
atapci0 at pci0:2:5: class=0x01018a card=0x55131039 chip=0x55131039 rev=0x00 hdr=0x00
>How-To-Repeat:
Install FreeBSD on the box with SiS 963L controller on the motherboard,
says "MSI 661FM-L" or "Asrock K7S8X"
>Fix:
--- ata-chipset.c.diff begins here ---
Index: ata-chipset.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v
retrieving revision 1.50
diff -u -r1.50 ata-chipset.c
--- ata-chipset.c 8 Dec 2003 09:22:20 -0000 1.50
+++ ata-chipset.c 15 Dec 2003 20:28:05 -0000
@@ -1957,10 +1957,11 @@
if (!(idx = ata_find_chip(dev, ids, -pci_get_slot(dev))))
return ENXIO;
- if (idx->cfg1 == SIS_SOUTH) {
+ if (idx->cfg1 == SIS_SOUTH || idx->cfg1 == SIS33) {
pci_write_config(dev, 0x57, pci_read_config(dev, 0x57, 1) & 0x7f, 1);
if (pci_read_config(dev, 0x00, 4) == ATA_SIS5518) {
idx->cfg1 = SIS133NEW;
+ idx->max_dma = ATA_UDMA6;
sprintf(buffer, "SiS 96X %s controller",ata_mode2str(idx->max_dma));
}
else {
--- ata-chipset.c.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list