12#ifndef __SOF_AUDIO_DSM_H__
13#define __SOF_AUDIO_DSM_H__
59#define SMART_AMP_FF_MAX_CH_NUM 2
61#define SMART_AMP_FF_OUT_MAX_CH_NUM 4
63#define SMART_AMP_FB_MAX_CH_NUM 4
65#define SMART_AMP_FRM_SZ 48
66#define SMART_AMP_FF_BUF_SZ (SMART_AMP_FRM_SZ * SMART_AMP_FF_MAX_CH_NUM)
67#define SMART_AMP_FB_BUF_SZ (SMART_AMP_FRM_SZ * SMART_AMP_FB_MAX_CH_NUM)
69#define SMART_AMP_FF_BUF_DB_SZ\
70 (SMART_AMP_FF_BUF_SZ * SMART_AMP_FF_MAX_CH_NUM)
71#define SMART_AMP_FB_BUF_DB_SZ\
72 (SMART_AMP_FB_BUF_SZ * SMART_AMP_FB_MAX_CH_NUM)
143 const int8_t *chan_map);
238 const uint16_t **mod_fmts,
int *num_mod_fmts);
Component API definition.
smart_amp_mod_memblk
Definition smart_amp.h:117
@ MOD_MEMBLK_PRIVATE
Definition smart_amp.h:118
@ MOD_MEMBLK_FRAME
Definition smart_amp.h:119
@ MOD_MEMBLK_MAX
Definition smart_amp.h:121
@ MOD_MEMBLK_PARAM
Definition smart_amp.h:120
void(* smart_amp_sink_func)(const struct smart_amp_mod_stream *sink_mod, uint32_t frames, const struct audio_stream __sparse_cache *sink)
Definition smart_amp.h:145
smart_amp_sink_func smart_amp_get_sink_func(uint16_t comp_fmt, uint16_t mod_fmt)
void(* smart_amp_src_func)(struct smart_amp_mod_stream *src_mod, uint32_t frames, const struct audio_stream __sparse_cache *src, const int8_t *chan_map)
Definition smart_amp.h:140
struct smart_amp_mod_data_base * mod_data_create(const struct comp_dev *dev)
Creates the self-declared model data struct.
const struct smart_amp_func_map src_sink_func_map[]
smart_amp_src_func smart_amp_get_src_func(uint16_t comp_fmt, uint16_t mod_fmt)
Audio stream is a circular buffer aware of audio format of the data in the buffer so provides API for...
Definition audio_stream.h:52
Audio component base device "class".
Definition component.h:645
Definition smart_amp.h:180
int(* set_config)(struct smart_amp_mod_data_base *mod, struct sof_ipc_ctrl_data *cdata)
Sets config data to model.
Definition smart_amp.h:309
int(* fb_proc)(struct smart_amp_mod_data_base *mod, uint32_t frames, struct smart_amp_mod_stream *in)
Runs the feedback process.
Definition smart_amp.h:285
int(* query_memblk_size)(struct smart_amp_mod_data_base *mod, enum smart_amp_mod_memblk blk)
Returns the required bytesize for the specific memblk.
Definition smart_amp.h:202
int(* set_fmt)(struct smart_amp_mod_data_base *mod, uint16_t mod_fmt)
Sets the frame format after resolved.
Definition smart_amp.h:256
int(* init)(struct smart_amp_mod_data_base *mod)
Initializes model.
Definition smart_amp.h:189
int(* get_supported_fmts)(struct smart_amp_mod_data_base *mod, const uint16_t **mod_fmts, int *num_mod_fmts)
Returns the list of supported frame formats.
Definition smart_amp.h:237
int(* set_memblk)(struct smart_amp_mod_data_base *mod, enum smart_amp_mod_memblk blk, struct smart_amp_buf *buf)
Sets the allocated memblk info.
Definition smart_amp.h:215
int(* ff_proc)(struct smart_amp_mod_data_base *mod, uint32_t frames, struct smart_amp_mod_stream *in, struct smart_amp_mod_stream *out)
Runs the feed-forward process.
Definition smart_amp.h:270
int(* reset)(struct smart_amp_mod_data_base *mod)
Resets model.
Definition smart_amp.h:320
int(* get_config)(struct smart_amp_mod_data_base *mod, struct sof_ipc_ctrl_data *cdata, uint32_t size)
Gets config data from model.
Definition smart_amp.h:298
Definition smart_amp.h:103
uint32_t size
Definition smart_amp.h:105
void * data
Definition smart_amp.h:104
Definition smart_amp.h:149
smart_amp_sink_func sink_func
Definition smart_amp.h:153
uint16_t comp_fmt
Definition smart_amp.h:150
smart_amp_src_func src_func
Definition smart_amp.h:152
uint16_t mod_fmt
Definition smart_amp.h:151
Definition smart_amp.h:97
const struct comp_dev * dev
Definition smart_amp.h:98
const struct inner_model_ops * mod_ops
Definition smart_amp.h:99
Definition smart_amp.h:125
uint32_t channels
Definition smart_amp.h:127
uint32_t produced
Definition smart_amp.h:131
uint16_t frame_fmt
Definition smart_amp.h:128
uint32_t consumed
Definition smart_amp.h:130
struct smart_amp_buf buf
Definition smart_amp.h:126
Generic control data.
Definition control.h:120
#define __sparse_cache
Definition compiler_attributes.h:11