MLK-15934-3: ASoc: fsl: add hifi4 firmware's status transfer support
1. add cases to receive error value from hifi4 firmware and return this error to hifi4 driver's caller. 2. add cases to receive input over indicator variable from hifi4 dirver's caller and pass this value to hifi4 firmware Signed-off-by: Weiguang Kong <weiguang.kong@nxp.com>pull/10/head
parent
1c1e58c531
commit
45861465e3
|
@ -44,6 +44,7 @@ struct decode_info {
|
|||
int out_buf_size;
|
||||
int out_buf_off;
|
||||
unsigned int cycles;
|
||||
unsigned int input_over;
|
||||
};
|
||||
|
||||
struct prop_info {
|
||||
|
|
|
@ -621,6 +621,8 @@ static long fsl_hifi4_decode_frame(struct fsl_hifi4 *hifi4_priv,
|
|||
codec_iobuf_info->out_buf_size_max = hifi4_priv->out_buf_size;
|
||||
codec_iobuf_info->out_cur_offset = 0;
|
||||
|
||||
codec_iobuf_info->input_over = decode_info.input_over;
|
||||
|
||||
init_completion(&hifi4_priv->cmd_complete);
|
||||
hifi4_priv->is_done = 0;
|
||||
|
||||
|
@ -647,6 +649,7 @@ static long fsl_hifi4_decode_frame(struct fsl_hifi4 *hifi4_priv,
|
|||
decode_info.in_buf_off = codec_iobuf_info->inp_cur_offset;
|
||||
decode_info.out_buf_off = codec_iobuf_info->out_cur_offset;
|
||||
decode_info.cycles = codec_iobuf_info->cycles;
|
||||
decode_info.input_over = codec_iobuf_info->input_over;
|
||||
|
||||
ret = copy_to_user(user, &decode_info, sizeof(decode_info));
|
||||
if (ret) {
|
||||
|
|
|
@ -56,6 +56,7 @@ struct icm_cdc_iobuf_t {
|
|||
u32 out_cur_offset; /* init by APU, updated by DPU */
|
||||
s32 ret;
|
||||
u32 cycles; /* consumed cycles during executing */
|
||||
u32 input_over; /* indicate external stream is over*/
|
||||
};
|
||||
|
||||
struct icm_cdc_uinp_t {
|
||||
|
|
Loading…
Reference in New Issue