diff options
Diffstat (limited to 'arch/arm/mach-omap2/dsp.c')
| -rw-r--r-- | arch/arm/mach-omap2/dsp.c | 27 | 
1 files changed, 25 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/dsp.c b/arch/arm/mach-omap2/dsp.c index 3376388b317..845309f146f 100644 --- a/arch/arm/mach-omap2/dsp.c +++ b/arch/arm/mach-omap2/dsp.c @@ -28,8 +28,6 @@  #include <plat/dsp.h> -extern phys_addr_t omap_dsp_get_mempool_base(void); -  static struct platform_device *omap_dsp_pdev;  static struct omap_dsp_platform_data omap_dsp_pdata __initdata = { @@ -47,6 +45,31 @@ static struct omap_dsp_platform_data omap_dsp_pdata __initdata = {  	.dsp_cm_rmw_bits = omap2_cm_rmw_mod_reg_bits,  }; +static phys_addr_t omap_dsp_phys_mempool_base; + +void __init omap_dsp_reserve_sdram_memblock(void) +{ +	phys_addr_t size = CONFIG_TIDSPBRIDGE_MEMPOOL_SIZE; +	phys_addr_t paddr; + +	if (!size) +		return; + +	paddr = arm_memblock_steal(size, SZ_1M); +	if (!paddr) { +		pr_err("%s: failed to reserve %llx bytes\n", +				__func__, (unsigned long long)size); +		return; +	} + +	omap_dsp_phys_mempool_base = paddr; +} + +static phys_addr_t omap_dsp_get_mempool_base(void) +{ +	return omap_dsp_phys_mempool_base; +} +  static int __init omap_dsp_init(void)  {  	struct platform_device *pdev;  |