Date: Tue, 09 May 2000 17:03:08 -0400 (EDT) From: John Baldwin <jhb@FreeBSD.org> To: Doug Rabson <dfr@nlsystems.com> Cc: n_hibma@FreeBSD.org, freebsd-new-bus@FreeBSD.org, "John H. Baldwin" <jobaldwi@cslab.vt.edu> Subject: Re: Alpha USB difficulties... Message-ID: <200005092103.RAA05315@server.baldwin.cx> In-Reply-To: <Pine.BSF.4.21.0005092012110.47945-100000@salmon.nlsystems.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 09-May-00 Doug Rabson wrote: > 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. If you prefer the more general interface, I'll go through and convert all of the calls to isa_alloc_intr() to the isa_alloc_intrs() interface, and rename isa_alloc_intrs() to isa_alloc_intr() if that is preferred as well. That way we would only have one interface in the tree. >> > 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. Ok, done. For lack of a better name, I just renamed the functions to cia_tsunami_{setup,teardown}_intr(), and patched the cia and tsunami driver appropriately. Latest patch is at the same place as the others. -- John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.cslab.vt.edu/~jobaldwi/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ 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?200005092103.RAA05315>