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

Go to the source code of this file.

Macros

#define __must_check   __attribute__((warn_unused_result))
 
#define IS_ALIGNED(size, alignment)   ((size) % (alignment) == 0)
 
#define is_power_of_2(x)   ((x) && !((x) & ((x) - 1)))
 
#define compile_check(x)   (sizeof(struct { int _f[2 * (x) - 1]; }) != 0)
 
#define ALIGN_UP_INTERNAL(val, align)   (((val) + (align) - 1) & ~((align) - 1))
 
#define ALIGN_UP(size, alignment)   ALIGN_UP_INTERNAL(size, alignment)
 
#define ALIGN_UP_COMPILE   ALIGN_UP
 
#define ALIGN_DOWN(size, alignment)   ((size) & ~((alignment) - 1))
 
#define ALIGN(val, align)   ALIGN_UP_INTERNAL(val, align)
 
#define SOF_DIV_ROUND_UP(val, div)   (((val) + (div) - 1) / (div))
 
#define container_of(ptr, type, member)
 
#define attr_container_of(ptr, type, member, attr)
 
#define ffs(i)   __builtin_ffs(i)
 
#define ffsl(i)   __builtin_ffsl(i)
 
#define ffsll(i)   __builtin_ffsll(i)
 
#define clz(i)   __builtin_clz(i)
 
#define clzl(i)   __builtin_clzl(i)
 
#define clzll(i)   __builtin_clzll(i)
 
#define popcount(x)   __builtin_popcount(x)
 
#define PP_NARG(...)
 
#define STATIC_ASSERT(COND, MESSAGE)
 
#define SOF_CONFIG_HIFI(level, component)   (CONFIG_ ## component ## _HIFI_ ## level)
 
#define SOF_USE_HIFI(level, component)
 
#define SOF_USE_MIN_HIFI(minlevel, component)
 
#define SOF_CONFIG_ARM_SIMD(component)   (CONFIG_ ## component ## _ARM_SIMD)
 
#define SOF_USE_ARM_SIMD(component)   (IS_ENABLED(CONFIG_ ## component ## _ARM_SIMD))
 
#define SOF_CONFIG_ARM_FPU(component)   (CONFIG_ ## component ## _ARM_FPU)
 
#define SOF_USE_ARM_FPU(component)   (IS_ENABLED(CONFIG_ ## component ## _ARM_FPU))
 
#define SOF_CONFIG_RISCV_SIMD(component)   (CONFIG_ ## component ## _RISCV_SIMD)
 
#define SOF_USE_RISCV_SIMD(component)   (IS_ENABLED(CONFIG_ ## component ## _RISCV_SIMD))
 
#define SOF_MAX_XCHAL_HIFI   NONE
 
#define SOF_FRAME_BYTE_ALIGN   4
 
#define SOF_FRAME_COUNT_ALIGN   1
 
#define __GLIBC_USE(x)   0
 
#define ASSUME_ALIGNED(x, a)   ((__typeof__(x))__builtin_assume_aligned((x), a))
 

Macro Definition Documentation

◆ __GLIBC_USE

#define __GLIBC_USE (   x)    0

◆ __must_check

#define __must_check   __attribute__((warn_unused_result))

◆ ALIGN

#define ALIGN (   val,
  align 
)    ALIGN_UP_INTERNAL(val, align)

◆ ALIGN_DOWN

#define ALIGN_DOWN (   size,
  alignment 
)    ((size) & ~((alignment) - 1))

◆ ALIGN_UP

#define ALIGN_UP (   size,
  alignment 
)    ALIGN_UP_INTERNAL(size, alignment)

◆ ALIGN_UP_COMPILE

#define ALIGN_UP_COMPILE   ALIGN_UP

◆ ALIGN_UP_INTERNAL

#define ALIGN_UP_INTERNAL (   val,
  align 
)    (((val) + (align) - 1) & ~((align) - 1))

◆ ASSUME_ALIGNED

#define ASSUME_ALIGNED (   x,
  a 
)    ((__typeof__(x))__builtin_assume_aligned((x), a))

◆ attr_container_of

#define attr_container_of (   ptr,
  type,
  member,
  attr 
)
Value:
({const __typeof__(((type *)0)->member) attr *__memberptr = (ptr); \
(type *)((char attr *)__memberptr - offsetof(type, member)); })
uint32_t type
Message type, symmetric to the incoming request.
Definition header.h:8

◆ clz

#define clz (   i)    __builtin_clz(i)

◆ clzl

#define clzl (   i)    __builtin_clzl(i)

◆ clzll

#define clzll (   i)    __builtin_clzll(i)

◆ compile_check

#define compile_check (   x)    (sizeof(struct { int _f[2 * (x) - 1]; }) != 0)

◆ container_of

#define container_of (   ptr,
  type,
  member 
)
Value:
({const __typeof__(((type *)0)->member)*__memberptr = (ptr); \
(type *)((char *)__memberptr - offsetof(type, member)); })

◆ ffs

#define ffs (   i)    __builtin_ffs(i)

◆ ffsl

#define ffsl (   i)    __builtin_ffsl(i)

◆ ffsll

#define ffsll (   i)    __builtin_ffsll(i)

◆ IS_ALIGNED

#define IS_ALIGNED (   size,
  alignment 
)    ((size) % (alignment) == 0)

◆ is_power_of_2

#define is_power_of_2 (   x)    ((x) && !((x) & ((x) - 1)))

◆ popcount

#define popcount (   x)    __builtin_popcount(x)

◆ PP_NARG

#define PP_NARG (   ...)
Value:
(sizeof((unsigned int[]){0, ##__VA_ARGS__}) \
/ sizeof(unsigned int) - 1)

◆ SOF_CONFIG_ARM_FPU

#define SOF_CONFIG_ARM_FPU (   component)    (CONFIG_ ## component ## _ARM_FPU)

◆ SOF_CONFIG_ARM_SIMD

#define SOF_CONFIG_ARM_SIMD (   component)    (CONFIG_ ## component ## _ARM_SIMD)

◆ SOF_CONFIG_HIFI

#define SOF_CONFIG_HIFI (   level,
  component 
)    (CONFIG_ ## component ## _HIFI_ ## level)

◆ SOF_CONFIG_RISCV_SIMD

#define SOF_CONFIG_RISCV_SIMD (   component)    (CONFIG_ ## component ## _RISCV_SIMD)

◆ SOF_DIV_ROUND_UP

#define SOF_DIV_ROUND_UP (   val,
  div 
)    (((val) + (div) - 1) / (div))

◆ SOF_FRAME_BYTE_ALIGN

#define SOF_FRAME_BYTE_ALIGN   4

◆ SOF_FRAME_COUNT_ALIGN

#define SOF_FRAME_COUNT_ALIGN   1

◆ SOF_MAX_XCHAL_HIFI

#define SOF_MAX_XCHAL_HIFI   NONE

◆ SOF_USE_ARM_FPU

#define SOF_USE_ARM_FPU (   component)    (IS_ENABLED(CONFIG_ ## component ## _ARM_FPU))

◆ SOF_USE_ARM_SIMD

#define SOF_USE_ARM_SIMD (   component)    (IS_ENABLED(CONFIG_ ## component ## _ARM_SIMD))

◆ SOF_USE_HIFI

#define SOF_USE_HIFI (   level,
  component 
)
Value:
(SOF_CONFIG_HIFI(level, component) || \
(SOF_CONFIG_HIFI(MAX, component) && level == SOF_MAX_XCHAL_HIFI))
#define SOF_MAX_XCHAL_HIFI
Definition common.h:208
#define SOF_CONFIG_HIFI(level, component)
Definition common.h:178

◆ SOF_USE_MIN_HIFI

#define SOF_USE_MIN_HIFI (   minlevel,
  component 
)
Value:
(SOF_CONFIG_HIFI(minlevel, component) || \
(SOF_CONFIG_HIFI(MAX, component) && minlevel <= SOF_MAX_XCHAL_HIFI))

◆ SOF_USE_RISCV_SIMD

#define SOF_USE_RISCV_SIMD (   component)    (IS_ENABLED(CONFIG_ ## component ## _RISCV_SIMD))

◆ STATIC_ASSERT

#define STATIC_ASSERT (   COND,
  MESSAGE 
)
Value:
__attribute__((unused)) \
typedef char _CONCAT(assertion_failed_, MESSAGE)[(COND) ? 1 : -1]