From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTP id 8007CDDECC for ; Mon, 14 May 2007 18:04:11 +1000 (EST) Subject: Re: [RFC/PATCH] powerpc: Rewrite IO allocation & mapping on powerpc64 From: Benjamin Herrenschmidt To: linuxppc-dev@ozlabs.org In-Reply-To: <20070514075415.7999BDDEC8@ozlabs.org> References: <20070514075415.7999BDDEC8@ozlabs.org> Content-Type: text/plain Date: Mon, 14 May 2007 18:03:58 +1000 Message-Id: <1179129838.32247.84.camel@localhost.localdomain> Mime-Version: 1.0 Cc: Olof Johansson , Paul Mackerras , Anton Blanchard , Arnd Bergmann List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, 2007-05-14 at 17:53 +1000, Benjamin Herrenschmidt wrote: > - Handle allocation constraints of PIO for all bridges including > hot plugged ones within the 2GB space reserved for IO ports, > so that devices on hotplugged busses will now work with drivers > that assume IO ports fit in an int. Olof, Arnd, that should fix your problem but it's not 2.6.22 material. I'll post a separate patch for 2.6.22 that does a temporary band aid, basically calling pci_setup_phb_io() + remap_bus_range() rather than pci_setup_phb_io_dynamic() from the of_device/PCI code and add a spinlock to reserve_phb_iospace(). I found also a couple of other nits for which I'll do patches for 2.6.22. For example, we don't mask out the "tokens" at the top of IO addresses in iounmap() which means it probably doesn't work on cell. Ouch. There's a number of other issues that my bigger patch fixes for which I won't bother with a 2.6.22 backport though. Cheers, Ben.