8#ifndef __SOF_AUDIO_DATA_BLOB_H__
9#define __SOF_AUDIO_DATA_BLOB_H__
16struct comp_data_blob_handler;
27 size_t *size, uint32_t *crc);
56 uint32_t size,
const void *init_data);
77 enum module_cfg_fragment_position pos, uint32_t data_offset_size,
78 const uint8_t *fragment,
size_t fragment_size);
90 bool first_block,
bool last_block,
91 uint32_t data_offset,
const char *
data);
117struct comp_data_blob_handler *
119 void *(*alloc)(
size_t size),
120 void (*free)(
void *buf));
152 int (*validator)(
struct comp_dev *dev,
void *new_data,
153 uint32_t new_data_size));
static struct comp_data_blob_handler * comp_data_blob_handler_new(struct comp_dev *dev)
Returns new data blob handler.
Definition data_blob.h:131
int comp_data_blob_set_cmd(struct comp_data_blob_handler *blob_handler, struct sof_ipc_ctrl_data *cdata)
Handles IPC set command.
void comp_data_blob_handler_free(struct comp_data_blob_handler *blob_handler)
Free data blob handler.
int comp_data_blob_set(struct comp_data_blob_handler *blob_handler, enum module_cfg_fragment_position pos, uint32_t data_offset_size, const uint8_t *fragment, size_t fragment_size)
Handles IPC set command.
bool comp_is_current_data_blob_valid(struct comp_data_blob_handler *blob_handler)
Checks whether there is a valid data blob is available.
void comp_data_blob_set_validator(struct comp_data_blob_handler *blob_handler, int(*validator)(struct comp_dev *dev, void *new_data, uint32_t new_data_size))
Add a validator to check that the new data blob is valid for the given component.
struct comp_data_blob_handler * comp_data_blob_handler_new_ext(struct comp_dev *dev, bool single_blob, void *(*alloc)(size_t size), void(*free)(void *buf))
Returns new data blob handler.
void * comp_get_data_blob(struct comp_data_blob_handler *blob_handler, size_t *size, uint32_t *crc)
Returns data blob.
int comp_data_blob_get_cmd(struct comp_data_blob_handler *blob_handler, struct sof_ipc_ctrl_data *cdata, int size)
Handles IPC get command.
bool comp_is_new_data_blob_available(struct comp_data_blob_handler *blob_handler)
Checks whether new data blob is available.
int comp_init_data_blob(struct comp_data_blob_handler *blob_handler, uint32_t size, const void *init_data)
Initializes data blob with given value.
int ipc4_comp_data_blob_set(struct comp_data_blob_handler *blob_handler, bool first_block, bool last_block, uint32_t data_offset, const char *data)
Handles IPC4 set large config.
uint32_t data[]
Definition debug_stream_slot.h:2
Audio component base device "class".
Definition component.h:645
Generic control data.
Definition control.h:120