浏览代码

ASoC: wsa883x: Enable all WSA interrupts

Only UVLO_irq, PA_ON_ERR_IRQ and PDM_WD_IRQ are enabled
on wsa883x. Enable all other IRQs to monitor if WSA is in
bad state.

Change-Id: Ia78f12520eda4b26c00776583a78b14b74771e0e
Signed-off-by: Meng Wang <[email protected]>
Meng Wang 3 年之前
父节点
当前提交
2a7c4c286e
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      asoc/codecs/wsa883x/wsa883x.c

+ 10 - 0
asoc/codecs/wsa883x/wsa883x.c

@@ -1160,6 +1160,11 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w,
 						0x07,
 						wsa883x->comp_offset);
 		wcd_enable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_UVLO);
+		wcd_enable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_SAF2WAR);
+		wcd_enable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_WAR2SAF);
+		wcd_enable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_DISABLE);
+		wcd_enable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_OCP);
+		wcd_enable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLK_WD);
 		snd_soc_component_update_bits(component,
 				WSA883X_VBAT_ADC_FLT_CTL,
 				0x0E, 0x06);
@@ -1184,6 +1189,11 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w,
 				0x01, 0x00);
 		snd_soc_component_update_bits(component, WSA883X_PDM_WD_CTL,
 				0x01, 0x00);
+		wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLK_WD);
+		wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_OCP);
+		wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_DISABLE);
+		wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_WAR2SAF);
+		wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_SAF2WAR);
 		wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_UVLO);
 		clear_bit(SPKR_STATUS, &wsa883x->status_mask);
 		clear_bit(SPKR_ADIE_LB, &wsa883x->status_mask);