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

Go to the source code of this file.

Data Structures

struct  coherent

Macros

#define __coherent   __aligned(PLATFORM_DCACHE_ALIGN)
#define ADDR_IS_INCOHERENT(_c)
#define ADDR_IS_COHERENT(_c)
#define CORE_CHECK_STRUCT_FIELD
#define CORE_CHECK_STRUCT_INIT(_c, is_shared)
#define CORE_CHECK_STRUCT(_c)
#define CHECK_COHERENT_CORE(_c)
#define CHECK_ISR()
#define CHECK_SLEEP(_c)
#define CHECK_ATOMIC(_c)
#define coherent_init(type, member)
#define coherent_free(object, member)
#define coherent_shared(object, member)
#define coherent_acquire_thread   coherent_acquire
#define coherent_release_thread   coherent_release
#define coherent_init_thread   coherent_init
#define coherent_shared_thread   coherent_shared
#define coherent_free_thread   coherent_free
#define is_coherent_shared(object, member)

Functions

static __must_check struct coherent __sparse_cache * coherent_acquire (struct coherent *c, const size_t size)
static void coherent_release (struct coherent __sparse_cache *c, const size_t size)
static void * __coherent_init (size_t offset, const size_t size)
static void __coherent_shared (struct coherent *c, const size_t size)

Variables

struct coherent __coherent

Macro Definition Documentation

◆ __coherent

#define __coherent   __aligned(PLATFORM_DCACHE_ALIGN)

◆ ADDR_IS_COHERENT

#define ADDR_IS_COHERENT ( _c)

◆ ADDR_IS_INCOHERENT

#define ADDR_IS_INCOHERENT ( _c)

◆ CHECK_ATOMIC

#define CHECK_ATOMIC ( _c)
Value:
assert(!(_c)->sleep_allowed)
#define assert(x)
Definition panic.h:19

◆ CHECK_COHERENT_CORE

#define CHECK_COHERENT_CORE ( _c)

◆ CHECK_ISR

#define CHECK_ISR ( )
Value:
assert(!k_is_in_isr())

◆ CHECK_SLEEP

#define CHECK_SLEEP ( _c)
Value:
assert((_c)->sleep_allowed)

◆ coherent_acquire_thread

#define coherent_acquire_thread   coherent_acquire

◆ coherent_free

#define coherent_free ( object,
member )
Value:
rfree(object)
void rfree(void *ptr)
Frees the memory block.

◆ coherent_free_thread

#define coherent_free_thread   coherent_free

◆ coherent_init

#define coherent_init ( type,
member )
Value:
__coherent_init(offsetof(type, member), \
sizeof(type))
static void * __coherent_init(size_t offset, const size_t size)
Definition coherent.h:348
uint32_t type
Definition tlv.h:0

◆ coherent_init_thread

#define coherent_init_thread   coherent_init

◆ coherent_release_thread

#define coherent_release_thread   coherent_release

◆ coherent_shared

#define coherent_shared ( object,
member )
Value:
__coherent_shared(&(object)->member, \
sizeof(*object))
static void __coherent_shared(struct coherent *c, const size_t size)
Definition coherent.h:374

◆ coherent_shared_thread

#define coherent_shared_thread   coherent_shared

◆ CORE_CHECK_STRUCT

#define CORE_CHECK_STRUCT ( _c)

◆ CORE_CHECK_STRUCT_FIELD

#define CORE_CHECK_STRUCT_FIELD

◆ CORE_CHECK_STRUCT_INIT

#define CORE_CHECK_STRUCT_INIT ( _c,
is_shared )

◆ is_coherent_shared

#define is_coherent_shared ( object,
member )
Value:
((object)->member.shared)

Function Documentation

◆ __coherent_init()

void * __coherent_init ( size_t offset,
const size_t size )
inlinestatic

◆ __coherent_shared()

void __coherent_shared ( struct coherent * c,
const size_t size )
inlinestatic

◆ coherent_acquire()

__must_check struct coherent __sparse_cache * coherent_acquire ( struct coherent * c,
const size_t size )
inlinestatic

◆ coherent_release()

void coherent_release ( struct coherent __sparse_cache * c,
const size_t size )
inlinestatic

Variable Documentation

◆ __coherent

struct coherent __coherent