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:
parent
996752e678
commit
acffe33271
|
|
@ -59,6 +59,16 @@ int sysmem_initr(void);
|
||||||
*/
|
*/
|
||||||
void *sysmem_alloc(enum memblk_id id, phys_size_t size);
|
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
|
* sysmem_alloc_base() - Alloc sysmem region at the expect addr
|
||||||
*
|
*
|
||||||
|
|
|
||||||
15
lib/sysmem.c
15
lib/sysmem.c
|
|
@ -551,6 +551,21 @@ void *sysmem_alloc(enum memblk_id id, phys_size_t size)
|
||||||
return paddr;
|
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 *sysmem_alloc_base(enum memblk_id id, phys_addr_t base, phys_size_t size)
|
||||||
{
|
{
|
||||||
void *paddr;
|
void *paddr;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue