Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4023899 authored by Sudheer Papothi's avatar Sudheer Papothi Committed by Laxminath Kasam
Browse files

ASoC: wsa883x: Disable interrupts during bootup



Disable interrupts while bringing codec out of reset to avoid fake
interrupts.

Change-Id: Iec1e6c67429b7424693c2628e6f6d121a4c9ce71
Signed-off-by: default avatarSudheer Papothi <spapothi@codeaurora.org>
parent 9a354de6
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -1393,15 +1393,23 @@ static int wsa883x_swr_probe(struct swr_device *pdev)
	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_OCP,
	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_OCP,
			"WSA OCP", wsa883x_ocp_handle_irq, NULL);
			"WSA OCP", wsa883x_ocp_handle_irq, NULL);


	wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_OCP);

	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLIP,
	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLIP,
			"WSA CLIP", wsa883x_clip_handle_irq, NULL);
			"WSA CLIP", wsa883x_clip_handle_irq, NULL);


	wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLIP);

	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PDM_WD,
	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, NULL);


	wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PDM_WD);

	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLK_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, NULL);


	wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_CLK_WD);

	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_INTR_PIN,
	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, NULL);


@@ -1412,6 +1420,8 @@ static int wsa883x_swr_probe(struct swr_device *pdev)
	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PA_ON_ERR,
	wcd_request_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PA_ON_ERR,
			"WSA PA ERR", wsa883x_pa_on_err_handle_irq, NULL);
			"WSA PA ERR", wsa883x_pa_on_err_handle_irq, NULL);


	wcd_disable_irq(&wsa883x->irq_info, WSA883X_IRQ_INT_PA_ON_ERR);

	ret = snd_soc_register_component(&pdev->dev, &soc_codec_dev_wsa883x,
	ret = snd_soc_register_component(&pdev->dev, &soc_codec_dev_wsa883x,
				     NULL, 0);
				     NULL, 0);
	if (ret) {
	if (ret) {