瀏覽代碼

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 <[email protected]>
Laxminath Kasam 6 年之前
父節點
當前提交
d7262ae1e0
共有 1 個文件被更改,包括 8 次插入1 次删除
  1. 8 1
      asoc/codecs/wcd934x/wcd934x.c

+ 8 - 1
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