From mboxrd@z Thu Jan 1 00:00:00 1970 From: plagnioj@jcrosoft.com (Jean-Christophe PLAGNIOL-VILLARD) Date: Wed, 18 May 2011 06:51:40 +0200 Subject: [PATCH 2/9] davinci: sram: ioremap the davinci_soc_info specified sram regions In-Reply-To: <80c0c2ff5a39baf6140c08460c2691b178c038c0.1305668470.git.bengardiner@nanometrics.ca> References: <80c0c2ff5a39baf6140c08460c2691b178c038c0.1305668470.git.bengardiner@nanometrics.ca> Message-ID: <20110518045140.GE18699@game.jcrosoft.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 17:41 Tue 17 May , Ben Gardiner wrote: > The current davinci init sets up SRAM in iotables. There has been an observed > failure to boot a da850 with 128K specified in the iotable. > > Make the davinci sram allocator -- now based on RMK's consolidated SRAM > support -- do an ioremap of the region specified by the entries in > davinci_soc_info before registering with pv_pool_create(). > > This commit breaks runtime of davinci boards since the regions that > the sram init is now trying to ioremap have been iomapped by their > iotable entries. The iotable entries will be removed in the patches > to come. > > Signed-off-by: Ben Gardiner > --- > arch/arm/mach-davinci/sram.c | 12 ++++++++++-- > 1 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-davinci/sram.c b/arch/arm/mach-davinci/sram.c > index 219d4c5..96026df 100644 > --- a/arch/arm/mach-davinci/sram.c > +++ b/arch/arm/mach-davinci/sram.c > @@ -8,6 +8,7 @@ > * the Free Software Foundation; either version 2 of the License, or > * (at your option) any later version. > */ > +#include > #include > #include > #include > @@ -26,16 +27,23 @@ EXPORT_SYMBOL_GPL(davinci_pv_pool); > */ > static int __init sram_init(void) > { > + void *addr; > unsigned len = davinci_soc_info.sram_len; > int status = 0; > > if (len) { > len = min_t(unsigned, len, SRAM_SIZE); > - davinci_pv_pool = pv_pool_create((void *)SRAM_VIRT, > + addr = ioremap(davinci_soc_info.sram_phys, len); > + if (!addr) > + return -EIO; > + > + davinci_pv_pool = pv_pool_create(addr, > davinci_soc_info.sram_phys, len, > ilog2(SRAM_GRANULARITY)); please use the gennalloc directly as discuss with Andrew and Russell my patch will present in the .40 Best Regards, J.