From owner-freebsd-current Thu Feb 18 14:41: 8 1999 Delivered-To: freebsd-current@freebsd.org Received: from herring.nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (Postfix) with ESMTP id 81EF511B7A; Thu, 18 Feb 1999 14:41:00 -0800 (PST) (envelope-from dfr@nlsystems.com) Received: from localhost (dfr@localhost) by herring.nlsystems.com (8.9.2/8.8.8) with ESMTP id WAA65717; Thu, 18 Feb 1999 22:38:53 GMT (envelope-from dfr@nlsystems.com) Date: Thu, 18 Feb 1999 22:38:02 +0000 (GMT) From: Doug Rabson To: Michael Reifenberger Cc: Benjamin Lewis , freebsd-current@freebsd.org, se@freebsd.org Subject: Re: Compaq built-in ncr & tl controllers with 4.0 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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: > Probing for devices on the EISA bus > DPT: EISA SCSI HBA Driver, version 1.4.3 > Probing for devices on PCI bus 0: > chip0 rev 3 on pci0:0:0 > vga0... > ncr0... > ... > chip1 rev 7 on > pci0:15:0 > chip2 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