[RFC PATCH v2] Consolidate SRAM support
Nori, Sekhar
nsekhar at ti.com
Mon Apr 18 12:12:10 EDT 2011
Hi Russell,
On Mon, Apr 18, 2011 at 14:22:59, Russell King - ARM Linux wrote:
> This is the second revision of this patch. I've not moved it out of
> ARM yet as I haven't had a positive response from SH yet.
I was able to test this on DaVinci (DA850 suspend-to-RAM) with
the following additional changes:
There was a sram_free call remaining in pm.c file.
diff --git a/arch/arm/mach-davinci/pm.c b/arch/arm/mach-davinci/pm.c
index 06eb0ff..0068e41 100644
--- a/arch/arm/mach-davinci/pm.c
+++ b/arch/arm/mach-davinci/pm.c
@@ -131,7 +131,8 @@ static int __init davinci_pm_probe(struct platform_device *pdev)
static int __exit davinci_pm_remove(struct platform_device *pdev)
{
- sram_free(davinci_sram_suspend, davinci_cpu_suspend_sz);
+ pv_pool_free(davinci_pv_pool, davinci_sram_suspend,
+ davinci_cpu_suspend_sz);
return 0;
}
The cpu suspend code on DaVinci was not aligned 8 to bytes
and so the fncpy function was throwing a bug.
diff --git a/arch/arm/mach-davinci/sleep.S b/arch/arm/mach-davinci/sleep.S
index fb5e72b..dcb8e9d 100644
--- a/arch/arm/mach-davinci/sleep.S
+++ b/arch/arm/mach-davinci/sleep.S
@@ -50,6 +50,8 @@
* r4: contains virtual address of the DEEPSLEEP register
*/
ENTRY(davinci_cpu_suspend)
+ .align 3
+
stmfd sp!, {r0-r12, lr} @ save registers on stack
ldr ip, CACHE_FLUSH
> > Lastly, uio_pruss should probably take the SRAM pool pointer via
> > platform data so that it doesn't have to include Davinci specific
> > includes.
>
> arch/arm/Kconfig | 2 +
> arch/arm/common/Kconfig | 4 ++
> arch/arm/common/Makefile | 1 +
> arch/arm/common/pv-pool.c | 69 +++++++++++++++++++++++++++
> arch/arm/include/asm/pv-pool.h | 20 ++++++++
> arch/arm/mach-davinci/da850.c | 2 +-
> arch/arm/mach-davinci/dm355.c | 2 +-
> arch/arm/mach-davinci/dm365.c | 2 +-
> arch/arm/mach-davinci/dm644x.c | 2 +-
> arch/arm/mach-davinci/dm646x.c | 2 +-
> arch/arm/mach-davinci/include/mach/common.h | 2 +-
> arch/arm/mach-davinci/include/mach/sram.h | 13 +----
> arch/arm/mach-davinci/pm.c | 12 +----
> arch/arm/mach-davinci/sram.c | 42 +++--------------
> arch/arm/plat-mxc/Kconfig | 2 +-
> arch/arm/plat-mxc/include/mach/iram.h | 24 +++++++--
> arch/arm/plat-mxc/iram_alloc.c | 50 +++++---------------
> arch/arm/plat-omap/include/plat/sram.h | 17 ++++---
> arch/arm/plat-omap/sram.c | 34 +++++---------
> drivers/uio/uio_pruss.c | 7 ++-
> 20 files changed, 171 insertions(+), 138 deletions(-)
The davinci audio driver in sound/soc/davinci/davinci-pcm.c uses
the sram allocator too and would need to be converted to the
new API.
Thanks,
Sekhar
More information about the linux-arm-kernel
mailing list