Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755761AbXFON2S (ORCPT ); Fri, 15 Jun 2007 09:28:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754505AbXFON2A (ORCPT ); Fri, 15 Jun 2007 09:28:00 -0400 Received: from gate.crashing.org ([63.228.1.57]:40288 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754380AbXFON17 (ORCPT ); Fri, 15 Jun 2007 09:27:59 -0400 Subject: Re: [patch 1/6] ps3: Preallocate bootmem memory for the PS3 FLASH ROM storage driver From: Benjamin Herrenschmidt To: Geert Uytterhoeven Cc: Paul Mackerras , linuxppc-dev@ozlabs.org, Jens Axboe , "James E.J. Bottomley" , linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20070615120848.002575000@pademelon.sonytel.be> References: <20070615113919.142332000@pademelon.sonytel.be> <20070615120848.002575000@pademelon.sonytel.be> Content-Type: text/plain Date: Fri, 15 Jun 2007 23:27:19 +1000 Message-Id: <1181914039.26853.80.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3028 Lines: 89 On Fri, 2007-06-15 at 13:39 +0200, Geert Uytterhoeven wrote: > plain text document attachment (ps3-stable) > Preallocate 256 KiB of bootmem memory for the PS3 FLASH ROM storage driver. I still very much dislike the #ifdef xxx_MODULE in main kernel code. At the end of the day, is it realistic to ever use a PS3 without the storage driver ? I would suggest just allocating those unconditionally. Ben. > Signed-off-by: Geert Uytterhoeven > Signed-off-by: Geoff Levand > --- > arch/powerpc/platforms/ps3/setup.c | 19 ++++++++++++++++++- > include/asm-powerpc/ps3.h | 1 + > 2 files changed, 19 insertions(+), 1 deletion(-) > > --- a/arch/powerpc/platforms/ps3/setup.c > +++ b/arch/powerpc/platforms/ps3/setup.c > @@ -107,7 +107,8 @@ static void ps3_panic(char *str) > while(1); > } > > -#if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) > +#if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) || \ > + defined(CONFIG_PS3_FLASH) || defined(CONFIG_PS3_FLASH_MODULE) > static void prealloc(struct ps3_prealloc *p) > { > if (!p->size) > @@ -123,7 +124,9 @@ static void prealloc(struct ps3_prealloc > printk(KERN_INFO "%s: %lu bytes at %p\n", p->name, p->size, > p->address); > } > +#endif > > +#if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) > struct ps3_prealloc ps3fb_videomemory = { > .name = "ps3fb videomemory", > .size = CONFIG_FB_PS3_DEFAULT_SIZE_M*1024*1024, > @@ -146,6 +149,18 @@ early_param("ps3fb", early_parse_ps3fb); > #define prealloc_ps3fb_videomemory() do { } while (0) > #endif > > +#if defined(CONFIG_PS3_FLASH) || defined(CONFIG_PS3_FLASH_MODULE) > +struct ps3_prealloc ps3flash_bounce_buffer = { > + .name = "ps3flash bounce buffer", > + .size = 256*1024, > + .align = 256*1024 > +}; > +EXPORT_SYMBOL_GPL(ps3flash_bounce_buffer); > +#define prealloc_ps3flash_bounce_buffer() prealloc(&ps3flash_bounce_buffer) > +#else > +#define prealloc_ps3flash_bounce_buffer() do { } while (0) > +#endif > + > static int ps3_set_dabr(u64 dabr) > { > enum {DABR_USER = 1, DABR_KERNEL = 2,}; > @@ -175,6 +190,8 @@ static void __init ps3_setup_arch(void) > #endif > > prealloc_ps3fb_videomemory(); > + prealloc_ps3flash_bounce_buffer(); > + > ppc_md.power_save = ps3_power_save; > > DBG(" <- %s:%d\n", __func__, __LINE__); > --- a/include/asm-powerpc/ps3.h > +++ b/include/asm-powerpc/ps3.h > @@ -427,6 +427,7 @@ struct ps3_prealloc { > }; > > extern struct ps3_prealloc ps3fb_videomemory; > +extern struct ps3_prealloc ps3flash_bounce_buffer; > > > #endif > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-dev - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/