Merge "ASoC: msm: qdsp6v2: Change device switch handling"
This commit is contained in:
commit
c5de06bf5c
1 changed files with 25 additions and 1 deletions
|
@ -395,6 +395,30 @@ static int msm_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int msm_pcm_ioctl(struct snd_pcm_substream *substream,
|
||||||
|
unsigned int cmd, void *arg)
|
||||||
|
{
|
||||||
|
struct snd_pcm_runtime *runtime = substream->runtime;
|
||||||
|
struct msm_audio *prtd = runtime->private_data;
|
||||||
|
int dir = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? 0 : 1;
|
||||||
|
struct audio_buffer *buf;
|
||||||
|
|
||||||
|
switch (cmd) {
|
||||||
|
case SNDRV_PCM_IOCTL1_RESET:
|
||||||
|
pr_debug("%s: %s SNDRV_PCM_IOCTL1_RESET\n", __func__,
|
||||||
|
dir == 0 ? "P" : "C");
|
||||||
|
buf = q6asm_shared_io_buf(prtd->audio_client, dir);
|
||||||
|
|
||||||
|
if (buf && buf->data)
|
||||||
|
memset(buf->data, 0, buf->actual_size);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return snd_pcm_lib_ioctl(substream, cmd, arg);
|
||||||
|
}
|
||||||
|
|
||||||
static snd_pcm_uframes_t msm_pcm_pointer(struct snd_pcm_substream *substream)
|
static snd_pcm_uframes_t msm_pcm_pointer(struct snd_pcm_substream *substream)
|
||||||
{
|
{
|
||||||
struct snd_pcm_runtime *runtime = substream->runtime;
|
struct snd_pcm_runtime *runtime = substream->runtime;
|
||||||
|
@ -728,7 +752,7 @@ static struct snd_pcm_ops msm_pcm_ops = {
|
||||||
.prepare = msm_pcm_prepare,
|
.prepare = msm_pcm_prepare,
|
||||||
.copy = msm_pcm_copy,
|
.copy = msm_pcm_copy,
|
||||||
.hw_params = msm_pcm_hw_params,
|
.hw_params = msm_pcm_hw_params,
|
||||||
.ioctl = snd_pcm_lib_ioctl,
|
.ioctl = msm_pcm_ioctl,
|
||||||
.trigger = msm_pcm_trigger,
|
.trigger = msm_pcm_trigger,
|
||||||
.pointer = msm_pcm_pointer,
|
.pointer = msm_pcm_pointer,
|
||||||
.mmap = msm_pcm_mmap,
|
.mmap = msm_pcm_mmap,
|
||||||
|
|
Loading…
Add table
Reference in a new issue