Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Oct 1999 16:23:50 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        "Erik H. Bakke" <erik@habatech.no>
Cc:        Doug Rabson <dfr@nlsystems.com>, freebsd-alpha@FreeBSD.ORG
Subject:   Re: Timer problems with current on 164SX
Message-ID:  <14339.36320.968256.382298@grasshopper.cs.duke.edu>
In-Reply-To: <XFMail.991012130736.erik@habatech.no>
References:  <Pine.BSF.4.10.9910120932590.76404-100000@salmon.nlsystems.com> <XFMail.991012130736.erik@habatech.no>

next in thread | previous in thread | raw e-mail | index | archive | help

Erik H. Bakke writes:
 > 
 > On 12-Oct-99 Doug Rabson wrote:
 > >> The PCI-ISA bridge is not probed, and therefore no ISA devices will be
 > >> attached.
 > >> What changes has been done to this part lately, that could affect this?
 > >> And, also, is anyone else experiencing this?
 > > 
 > > I haven't heard anyone. Could you boot with 'boot -flags v' so that I can
 > > see what devices pci picks up.
 > > 
 > The output from both kernels are attached to this mail.
 > It seems to me that all devices are present on the PCI bus in both kernels,
 > but that the ISA bridge for some reason is not being probed.
 > 
 > Hope this is of any help :)

Yes, it does.  We're noticing this here.

The monet, miata & the 164sx use the Cypress multi-function chip.
This has an isa bridge, 2 IDE channels, and a USB port hanging off
it.  On newer kernels, the IDE driver appears to be claiming all four
functions when it should really only get 2:

This patch fixes it (its not as big as it looks, mainly indentation changes..): 


Index: sys/dev/ata//ata-all.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-all.c,v
retrieving revision 1.26
diff -u -r1.26 ata-all.c
--- ata-all.c	1999/10/11 11:04:43	1.26
+++ ata-all.c	1999/10/12 20:17:59
@@ -181,41 +181,43 @@
 static const char *
 ata_pcimatch(device_t dev)
 {
-    switch (pci_get_devid(dev)) {
-    /* supported chipsets */
-    case 0x12308086:
-	return "Intel PIIX IDE controller";
-    case 0x70108086:
-	return "Intel PIIX3 IDE controller";
-    case 0x71118086:
-	return "Intel PIIX4 IDE controller";
-    case 0x522910b9:
-	return "AcerLabs Aladdin IDE controller";
-    case 0x4d33105a:
-	return "Promise Ultra/33 IDE controller";
-    case 0x4d38105a:
-	return "Promise Ultra/66 IDE controller";
-    case 0x00041103:
-	return "HighPoint HPT366 IDE controller";
 
-   /* unsupported but known chipsets, generic DMA only */
-    case 0x05711106: /* 82c586 */
-    case 0x05961106: /* 82c596 */
-	return "VIA Apollo IDE controller (generic mode)";
-    case 0x06401095:
-	return "CMD 640 IDE controller (generic mode)";
-    case 0x06461095:
-	return "CMD 646 IDE controller (generic mode)";
-    case 0xc6931080:
-	return "Cypress 82C693 IDE controller (generic mode)";
-    case 0x01021078:
-	return "Cyrix 5530 IDE controller (generic mode)";
-    default:
-	if (pci_get_class(dev) == PCIC_STORAGE &&
-	    (pci_get_subclass(dev) == PCIS_STORAGE_IDE))
+    if (pci_get_class(dev) == PCIC_STORAGE &&
+	pci_get_subclass(dev) == PCIS_STORAGE_IDE){
+	switch (pci_get_devid(dev)) {
+        /* supported chipsets */
+	case 0x12308086:
+	    return "Intel PIIX IDE controller";
+	case 0x70108086:
+	    return "Intel PIIX3 IDE controller";
+	case 0x71118086:
+	    return "Intel PIIX4 IDE controller";
+	case 0x522910b9:
+	    return "AcerLabs Aladdin IDE controller";
+	case 0x4d33105a:
+	    return "Promise Ultra/33 IDE controller";
+	case 0x4d38105a:
+	    return "Promise Ultra/66 IDE controller";
+	case 0x00041103:
+	    return "HighPoint HPT366 IDE controller";
+	    
+	    /* unsupported but known chipsets, generic DMA only */
+	case 0x05711106: /* 82c586 */
+	case 0x05961106: /* 82c596 */
+	    return "VIA Apollo IDE controller (generic mode)";
+	case 0x06401095:
+	    return "CMD 640 IDE controller (generic mode)";
+	case 0x06461095:
+	    return "CMD 646 IDE controller (generic mode)";
+	case 0xc6931080:
+	    return "Cypress 82C693 IDE controller (generic mode)";
+	case 0x01021078:
+	    return "Cyrix 5530 IDE controller (generic mode)";
+	default:
 	    return "Unknown PCI IDE controller (generic mode)";
+	}
+	return NULL;
     }
-    return NULL;
 }
 
 static int



Drew



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14339.36320.968256.382298>