mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
asoc: mixer control queue handling in sink stream
Mixer control queue handling is required only for playback. Move mixer control queue handling to be part of the playback stream in DSP transcode loopback driver. Change-Id: Ia8067237f80d509f969cf454f5afa08aaa6b0e52 Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org> Signed-off-by: Surendar Karka <skarka@codeaurora.org>
This commit is contained in:
parent
a0a952401f
commit
eca0432ffb
1 changed files with 7 additions and 7 deletions
|
|
@ -99,7 +99,7 @@ static void loopback_event_handler(uint32_t opcode,
|
|||
return;
|
||||
}
|
||||
|
||||
cstream = trans->source.cstream;
|
||||
cstream = trans->sink.cstream;
|
||||
ac = trans->audio_client;
|
||||
|
||||
/*
|
||||
|
|
@ -222,6 +222,7 @@ static int msm_transcode_loopback_open(struct snd_compr_stream *cstream)
|
|||
ret = -EINVAL;
|
||||
goto exit;
|
||||
}
|
||||
msm_adsp_init_mixer_ctl_pp_event_queue(rtd);
|
||||
}
|
||||
|
||||
pr_debug("%s: num stream%d, stream name %s\n", __func__,
|
||||
|
|
@ -236,8 +237,7 @@ static int msm_transcode_loopback_open(struct snd_compr_stream *cstream)
|
|||
}
|
||||
|
||||
runtime->private_data = trans;
|
||||
if (trans->num_streams == 1)
|
||||
msm_adsp_init_mixer_ctl_pp_event_queue(rtd);
|
||||
|
||||
exit:
|
||||
mutex_unlock(&trans->lock);
|
||||
return ret;
|
||||
|
|
@ -282,14 +282,14 @@ static int msm_transcode_loopback_free(struct snd_compr_stream *cstream)
|
|||
trans->num_streams--;
|
||||
stop_transcoding(trans);
|
||||
|
||||
if (cstream->direction == SND_COMPRESS_PLAYBACK)
|
||||
if (cstream->direction == SND_COMPRESS_PLAYBACK) {
|
||||
memset(&trans->sink, 0, sizeof(struct loopback_stream));
|
||||
else if (cstream->direction == SND_COMPRESS_CAPTURE)
|
||||
msm_adsp_clean_mixer_ctl_pp_event_queue(rtd);
|
||||
} else if (cstream->direction == SND_COMPRESS_CAPTURE) {
|
||||
memset(&trans->source, 0, sizeof(struct loopback_stream));
|
||||
}
|
||||
|
||||
trans->session_state = LOOPBACK_SESSION_CLOSE;
|
||||
if (trans->num_streams == 1)
|
||||
msm_adsp_clean_mixer_ctl_pp_event_queue(rtd);
|
||||
mutex_unlock(&trans->lock);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue