From owner-freebsd-current Sat Jul 7 14: 2:32 2001 Delivered-To: freebsd-current@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id E6CDE37B401; Sat, 7 Jul 2001 14:02:28 -0700 (PDT) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id f67L2Rg10342; Sat, 7 Jul 2001 15:02:27 -0600 (MDT) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (localhost.village.org [127.0.0.1]) by harmony.village.org (8.11.3/8.11.4) with ESMTP id f67L2QJ72605; Sat, 7 Jul 2001 15:02:26 -0600 (MDT) (envelope-from imp@harmony.village.org) Message-Id: <200107072102.f67L2QJ72605@harmony.village.org> To: Mike Smith Subject: Re: Problems with ata probing twice. Cc: Makoto MATSUSHITA , sos@freebsd.dk, current@FreeBSD.ORG In-reply-to: Your message of "Sat, 07 Jul 2001 13:04:28 PDT." <200107072004.f67K4S701211@mass.dis.org> References: <200107072004.f67K4S701211@mass.dis.org> Date: Sat, 07 Jul 2001 15:02:26 -0600 From: Warner Losh Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG In message <200107072004.f67K4S701211@mass.dis.org> Mike Smith writes: : > : > sos> Well, sortof, the ata driver doesn't allow for sharing irq14&15 : > sos> since lots of boards doesn't work that way. However if you need : > sos> it you can try to add the shared flag in the driver and see if : > sos> it works on yours. Hmm, maybe I should make this tunable... : > : > It this patch OK? I've tested a kernel with this patch and it works. : > : > This patch simply adds a new kernel MIB (hw.ata.shareable in this : > patch, but I have no idea about its name), and if this MIB value is : > non-zero, ata driver doesn't drop RF_SHAREABLE bit for BUS_ALLOC_RESOURCE(). : : No. This is utterly bogus. : : There is absolutely no reason for the ata driver not to simply set : RF_SHAREABLE and be done with it. It's up to the driver's parent (isa, : pci, etc) to decide whether the interrupt is in fact shareable or not. : : The ata driver itself can share interrupts just fine, and it should : reflect this in its interrupt allocation. Actually, there is a reason. Ata is special like pcic is special. Both of them can have multiple interrupt routing methods. When ata is connected directly to the south bridge, it can route ISA interrupts, even though it is a pci device. In this case, it is unsafe to share interrupts between the ata device and anything else. Even though it looks like a pci device, the interrupt routing is ISA. Cardbus bridges in laptops have the same problems. And it is looking like we can't just use the pcibios to route the interrupts on some older machines so we have to have some way to say "use isa interrupts for this device." That's a big pain for cardbus bridges because many of them would really like to be pci devices so you can relocate memory out of the ISA hole, etc. But for almost any other device, what you say is true. Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message