diff options
author | Aditya Bavanari <abavanar@codeaurora.org> | 2020-04-29 09:40:56 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2020-05-12 06:20:01 -0700 |
commit | 8010a7d6564f224f2f33d23785b7c01300b73e96 (patch) | |
tree | 6362d11ec774f58a3ba343351f17e2ca67236c61 | |
parent | 1038df1f062f935cc44c463c7dbb63934b80cca8 (diff) | |
download | msm-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.c | 19 |
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[] = { |