summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAditya Bavanari <abavanar@codeaurora.org>2020-04-29 09:40:56 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2020-05-12 06:20:01 -0700
commit8010a7d6564f224f2f33d23785b7c01300b73e96 (patch)
tree6362d11ec774f58a3ba343351f17e2ca67236c61
parent1038df1f062f935cc44c463c7dbb63934b80cca8 (diff)
downloadmsm-extra-8010a7d6564f224f2f33d23785b7c01300b73e96.tar.gz
asoc: Add digital mute callback function for cdc dma
Add a new digital mute callback function for cdc dma as it uses a different dai structure. Change-Id: I8db4e9610aee0d519ccc50975a779b9d2d8c671e Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
-rw-r--r--asoc/msm-dai-q6-v2.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/asoc/msm-dai-q6-v2.c b/asoc/msm-dai-q6-v2.c
index a0d98959..c0051d83 100644
--- a/asoc/msm-dai-q6-v2.c
+++ b/asoc/msm-dai-q6-v2.c
@@ -2795,7 +2795,6 @@ static int msm_dai_q6_set_channel_map(struct snd_soc_dai *dai,
return rc;
}
-/* all ports with excursion logging requirement can use this digital_mute api */
static int msm_dai_q6_spk_digital_mute(struct snd_soc_dai *dai,
int mute)
{
@@ -12337,7 +12336,8 @@ static int msm_dai_q6_cdc_dma_prepare(struct snd_pcm_substream *substream,
static void msm_dai_q6_cdc_dma_shutdown(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{
- struct msm_dai_q6_dai_data *dai_data = dev_get_drvdata(dai->dev);
+ struct msm_dai_q6_cdc_dma_dai_data *dai_data =
+ dev_get_drvdata(dai->dev);
int rc = 0;
if (test_bit(STATUS_PORT_STARTED, dai_data->status_mask)) {
@@ -12356,6 +12356,19 @@ static void msm_dai_q6_cdc_dma_shutdown(struct snd_pcm_substream *substream,
clear_bit(STATUS_PORT_STARTED, dai_data->hwfree_status);
}
+static int msm_dai_q6_cdc_dma_digital_mute(struct snd_soc_dai *dai,
+ int mute)
+{
+ int port_id = dai->id;
+ struct msm_dai_q6_cdc_dma_dai_data *dai_data =
+ dev_get_drvdata(dai->dev);
+
+ if (mute && !dai_data->xt_logging_disable)
+ afe_get_sp_xt_logging_data(port_id);
+
+ return 0;
+}
+
static struct snd_soc_dai_ops msm_dai_q6_cdc_dma_ops = {
.prepare = msm_dai_q6_cdc_dma_prepare,
.hw_params = msm_dai_q6_cdc_dma_hw_params,
@@ -12368,7 +12381,7 @@ static struct snd_soc_dai_ops msm_dai_q6_cdc_wsa_dma_ops = {
.hw_params = msm_dai_q6_cdc_dma_hw_params,
.shutdown = msm_dai_q6_cdc_dma_shutdown,
.set_channel_map = msm_dai_q6_cdc_dma_set_channel_map,
- .digital_mute = msm_dai_q6_spk_digital_mute,
+ .digital_mute = msm_dai_q6_cdc_dma_digital_mute,
};
static struct snd_soc_dai_driver msm_dai_q6_cdc_dma_dai[] = {