OSDN Git Service

ASoC: msm_sdw: Avoid initial SSR notifications at bootup
authorLaxminath Kasam <lkasam@codeaurora.org>
Sun, 19 Mar 2017 10:50:24 +0000 (16:20 +0530)
committerGerrit - the friendly Code Review server <code-review@localhost>
Wed, 22 Mar 2017 07:52:27 +0000 (00:52 -0700)
In MSM soundwire codec, avoid initial bootup SSR
notifications after registration of notifier.

Change-Id: I06b1ffedf3b7247baa1d3ffe92a66584a321e624
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
sound/soc/codecs/msm_sdw/msm_sdw_cdc.c

index 1d1dd0f..b7b785f 100644 (file)
@@ -1656,12 +1656,15 @@ static int msm_sdw_notifier_service_cb(struct notifier_block *nb,
                                                    service_nb);
        bool adsp_ready = false;
        unsigned long timeout;
+       static bool initial_boot = true;
 
        pr_debug("%s: Service opcode 0x%lx\n", __func__, opcode);
 
        mutex_lock(&msm_sdw->codec_mutex);
        switch (opcode) {
        case AUDIO_NOTIFIER_SERVICE_DOWN:
+               if (initial_boot)
+                       break;
                msm_sdw->int_mclk1_enabled = false;
                msm_sdw->dev_up = false;
                for (i = 0; i < msm_sdw->nr; i++)
@@ -1669,6 +1672,8 @@ static int msm_sdw_notifier_service_cb(struct notifier_block *nb,
                                        SWR_DEVICE_DOWN, NULL);
                break;
        case AUDIO_NOTIFIER_SERVICE_UP:
+               if (initial_boot)
+                       initial_boot = false;
                if (!q6core_is_adsp_ready()) {
                        dev_dbg(msm_sdw->dev, "ADSP isn't ready\n");
                        timeout = jiffies +