From owner-freebsd-current Sun May 2 13:54:50 1999 Delivered-To: freebsd-current@freebsd.org Received: from kogge.Hanse.DE (kogge.hanse.de [192.76.134.17]) by hub.freebsd.org (Postfix) with ESMTP id 55D611544D; Sun, 2 May 1999 13:54:45 -0700 (PDT) (envelope-from stefan.bethke@hanse.de) Received: from transit.hanse.de (transit-a.Hanse.DE [193.174.9.161]) by kogge.Hanse.DE (8.9.1/8.9.1) with ESMTP id WAA70661; Sun, 2 May 1999 22:54:28 +0200 (CEST) (envelope-from stefan.bethke@hanse.de) Received: from monster.transit-a.hanse.de (monster [193.174.9.163]) by transit.hanse.de (8.8.8/8.8.8) with ESMTP id WAA27265; Sun, 2 May 1999 22:54:25 +0200 (CEST) (envelope-from stefan.bethke@hanse.de) Date: Sun, 02 May 1999 22:54:16 +0200 From: Stefan Bethke To: freebsd-current@FreeBSD.ORG Cc: sos@FreeBSD.ORG Subject: ata and IRQ sharing (was: panic in nexus_setup_intr+0x13 with new ata driver) Message-ID: <15018945.3134674456@monster.transit-a.hanse.de> In-Reply-To: <14289515.3134662328@monster.transit-a.hanse.de> Originator-Info: login-id=stb; server=transit.transit-a.hanse.de X-Mailer: Mulberry (MacOS) [1.4.0, s/n U-301178] MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --On Son, 2. Mai 1999 19:32 Uhr +0200 Stefan Bethke wrote: > I'm currently trying to get a Promise Ultra/33 to work with S=F8rens new = ata > drivers. I've delved into the code a bit more. The panic results from ata_pciattach() not checking whether an IRQ resource could be allocated. Ths seems to stem from the fact that the IRQ is already taken by an ed PCI card. I've added RF_SHAREABLE to the bus_alloc_resource() flags, and was able to bring up the kernel fine. However, ed0 reported constant device timeouts, and accessing wd0 resulted in an endless wait for an interrupt. Removing the ed card makes the Promise controller work. I'm getting about 7MB/s from an IBM DTTA 350840, which should be normal. The board I'm currently trying this on is an Asus SP3, having the mis-feature of only having a single INTA for all three PCI slots (IRQ 5 = in my case). Now, PCI does support interrupt sharing, but in this case it might be broken: - in the chipset (but it worked with both an ed and ncr card installed) - in the newbus stuff - in the Promise controller - somewhere in promise_intr Would someone care to shed some light on this? I will try to do some tests on an Asus SP3G, which does have seperate = INTAs per PCI slot. Stefan -- Stefan Bethke Muehlendamm 12 Phone: +49-40-256848, +49-177-3504009 D-22087 Hamburg Hamburg, Germany To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message