1
0
Fork 0

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
Weiguang Kong 2017-07-07 12:38:09 +08:00 committed by Jason Liu
parent 1c1e58c531
commit 45861465e3
3 changed files with 5 additions and 0 deletions

View File

@ -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 {

View File

@ -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) {

View File

@ -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 {