ASoC: tegra-virt: apbif stop playback fix
Ranjith Kannikara [Tue, 28 Oct 2014 06:49:15 +0000 (11:49 +0530)]
The stop playback needs to call the find_amx_channel_info
so that the proper AMX channel is updated in the
apbif data structure.

Bug 1571149

Change-Id: I4c19ed7bab3005260b2df30a216ef048c69ce31a
Signed-off-by: Ranjith Kannikara <rkannikara@nvidia.com>
Reviewed-on: http://git-master/r/590675
Reviewed-by: Arun Shamanna Lakshmi <aruns@nvidia.com>
Tested-by: Arun Shamanna Lakshmi <aruns@nvidia.com>

sound/soc/tegra-virtual/tegra124_virt_apbif_slave.c

index e6f1669..276995c 100644 (file)
@@ -140,6 +140,10 @@ static void tegra124_virt_apbif_stop_playback(struct snd_soc_dai *dai)
        struct slave_remap_add *phandle = &(data->phandle);
        int value;
 
+       data->apbif_id = dai->id;
+       /* find amx channel for latest amixer settings */
+       tegra_find_amx_info((unsigned long)data);
+
        /* disable the amx in channel */
        if (data->amx_id < AMX_MAX_INSTANCE) {
                value = reg_read(phandle->amx_base[data->amx_id],