Subject: port-i386/20410: SIS 85C496 chipset support is bad
To: None <gnats-bugs@gnats.netbsd.org>
From: None <wojtek@3miasto.net>
List: netbsd-bugs
Date: 02/18/2003 01:15:49
>Number:         20410
>Category:       port-i386
>Synopsis:       SIS 85C496 chipset support is bad
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 18 01:16:01 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Wojciech Puchar
>Release:        release 1-5 (quite new)
>Organization:
TENSOR ap
>Environment:
NetBSD ice.3miasto.net 1.5.4_ALPHA NetBSD 1.5.4_ALPHA (router.ice) #8: Tue Feb 18 09:56:31 CET 2003     wojtek@chylonia.3miasto.net:/home/wojtek/kernel/router.ice i386
>Description:
1.5 kernels (possibly 1.6 but i don't use) consider this chipset as broken 
on mmaped devices and just disables memory mapping.

that's definitely too strong, and it breaks some devices that works well and stable


>How-To-Repeat:
try using puc(4) with such chipset. computer hangs, serial ports locks
etc.

>Fix:
last lines in pci_machdep.c should look like:
                switch (PCI_VENDOR(id)) {
                case PCI_VENDOR_SIS:
                        switch (PCI_PRODUCT(id)) {
                        case PCI_PRODUCT_SIS_85C496:
                                goto warning_mem;
                                break;
                        }
                        break;
                }
        }

        return (rval);

 warning_mem:
        printf("Warning: broken PCI-Host bridge detected; some memory-mapped devices may not function
//      rval &= ~PCI_FLAGS_MEM_ENABLED;
        return (rval);
}

so administrator is just warned, but allowed to use.

after this patch router with puc works stable for 2 days (beofre - max 15 minutes )
other machine works fine with matrox millenium PCI (memory mapped) card as X terminal

memory mapped things seems to work fine, while busmaster devices not. for example
sip(4) doesn't.


>Release-Note:
>Audit-Trail:
>Unformatted: