diff --git a/asoc/codecs/bolero/rx-macro.c b/asoc/codecs/bolero/rx-macro.c
index 6c936cb..1b042cb 100644
--- a/asoc/codecs/bolero/rx-macro.c
+++ b/asoc/codecs/bolero/rx-macro.c
@@ -3027,6 +3027,19 @@
 		dev_err(rx_dev, "%s: failed to add snd_ctls\n", __func__);
 		return ret;
 	}
+	snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF1 Playback");
+	snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF2 Playback");
+	snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF3 Playback");
+	snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF4 Playback");
+	snd_soc_dapm_ignore_suspend(dapm, "HPHL_OUT");
+	snd_soc_dapm_ignore_suspend(dapm, "HPHR_OUT");
+	snd_soc_dapm_ignore_suspend(dapm, "AUX_OUT");
+	snd_soc_dapm_ignore_suspend(dapm, "RX_TX DEC0_INP");
+	snd_soc_dapm_ignore_suspend(dapm, "RX_TX DEC1_INP");
+	snd_soc_dapm_ignore_suspend(dapm, "RX_TX DEC2_INP");
+	snd_soc_dapm_ignore_suspend(dapm, "RX_TX DEC3_INP");
+	snd_soc_dapm_sync(dapm);
+
 	snd_soc_update_bits(codec, BOLERO_CDC_RX_RX0_RX_PATH_DSM_CTL, 0x01, 0x01);
 	snd_soc_update_bits(codec, BOLERO_CDC_RX_RX1_RX_PATH_DSM_CTL, 0x01, 0x01);
 	snd_soc_update_bits(codec, BOLERO_CDC_RX_RX2_RX_PATH_DSM_CTL, 0x01, 0x01);
diff --git a/asoc/codecs/bolero/tx-macro.c b/asoc/codecs/bolero/tx-macro.c
index 44826de..09dd3b0 100644
--- a/asoc/codecs/bolero/tx-macro.c
+++ b/asoc/codecs/bolero/tx-macro.c
@@ -1521,6 +1521,23 @@
 		dev_err(tx_dev, "%s: Failed to add snd_ctls\n", __func__);
 		return ret;
 	}
+
+	snd_soc_dapm_ignore_suspend(dapm, "TX_AIF1 Capture");
+	snd_soc_dapm_ignore_suspend(dapm, "TX_AIF2 Capture");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_ADC0");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_ADC1");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_ADC2");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_ADC3");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC0");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC1");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC2");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC3");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC4");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC5");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC6");
+	snd_soc_dapm_ignore_suspend(dapm, "TX SWR_MIC7");
+	snd_soc_dapm_sync(dapm);
+
 	for (i = 0; i < NUM_DECIMATORS; i++) {
 		tx_priv->tx_hpf_work[i].tx_priv = tx_priv;
 		tx_priv->tx_hpf_work[i].decimator = i;
diff --git a/asoc/codecs/bolero/va-macro.c b/asoc/codecs/bolero/va-macro.c
index 1d28e41..0bbdc68 100644
--- a/asoc/codecs/bolero/va-macro.c
+++ b/asoc/codecs/bolero/va-macro.c
@@ -1454,6 +1454,22 @@
 		return ret;
 	}
 
+	snd_soc_dapm_ignore_suspend(dapm, "VA_AIF1 Capture");
+	snd_soc_dapm_ignore_suspend(dapm, "VA_AIF2 Capture");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_ADC0");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_ADC1");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_ADC2");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_ADC3");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_MIC0");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_MIC1");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_MIC2");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_MIC3");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_MIC4");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_MIC5");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_MIC6");
+	snd_soc_dapm_ignore_suspend(dapm, "VA SWR_MIC7");
+	snd_soc_dapm_sync(dapm);
+
 	for (i = 0; i < VA_MACRO_NUM_DECIMATORS; i++) {
 		va_priv->va_hpf_work[i].va_priv = va_priv;
 		va_priv->va_hpf_work[i].decimator = i;
diff --git a/asoc/codecs/bolero/wsa-macro.c b/asoc/codecs/bolero/wsa-macro.c
index d527186..9a6dff3 100644
--- a/asoc/codecs/bolero/wsa-macro.c
+++ b/asoc/codecs/bolero/wsa-macro.c
@@ -2511,6 +2511,17 @@
 		dev_err(wsa_dev, "%s: Failed to add snd_ctls\n", __func__);
 		return ret;
 	}
+	snd_soc_dapm_ignore_suspend(dapm, "WSA_AIF1 Playback");
+	snd_soc_dapm_ignore_suspend(dapm, "WSA_AIF_MIX1 Playback");
+	snd_soc_dapm_ignore_suspend(dapm, "WSA_AIF_VI Capture");
+	snd_soc_dapm_ignore_suspend(dapm, "WSA_AIF_ECHO Capture");
+	snd_soc_dapm_ignore_suspend(dapm, "WSA_SPK1 OUT");
+	snd_soc_dapm_ignore_suspend(dapm, "WSA_SPK2 OUT");
+	snd_soc_dapm_ignore_suspend(dapm, "VIINPUT_WSA");
+	snd_soc_dapm_ignore_suspend(dapm, "WSA SRC0_INP");
+	snd_soc_dapm_ignore_suspend(dapm, "WSA_TX DEC0_INP");
+	snd_soc_dapm_ignore_suspend(dapm, "WSA_TX DEC1_INP");
+	snd_soc_dapm_sync(dapm);
 
 	wsa_priv->codec = codec;
 	wsa_priv->spkr_gain_offset = WSA_MACRO_GAIN_OFFSET_0_DB;
diff --git a/asoc/codecs/wcd937x/wcd937x.c b/asoc/codecs/wcd937x/wcd937x.c
index 9d77742..bbe9d8f 100644
--- a/asoc/codecs/wcd937x/wcd937x.c
+++ b/asoc/codecs/wcd937x/wcd937x.c
@@ -1867,6 +1867,19 @@
 		pr_err("%s: mbhc initialization failed\n", __func__);
 		goto err_hwdep;
 	}
+	snd_soc_dapm_ignore_suspend(dapm, "AMIC1");
+	snd_soc_dapm_ignore_suspend(dapm, "AMIC2");
+	snd_soc_dapm_ignore_suspend(dapm, "AMIC3");
+	snd_soc_dapm_ignore_suspend(dapm, "IN1_HPHL");
+	snd_soc_dapm_ignore_suspend(dapm, "IN2_HPHR");
+	snd_soc_dapm_ignore_suspend(dapm, "IN3_AUX");
+	snd_soc_dapm_ignore_suspend(dapm, "ADC1_OUTPUT");
+	snd_soc_dapm_ignore_suspend(dapm, "ADC2_OUTPUT");
+	snd_soc_dapm_ignore_suspend(dapm, "EAR");
+	snd_soc_dapm_ignore_suspend(dapm, "AUX");
+	snd_soc_dapm_ignore_suspend(dapm, "HPHL");
+	snd_soc_dapm_ignore_suspend(dapm, "HPHR");
+	snd_soc_dapm_sync(dapm);
 
 	wcd937x_init_reg(codec);
 
@@ -1885,6 +1898,14 @@
 				__func__);
 			goto err_hwdep;
 		}
+		snd_soc_dapm_ignore_suspend(dapm, "AMIC4");
+		snd_soc_dapm_ignore_suspend(dapm, "DMIC1_OUTPUT");
+		snd_soc_dapm_ignore_suspend(dapm, "DMIC2_OUTPUT");
+		snd_soc_dapm_ignore_suspend(dapm, "DMIC3_OUTPUT");
+		snd_soc_dapm_ignore_suspend(dapm, "DMIC4_OUTPUT");
+		snd_soc_dapm_ignore_suspend(dapm, "DMIC5_OUTPUT");
+		snd_soc_dapm_ignore_suspend(dapm, "DMIC6_OUTPUT");
+		snd_soc_dapm_ignore_suspend(dapm, "ADC3_OUTPUT");
 		snd_soc_dapm_sync(dapm);
 	}
 	wcd937x->version = WCD937X_VERSION_1_0;
