lib: sysmem: add sysmem_alloc_by_name() interface

Change-Id: I9e2fd6d99fdc487396dd9619dc54567bcd2ba242
Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
This commit is contained in:
Joseph Chen 2019-07-22 14:20:25 +08:00
parent 996752e678
commit acffe33271
2 changed files with 25 additions and 0 deletions

View File

@ -59,6 +59,16 @@ int sysmem_initr(void);
*/
void *sysmem_alloc(enum memblk_id id, phys_size_t size);
/**
* sysmem_alloc_by_name() - Alloc sysmem region by name at the expect addr
*
* @name: memblk name
* @size: region size
*
* @return NULL on error, otherwise the allocated region address ptr
*/
void *sysmem_alloc_by_name(const char *name, phys_size_t size);
/**
* sysmem_alloc_base() - Alloc sysmem region at the expect addr
*

View File

@ -551,6 +551,21 @@ void *sysmem_alloc(enum memblk_id id, phys_size_t size)
return paddr;
}
void *sysmem_alloc_by_name(const char *name, phys_size_t size)
{
void *paddr;
paddr = sysmem_alloc_align_base(MEMBLK_ID_BY_NAME,
name,
SYSMEM_ALLOC_ANYWHERE,
size,
SYSMEM_ALLOC_NO_ALIGN);
if (!paddr)
sysmem_dump();
return paddr;
}
void *sysmem_alloc_base(enum memblk_id id, phys_addr_t base, phys_size_t size)
{
void *paddr;