Sound Open Firmware
Loading...
Searching...
No Matches
vregion.h File Reference
Include dependency graph for vregion.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  vregion

Enumerations

enum  vregion_mem_type { VREGION_MEM_TYPE_INTERIM , VREGION_MEM_TYPE_LIFETIME , VREGION_MEM_TYPE_INVALID }
 Memory types for virtual region allocations. More...

Functions

static struct vregion * vregion_create (size_t memsize)
static struct vregion * vregion_create_map (uintptr_t *vreg_start, size_t *vreg_size)
static void vregion_set_interim (struct vregion *vr)
static struct vregion * vregion_get (struct vregion *vr)
static struct vregion * vregion_put (struct vregion *vr)
static void * vregion_alloc (struct vregion *vr, size_t size)
static void * vregion_alloc_coherent (struct vregion *vr, size_t size)
static void * vregion_alloc_align (struct vregion *vr, size_t size, size_t alignment)
static void * vregion_alloc_coherent_align (struct vregion *vr, size_t size, size_t alignment)
static void vregion_free (struct vregion *vr, void *ptr)
static void vregion_info (struct vregion *vr)
static void vregion_mem_info (struct vregion *vr, size_t *size, uintptr_t *start)
static bool vregion_verify (struct vregion *vr)

Enumeration Type Documentation

◆ vregion_mem_type

Memory types for virtual region allocations.

Used to specify the type of memory allocation within a virtual region.

Note
  • interim: allocation that can be freed i.e. get/set large config, kcontrols.
  • lifetime: allocation that cannot be freed i.e. init data, pipeline data.
Enumerator
VREGION_MEM_TYPE_INTERIM 
VREGION_MEM_TYPE_LIFETIME 
VREGION_MEM_TYPE_INVALID 

Function Documentation

◆ vregion_alloc()

void * vregion_alloc ( struct vregion * vr,
size_t size )
inlinestatic

◆ vregion_alloc_align()

void * vregion_alloc_align ( struct vregion * vr,
size_t size,
size_t alignment )
inlinestatic

◆ vregion_alloc_coherent()

void * vregion_alloc_coherent ( struct vregion * vr,
size_t size )
inlinestatic

◆ vregion_alloc_coherent_align()

void * vregion_alloc_coherent_align ( struct vregion * vr,
size_t size,
size_t alignment )
inlinestatic

◆ vregion_create()

struct vregion * vregion_create ( size_t memsize)
inlinestatic

◆ vregion_create_map()

struct vregion * vregion_create_map ( uintptr_t * vreg_start,
size_t * vreg_size )
inlinestatic

◆ vregion_free()

void vregion_free ( struct vregion * vr,
void * ptr )
inlinestatic

◆ vregion_get()

struct vregion * vregion_get ( struct vregion * vr)
inlinestatic

◆ vregion_info()

void vregion_info ( struct vregion * vr)
inlinestatic

◆ vregion_mem_info()

void vregion_mem_info ( struct vregion * vr,
size_t * size,
uintptr_t * start )
inlinestatic

◆ vregion_put()

struct vregion * vregion_put ( struct vregion * vr)
inlinestatic

◆ vregion_set_interim()

void vregion_set_interim ( struct vregion * vr)
inlinestatic

◆ vregion_verify()

bool vregion_verify ( struct vregion * vr)
inlinestatic