From d7262ae1e01def48367c5d58722651f03321533d Mon Sep 17 00:00:00 2001 From: Laxminath Kasam Date: Mon, 24 Sep 2018 17:54:58 +0530 Subject: [PATCH] asoc: wcd934x: add SSR events to trigger to new swr master controller For new swr master controller to recover WSA on wcd934x variant, trigger events from wcd934x driver for ssr down and up. Change-Id: I8f0163178708760ef3ad2a765a80682611693e9b Signed-off-by: Laxminath Kasam --- asoc/codecs/wcd934x/wcd934x.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/asoc/codecs/wcd934x/wcd934x.c b/asoc/codecs/wcd934x/wcd934x.c index 36676767fb..2a6d829f24 100644 --- a/asoc/codecs/wcd934x/wcd934x.c +++ b/asoc/codecs/wcd934x/wcd934x.c @@ -10010,9 +10010,13 @@ static int tavil_device_down(struct wcd9xxx *wcd9xxx) (&priv->mbhc->wcd_mbhc, false); } - if (priv->swr.ctrl_data) + if (priv->swr.ctrl_data) { + if (is_snd_event_fwk_enabled()) + swrm_wcd_notify(priv->swr.ctrl_data[0].swr_pdev, + SWR_DEVICE_SSR_DOWN, NULL); swrm_wcd_notify(priv->swr.ctrl_data[0].swr_pdev, SWR_DEVICE_DOWN, NULL); + } tavil_dsd_reset(priv->dsd_config); if (!is_snd_event_fwk_enabled()) snd_soc_card_change_online_state(codec->component.card, 0); @@ -10110,6 +10114,9 @@ static int tavil_post_reset_cb(struct wcd9xxx *wcd9xxx) goto done; } + if (tavil->swr.ctrl_data && is_snd_event_fwk_enabled()) + swrm_wcd_notify(tavil->swr.ctrl_data[0].swr_pdev, + SWR_DEVICE_SSR_UP, NULL); tavil_set_spkr_mode(codec, tavil->swr.spkr_mode); /* * Once the codec initialization is completed, the svs vote