Loading drivers/misc/qcom/qdsp6v2/audio_utils_aio.c +9 −7 Original line number Diff line number Diff line Loading @@ -1010,7 +1010,7 @@ static int audio_aio_ion_remove(struct q6audio_aio *audio, return rc; } static void audio_aio_async_write(struct q6audio_aio *audio, static int audio_aio_async_write(struct q6audio_aio *audio, struct audio_aio_buffer_node *buf_node) { int rc; Loading @@ -1020,7 +1020,7 @@ static void audio_aio_async_write(struct q6audio_aio *audio, if (!audio || !buf_node) { pr_err("%s NULL pointer audio=[0x%p], buf_node=[0x%p]\n", __func__, audio, buf_node); return; return -EINVAL; } pr_debug("%s[%p]: Send write buff %p phy %pa len %d meta_enable = %d\n", __func__, audio, buf_node, &buf_node->paddr, Loading Loading @@ -1056,6 +1056,7 @@ static void audio_aio_async_write(struct q6audio_aio *audio, rc = q6asm_async_write(ac, ¶m); if (rc < 0) pr_err("%s[%p]:failed\n", __func__, audio); return rc; } void audio_aio_post_event(struct q6audio_aio *audio, int type, Loading Loading @@ -1088,7 +1089,7 @@ void audio_aio_post_event(struct q6audio_aio *audio, int type, wake_up(&audio->event_wait); } static void audio_aio_async_read(struct q6audio_aio *audio, static int audio_aio_async_read(struct q6audio_aio *audio, struct audio_aio_buffer_node *buf_node) { struct audio_client *ac; Loading @@ -1110,13 +1111,14 @@ static void audio_aio_async_read(struct q6audio_aio *audio, rc = q6asm_async_read(ac, ¶m); if (rc < 0) pr_err("%s[%p]:failed\n", __func__, audio); return rc; } static int audio_aio_buf_add_shared(struct q6audio_aio *audio, u32 dir, struct audio_aio_buffer_node *buf_node) { unsigned long flags; int ret = 0; pr_debug("%s[%p]:node %p dir %x buf_addr %p buf_len %d data_len %d\n", __func__, audio, buf_node, dir, buf_node->buf.buf_addr, buf_node->buf.buf_len, buf_node->buf.data_len); Loading @@ -1135,7 +1137,7 @@ static int audio_aio_buf_add_shared(struct q6audio_aio *audio, u32 dir, /* Not a EOS buffer */ if (!(buf_node->meta_info.meta_in.nflags & AUDIO_DEC_EOS_SET)) { spin_lock_irqsave(&audio->dsp_lock, flags); audio_aio_async_write(audio, buf_node); ret = audio_aio_async_write(audio, buf_node); /* EOS buffer handled in driver */ list_add_tail(&buf_node->list, &audio->out_queue); spin_unlock_irqrestore(&audio->dsp_lock, flags); Loading Loading @@ -1175,7 +1177,7 @@ static int audio_aio_buf_add_shared(struct q6audio_aio *audio, u32 dir, /* No EOS reached */ if (!audio->eos_rsp) { spin_lock_irqsave(&audio->dsp_lock, flags); audio_aio_async_read(audio, buf_node); ret = audio_aio_async_read(audio, buf_node); /* EOS buffer handled in driver */ list_add_tail(&buf_node->list, &audio->in_queue); spin_unlock_irqrestore(&audio->dsp_lock, flags); Loading @@ -1195,7 +1197,7 @@ static int audio_aio_buf_add_shared(struct q6audio_aio *audio, u32 dir, kfree(buf_node); } } return 0; return ret; } #ifdef CONFIG_COMPAT static int audio_aio_buf_add_compat(struct q6audio_aio *audio, u32 dir, Loading drivers/misc/qcom/qdsp6v2/evrc_in.c +2 −1 Original line number Diff line number Diff line /* Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -368,6 +368,7 @@ static int evrc_in_open(struct inode *inode, struct file *file) } audio->opened = 1; audio->reset_event = false; atomic_set(&audio->in_count, PCM_BUF_COUNT); atomic_set(&audio->out_count, 0x00); audio->enc_compat_ioctl = evrc_in_compat_ioctl; Loading drivers/misc/qcom/qdsp6v2/qcelp_in.c +2 −1 Original line number Diff line number Diff line /* Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -368,6 +368,7 @@ static int qcelp_in_open(struct inode *inode, struct file *file) } audio->opened = 1; audio->reset_event = false; atomic_set(&audio->in_count, PCM_BUF_COUNT); atomic_set(&audio->out_count, 0x00); audio->enc_compat_ioctl = qcelp_in_compat_ioctl; Loading Loading
drivers/misc/qcom/qdsp6v2/audio_utils_aio.c +9 −7 Original line number Diff line number Diff line Loading @@ -1010,7 +1010,7 @@ static int audio_aio_ion_remove(struct q6audio_aio *audio, return rc; } static void audio_aio_async_write(struct q6audio_aio *audio, static int audio_aio_async_write(struct q6audio_aio *audio, struct audio_aio_buffer_node *buf_node) { int rc; Loading @@ -1020,7 +1020,7 @@ static void audio_aio_async_write(struct q6audio_aio *audio, if (!audio || !buf_node) { pr_err("%s NULL pointer audio=[0x%p], buf_node=[0x%p]\n", __func__, audio, buf_node); return; return -EINVAL; } pr_debug("%s[%p]: Send write buff %p phy %pa len %d meta_enable = %d\n", __func__, audio, buf_node, &buf_node->paddr, Loading Loading @@ -1056,6 +1056,7 @@ static void audio_aio_async_write(struct q6audio_aio *audio, rc = q6asm_async_write(ac, ¶m); if (rc < 0) pr_err("%s[%p]:failed\n", __func__, audio); return rc; } void audio_aio_post_event(struct q6audio_aio *audio, int type, Loading Loading @@ -1088,7 +1089,7 @@ void audio_aio_post_event(struct q6audio_aio *audio, int type, wake_up(&audio->event_wait); } static void audio_aio_async_read(struct q6audio_aio *audio, static int audio_aio_async_read(struct q6audio_aio *audio, struct audio_aio_buffer_node *buf_node) { struct audio_client *ac; Loading @@ -1110,13 +1111,14 @@ static void audio_aio_async_read(struct q6audio_aio *audio, rc = q6asm_async_read(ac, ¶m); if (rc < 0) pr_err("%s[%p]:failed\n", __func__, audio); return rc; } static int audio_aio_buf_add_shared(struct q6audio_aio *audio, u32 dir, struct audio_aio_buffer_node *buf_node) { unsigned long flags; int ret = 0; pr_debug("%s[%p]:node %p dir %x buf_addr %p buf_len %d data_len %d\n", __func__, audio, buf_node, dir, buf_node->buf.buf_addr, buf_node->buf.buf_len, buf_node->buf.data_len); Loading @@ -1135,7 +1137,7 @@ static int audio_aio_buf_add_shared(struct q6audio_aio *audio, u32 dir, /* Not a EOS buffer */ if (!(buf_node->meta_info.meta_in.nflags & AUDIO_DEC_EOS_SET)) { spin_lock_irqsave(&audio->dsp_lock, flags); audio_aio_async_write(audio, buf_node); ret = audio_aio_async_write(audio, buf_node); /* EOS buffer handled in driver */ list_add_tail(&buf_node->list, &audio->out_queue); spin_unlock_irqrestore(&audio->dsp_lock, flags); Loading Loading @@ -1175,7 +1177,7 @@ static int audio_aio_buf_add_shared(struct q6audio_aio *audio, u32 dir, /* No EOS reached */ if (!audio->eos_rsp) { spin_lock_irqsave(&audio->dsp_lock, flags); audio_aio_async_read(audio, buf_node); ret = audio_aio_async_read(audio, buf_node); /* EOS buffer handled in driver */ list_add_tail(&buf_node->list, &audio->in_queue); spin_unlock_irqrestore(&audio->dsp_lock, flags); Loading @@ -1195,7 +1197,7 @@ static int audio_aio_buf_add_shared(struct q6audio_aio *audio, u32 dir, kfree(buf_node); } } return 0; return ret; } #ifdef CONFIG_COMPAT static int audio_aio_buf_add_compat(struct q6audio_aio *audio, u32 dir, Loading
drivers/misc/qcom/qdsp6v2/evrc_in.c +2 −1 Original line number Diff line number Diff line /* Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -368,6 +368,7 @@ static int evrc_in_open(struct inode *inode, struct file *file) } audio->opened = 1; audio->reset_event = false; atomic_set(&audio->in_count, PCM_BUF_COUNT); atomic_set(&audio->out_count, 0x00); audio->enc_compat_ioctl = evrc_in_compat_ioctl; Loading
drivers/misc/qcom/qdsp6v2/qcelp_in.c +2 −1 Original line number Diff line number Diff line /* Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2010-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -368,6 +368,7 @@ static int qcelp_in_open(struct inode *inode, struct file *file) } audio->opened = 1; audio->reset_event = false; atomic_set(&audio->in_count, PCM_BUF_COUNT); atomic_set(&audio->out_count, 0x00); audio->enc_compat_ioctl = qcelp_in_compat_ioctl; Loading