From 8440c8f13756f5baa81396cb57625d0e6879b1ad Mon Sep 17 00:00:00 2001 From: Manoj Kumar N D Date: Tue, 14 Feb 2023 14:52:54 +0530 Subject: [PATCH 1/2] asoc : Update proper comment for endpoint 2 Update proper description to explain the usage of endpoint ID 2. Change-Id: I45a52ef43c3fcd42f97de37e7bb80517dfe09db3 Signed-off-by: Manoj Kumar N D --- include/dsp/apr_audio-v2.h | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/include/dsp/apr_audio-v2.h b/include/dsp/apr_audio-v2.h index f1c73e5087b8..ed5963474da6 100644 --- a/include/dsp/apr_audio-v2.h +++ b/include/dsp/apr_audio-v2.h @@ -333,9 +333,11 @@ struct adm_cmd_device_open_v5 { */ u16 endpoint_id_2; -/* Logical and physical endpoint ID 2 for a voice processor - * Tx block. - * This is not applicable to audio COPP. +/* Endpoint 2 is set with 0xFFFF by default. + * In cases of ECREF, Endpoint 2 can be set with the ecref AFE port id, + * which will be connected to the TX block. + * ECREF data is given as input to the TX block. + * Endpoint 2 is applicable to audio CoPreP. * Supported values: * - AFE Rx port * - 0xFFFF -- Endpoint 2 is unavailable and the voice @@ -423,9 +425,11 @@ struct adm_cmd_device_open_v6 { */ u16 endpoint_id_2; -/* Logical and physical endpoint ID 2 for a voice processor - * Tx block. - * This is not applicable to audio COPP. +/* Endpoint 2 is set with 0xFFFF by default. + * In cases of ECREF, Endpoint 2 can be set with the ecref AFE port id, + * which will be connected to the TX block. + * ECREF data is given as input to the TX block. + * Endpoint 2 is applicable to audio CoPreP. * Supported values: * - AFE Rx port * - 0xFFFF -- Endpoint 2 is unavailable and the voice @@ -589,9 +593,11 @@ struct adm_cmd_device_open_v8 { */ u16 endpoint_id_2; -/* Logical and physical endpoint ID 2 for a voice processor - * Tx block. - * This is not applicable to audio COPP. +/* Endpoint 2 is set with 0xFFFF by default. + * In cases of ECREF, Endpoint 2 can be set with the ecref AFE port id, + * which will be connected to the TX block. + * ECREF data is given as input to the TX block. + * Endpoint 2 is applicable to audio CoPreP. * Supported values: * - AFE Rx port * - 0xFFFF -- Endpoint 2 is unavailable and the voice From 6a133ce3b43dbb08de378b1e4ba2ad77de0d4514 Mon Sep 17 00:00:00 2001 From: Kishan Kumar Majeti Date: Thu, 9 Feb 2023 11:35:41 +0530 Subject: [PATCH 2/2] asoc: Fix possible overflow in routing driver Send SOC_NO_PM in reg filed to avoid overflow in DAPM operation Change-Id: Id4845f1513612b54c7949d7c5c921f0529e5b847 Signed-off-by: Kishan Kumar Majeti --- asoc/msm-pcm-routing-v2.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/asoc/msm-pcm-routing-v2.c b/asoc/msm-pcm-routing-v2.c index 6ec26e7d53b9..d77844984bdb 100644 --- a/asoc/msm-pcm-routing-v2.c +++ b/asoc/msm-pcm-routing-v2.c @@ -1,6 +1,39 @@ // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved. - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Changes from Qualcomm Innovation Center are provided under the following license: + * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted (subject to the limitations in the + * disclaimer below) provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * * Neither the name of Qualcomm Innovation Center, Inc. nor the + * names of its contributors may be used to endorse or promote + * products derived from this software without specific prior + * written permission. + * + * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE + * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT + * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * Add support for 24 and 32bit format for ASM loopback and playback session. @@ -33189,7 +33222,7 @@ static const struct soc_enum wsa_rx_0_vi_fb_rch_mux_enum = wsa_rx_0_vi_fb_tx_rch_mux_text, wsa_rx_0_vi_fb_tx_rch_value); static const struct soc_enum mi2s_rx_vi_fb_mux_enum = - SOC_VALUE_ENUM_DOUBLE(0, MSM_BACKEND_DAI_PRI_MI2S_RX, 0, 0, + SOC_VALUE_ENUM_DOUBLE(SND_SOC_NOPM, MSM_BACKEND_DAI_PRI_MI2S_RX, 0, 0, ARRAY_SIZE(mi2s_rx_vi_fb_tx_mux_text), mi2s_rx_vi_fb_tx_mux_text, mi2s_rx_vi_fb_tx_value);