Loading sound/soc/msm/qdsp6v2/q6asm.c +83 −2 Original line number Diff line number Diff line /* * Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2012-2019, The Linux Foundation. All rights reserved. * Author: Brian Swetland <swetland@google.com> * * This software is licensed under the terms of the GNU General Public Loading Loading @@ -3976,6 +3976,12 @@ int q6asm_open_shared_io(struct audio_client *ac, if (!ac || !config) return -EINVAL; if (config->channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, config->channels); return -EINVAL; } bufsz = config->bufsz; bufcnt = config->bufcnt; num_watermarks = 0; Loading Loading @@ -4435,6 +4441,13 @@ int q6asm_set_encdec_chan_map(struct audio_client *ac, int rc = 0; pr_debug("%s: Session %d, num_channels = %d\n", __func__, ac->session, num_channels); if (num_channels > MAX_CHAN_MAP_CHANNELS) { pr_err("%s: Invalid channel count %d\n", __func__, num_channels); return -EINVAL; } q6asm_add_hdr(ac, &chan_map.hdr, sizeof(chan_map), TRUE); atomic_set(&ac->cmd_state, -1); chan_map.hdr.opcode = ASM_STREAM_CMD_SET_ENCDEC_PARAM; Loading Loading @@ -4513,6 +4526,12 @@ static int q6asm_enc_cfg_blk_pcm_v5(struct audio_client *ac, goto fail_cmd; } if (channels > PCM_FORMAT_MAX_NUM_CHANNEL_V2) { pr_err("%s: Invalid channel count %d\n", __func__, channels); rc = -EINVAL; goto fail_cmd; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -4615,6 +4634,12 @@ int q6asm_enc_cfg_blk_pcm_v4(struct audio_client *ac, goto fail_cmd; } if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); rc = -EINVAL; goto fail_cmd; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -4714,6 +4739,12 @@ int q6asm_enc_cfg_blk_pcm_v3(struct audio_client *ac, goto fail_cmd; } if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); rc = -EINVAL; goto fail_cmd; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -4796,6 +4827,11 @@ int q6asm_enc_cfg_blk_pcm_v2(struct audio_client *ac, return -EINVAL; } if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: Session %d, rate = %d, channels = %d\n", __func__, ac->session, rate, channels); Loading Loading @@ -4988,9 +5024,13 @@ int q6asm_enc_cfg_blk_pcm_native(struct audio_client *ac, struct asm_multi_channel_pcm_enc_cfg_v2 enc_cfg; u8 *channel_mapping; u32 frames_per_buf = 0; int rc = 0; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: Session %d, rate = %d, channels = %d\n", __func__, ac->session, rate, channels); Loading Loading @@ -5538,6 +5578,11 @@ static int __q6asm_media_format_block_pcm(struct audio_client *ac, u8 *channel_mapping; int rc = 0; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]\n", __func__, ac->session, rate, channels); Loading Loading @@ -5620,6 +5665,11 @@ static int __q6asm_media_format_block_pcm_v3(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -5703,6 +5753,11 @@ static int __q6asm_media_format_block_pcm_v4(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -5891,6 +5946,11 @@ static int __q6asm_media_format_block_multi_ch_pcm(struct audio_client *ac, u8 *channel_mapping; int rc = 0; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]\n", __func__, ac->session, rate, channels); Loading Loading @@ -5958,6 +6018,11 @@ static int __q6asm_media_format_block_multi_ch_pcm_v3(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -6029,6 +6094,11 @@ static int __q6asm_media_format_block_multi_ch_pcm_v4(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -6102,6 +6172,12 @@ static int __q6asm_media_format_block_multi_ch_pcm_v5(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL_V2) { pr_err("%s: Invalid channel count %d\n", __func__, channels); rc = -EINVAL; goto fail_cmd; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -6293,6 +6369,11 @@ int q6asm_media_format_block_gen_compr(struct audio_client *ac, u8 *channel_mapping; int rc = 0; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]\n", __func__, ac->session, rate, channels, bits_per_sample); Loading Loading
sound/soc/msm/qdsp6v2/q6asm.c +83 −2 Original line number Diff line number Diff line /* * Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. * Copyright (c) 2012-2019, The Linux Foundation. All rights reserved. * Author: Brian Swetland <swetland@google.com> * * This software is licensed under the terms of the GNU General Public Loading Loading @@ -3976,6 +3976,12 @@ int q6asm_open_shared_io(struct audio_client *ac, if (!ac || !config) return -EINVAL; if (config->channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, config->channels); return -EINVAL; } bufsz = config->bufsz; bufcnt = config->bufcnt; num_watermarks = 0; Loading Loading @@ -4435,6 +4441,13 @@ int q6asm_set_encdec_chan_map(struct audio_client *ac, int rc = 0; pr_debug("%s: Session %d, num_channels = %d\n", __func__, ac->session, num_channels); if (num_channels > MAX_CHAN_MAP_CHANNELS) { pr_err("%s: Invalid channel count %d\n", __func__, num_channels); return -EINVAL; } q6asm_add_hdr(ac, &chan_map.hdr, sizeof(chan_map), TRUE); atomic_set(&ac->cmd_state, -1); chan_map.hdr.opcode = ASM_STREAM_CMD_SET_ENCDEC_PARAM; Loading Loading @@ -4513,6 +4526,12 @@ static int q6asm_enc_cfg_blk_pcm_v5(struct audio_client *ac, goto fail_cmd; } if (channels > PCM_FORMAT_MAX_NUM_CHANNEL_V2) { pr_err("%s: Invalid channel count %d\n", __func__, channels); rc = -EINVAL; goto fail_cmd; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -4615,6 +4634,12 @@ int q6asm_enc_cfg_blk_pcm_v4(struct audio_client *ac, goto fail_cmd; } if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); rc = -EINVAL; goto fail_cmd; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -4714,6 +4739,12 @@ int q6asm_enc_cfg_blk_pcm_v3(struct audio_client *ac, goto fail_cmd; } if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); rc = -EINVAL; goto fail_cmd; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -4796,6 +4827,11 @@ int q6asm_enc_cfg_blk_pcm_v2(struct audio_client *ac, return -EINVAL; } if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: Session %d, rate = %d, channels = %d\n", __func__, ac->session, rate, channels); Loading Loading @@ -4988,9 +5024,13 @@ int q6asm_enc_cfg_blk_pcm_native(struct audio_client *ac, struct asm_multi_channel_pcm_enc_cfg_v2 enc_cfg; u8 *channel_mapping; u32 frames_per_buf = 0; int rc = 0; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: Session %d, rate = %d, channels = %d\n", __func__, ac->session, rate, channels); Loading Loading @@ -5538,6 +5578,11 @@ static int __q6asm_media_format_block_pcm(struct audio_client *ac, u8 *channel_mapping; int rc = 0; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]\n", __func__, ac->session, rate, channels); Loading Loading @@ -5620,6 +5665,11 @@ static int __q6asm_media_format_block_pcm_v3(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -5703,6 +5753,11 @@ static int __q6asm_media_format_block_pcm_v4(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -5891,6 +5946,11 @@ static int __q6asm_media_format_block_multi_ch_pcm(struct audio_client *ac, u8 *channel_mapping; int rc = 0; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]\n", __func__, ac->session, rate, channels); Loading Loading @@ -5958,6 +6018,11 @@ static int __q6asm_media_format_block_multi_ch_pcm_v3(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -6029,6 +6094,11 @@ static int __q6asm_media_format_block_multi_ch_pcm_v4(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -6102,6 +6172,12 @@ static int __q6asm_media_format_block_multi_ch_pcm_v5(struct audio_client *ac, u8 *channel_mapping; int rc; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL_V2) { pr_err("%s: Invalid channel count %d\n", __func__, channels); rc = -EINVAL; goto fail_cmd; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]wordsize[%d]\n", __func__, ac->session, rate, channels, bits_per_sample, sample_word_size); Loading Loading @@ -6293,6 +6369,11 @@ int q6asm_media_format_block_gen_compr(struct audio_client *ac, u8 *channel_mapping; int rc = 0; if (channels > PCM_FORMAT_MAX_NUM_CHANNEL) { pr_err("%s: Invalid channel count %d\n", __func__, channels); return -EINVAL; } pr_debug("%s: session[%d]rate[%d]ch[%d]bps[%d]\n", __func__, ac->session, rate, channels, bits_per_sample); Loading