Merge "ASoC: wsa883x: Enable all WSA interrupts"

This commit is contained in:
qctecmdr 2021-12-08 08:38:18 -08:00 • committed by Gerrit - the friendly Code Review server
commit dd131631a7

View file

@ -1125,6 +1125,11 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w,
usleep_range(250, 300);
wcd_enable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PA_ON_ERR);
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);
/* Force remove group */
swr_remove_from_group(wsa883x->swr_slave,
wsa883x->swr_slave->dev_num);
@ -1158,6 +1163,11 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w,
0x10, 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);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PA_ON_ERR);
clear_bit(SPKR_STATUS, &wsa883x->status_mask);
@ -1650,6 +1660,7 @@ static int wsa883x_swr_probe(struct swr_device *pdev)
}
swr_set_dev_data(pdev, wsa883x);
wsa883x->swr_slave = pdev;
wsa883x->dev = &pdev->dev;
pin_state_current = msm_cdc_pinctrl_get_state(wsa883x->wsa_rst_np);
wsa883x_gpio_ctrl(wsa883x, true);
/*
@ -1697,48 +1708,48 @@ static int wsa883x_swr_probe(struct swr_device *pdev)
wsa883x->swr_slave->slave_irq = wsa883x->virq;
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_SAF2WAR,
"WSA SAF2WAR", wsa883x_saf2war_handle_irq, NULL);
"WSA SAF2WAR", wsa883x_saf2war_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_SAF2WAR);
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_WAR2SAF,
"WSA WAR2SAF", wsa883x_war2saf_handle_irq, NULL);
"WSA WAR2SAF", wsa883x_war2saf_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_WAR2SAF);
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_DISABLE,
"WSA OTP", wsa883x_otp_handle_irq, NULL);
"WSA OTP", wsa883x_otp_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_DISABLE);
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_OCP,
"WSA OCP", wsa883x_ocp_handle_irq, NULL);
"WSA OCP", wsa883x_ocp_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_OCP);
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLIP,
"WSA CLIP", wsa883x_clip_handle_irq, NULL);
"WSA CLIP", wsa883x_clip_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLIP);
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PDM_WD,
"WSA PDM WD", wsa883x_pdm_wd_handle_irq, NULL);
"WSA PDM WD", wsa883x_pdm_wd_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PDM_WD);
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLK_WD,
"WSA CLK WD", wsa883x_clk_wd_handle_irq, NULL);
"WSA CLK WD", wsa883x_clk_wd_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLK_WD);
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_INTR_PIN,
"WSA EXT INT", wsa883x_ext_int_handle_irq, NULL);
"WSA EXT INT", wsa883x_ext_int_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_INTR_PIN);
/* Under Voltage Lock out (UVLO) interrupt handle */
wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_UVLO,
"WSA UVLO", wsa883x_uvlo_handle_irq, NULL);
"WSA UVLO", wsa883x_uvlo_handle_irq, wsa883x);
wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_UVLO);