Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Feb 1999 22:38:02 +0000 (GMT)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Michael Reifenberger <root@nihil.plaut.de>
Cc:        Benjamin Lewis <bhlewis@gte.net>, freebsd-current@freebsd.org, se@freebsd.org
Subject:   Re: Compaq built-in ncr & tl controllers with 4.0
Message-ID:  <Pine.BSF.4.05.9902182236270.61913-100000@herring.nlsystems.com>
In-Reply-To: <Pine.BSF.4.05.9902182242130.569-100000@nihil.plaut.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 18 Feb 1999, Michael Reifenberger wrote:

> On Thu, 18 Feb 1999, Doug Rabson wrote:
> ...
> > It may be that we aren't detecting the bridge properly in the 3.1 pci
> > code.
> dmesg under 2.2.7 shows:
> ...
> eisa0: <CPQ553 (System Board)>
> Probing for devices on the EISA bus
> DPT:  EISA SCSI HBA Driver, version 1.4.3
> Probing for devices on PCI bus 0:
> chip0 <Ross (?) host to PCI bridge> rev 3 on pci0:0:0  
> vga0...
> ncr0...
> ...
> chip1 <generic PCI bridge (vendor=0e11 device=0001 subclass=2)> rev 7 on
> pci0:15:0
> chip2 <Ross (?) host to PCI bridge> rev 3 on pci0:17:0
> Probing for devices on PCI bus 1: 
> ...
> ncr1...
> sd0...
> st0...
> ...
> 
> Hmm. a quick: `cvs diff -u -r1.40.2.1 -r1.40.2.7 pcisupport.c` showed that the
> occurances of config_Ross went in in 1.40.2.7 to pcisupport.c by se.
> Seems we have some functtionality missing in the -current.
> May I ask you to merge the missing routines over?
> 
> ...
> > I may end up changing this so we probe in a depth first order due to some
> > other changes I am making to the pci code.
> Would be nice. Thanks.

I'm working blind here but it seems to me that this patch might fix it.
It might probe one too many busses but that can be fixed by removing the
+1 in fixbushigh_Ross().

Index: pcisupport.c
===================================================================
RCS file: /home/ncvs/src/sys/pci/pcisupport.c,v
retrieving revision 1.92
diff -u -r1.92 pcisupport.c
--- pcisupport.c	1999/02/13 17:51:46	1.92
+++ pcisupport.c	1999/02/18 22:34:59
@@ -204,7 +204,17 @@
 	tag->secondarybus = tag->subordinatebus = subordinatebus;
 }
 
+static void
+fixbushigh_Ross(pcici_t tag)
+{
+	int secondarybus;
 
+	/* just guessing the secondary bus register number ... */
+	secondarybus = pci_cfgread(tag, 0x45, 1);
+	if (secondarybus != 0)
+		tag->secondarybus = tag->subordinatebus = secondarybus + 1;
+}
+
 static void
 fixwsc_natoma(pcici_t tag)
 {
@@ -388,6 +398,11 @@
 		return ("NEC 002C PCI to PC-98 C-bus bridge");
 	case 0x003b1033:
 		return ("NEC 003B PCI to PC-98 C-bus bridge");
+
+	/* Ross (?) -- vendor 0x1166 */
+	case 0x00051166:
+		fixbushigh_Ross(tag);
+		return ("Ross (?) host to PCI bridge");
 	};
 
 	if ((descr = generic_pci_bridge(tag)) != NULL)


--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 442 9037




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




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