From owner-freebsd-new-bus Tue May 9 12:10:59 2000 Delivered-To: freebsd-new-bus@freebsd.org Received: from tele-post-20.mail.demon.net (tele-post-20.mail.demon.net [194.217.242.20]) by hub.freebsd.org (Postfix) with ESMTP id 58A2637BEC8; Tue, 9 May 2000 12:10:54 -0700 (PDT) (envelope-from dfr@nlsystems.com) Received: from nlsys.demon.co.uk ([158.152.125.33] helo=herring.nlsystems.com) by tele-post-20.mail.demon.net with esmtp (Exim 2.12 #2) id 12pFP7-000OK4-0K; Tue, 9 May 2000 19:10:50 +0000 Received: from salmon.nlsystems.com (salmon.nlsystems.com [10.0.0.3]) by herring.nlsystems.com (8.9.3/8.8.8) with ESMTP id UAA48000; Tue, 9 May 2000 20:14:06 +0100 (BST) (envelope-from dfr@nlsystems.com) Date: Tue, 9 May 2000 20:15:36 +0100 (BST) From: Doug Rabson To: "John H. Baldwin" Cc: freebsd-new-bus@freebsd.org, jhb@freebsd.org, n_hibma@freebsd.org Subject: Re: Alpha USB difficulties... In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-new-bus@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Tue, 9 May 2000, John H. Baldwin wrote: > On Tue, 9 May 2000, Doug Rabson wrote: > > > There is already a function isa_alloc_intr() which does most of what you > > need so perhaps you don't need to add isa_alloc_intrs(). On the other > > hand, your function is slightly more general. > > I did see the isa_alloc_intr() function, it was what I modeled my function > on. I did use the intrs() function solely for the general case. I > figured it would be bad to assume that all IRQ requests would always > contain just one IRQ. If that is the case, however, then I'll change it > to use isa_alloc_intr() instead. > > > To make interrupt delivery work, you also need to hook pci_setup_intr and > > pci_teardown_intr and vector them to the isa functions too. > > Hmmm, it looks like I'll need to override this /sys/pci/pcisupport.c > conditional on #ifdef alpha? Or is this only a USB thing and thus should > only be done for the ohci and uhci drivers? I was assuming that this was > a general problem with SRM and PCI devices with ISA IRQ's. Hmm. I forgot that each chipset provides its own setup/teardown code. You don't need to change any mi code but you probably need to add some extra logic to cia_setup_intr() and tsunami_setup_intr(). Those are the main chipsets which are affected although really this should happen for all chipsets which don't use the ISA pic for routing all interrupts. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 20 8442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-new-bus" in the body of the message