Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 May 2000 20:15:36 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        "John H. Baldwin" <jobaldwi@cslab.vt.edu>
Cc:        freebsd-new-bus@freebsd.org, jhb@freebsd.org, n_hibma@freebsd.org
Subject:   Re: Alpha USB difficulties...
Message-ID:  <Pine.BSF.4.21.0005092012110.47945-100000@salmon.nlsystems.com>
In-Reply-To: <Pine.BSF.4.21.0005090836050.31869-100000@snowcow.cslab.vt.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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




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