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

Commit fdc3fb03 authored by Swaminathan Sathappan's avatar Swaminathan Sathappan Committed by Stephen Boyd
Browse files

ASoC: wcd9310: Clear the status only for active slimbus ports



When closing the slimbus ports, clear only the slimbus
ports which were active at the time of closing on that
slimbus interrupt, which will avoid clearing further
interrupts for other slimbus ports

Change-Id: I43ce9963c0ecb4b8fb79527b8a9c6b13d7780aad
CRs-fixed: 380535
Signed-off-by: default avatarSwaminathan Sathappan <Swami@codeaurora.org>
parent d507073f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -7312,14 +7312,13 @@ int tabla_hs_detect(struct snd_soc_codec *codec,
}
EXPORT_SYMBOL_GPL(tabla_hs_detect);

static unsigned long slimbus_value;

static irqreturn_t tabla_slimbus_irq(int irq, void *data)
{
	struct tabla_priv *priv = data;
	struct snd_soc_codec *codec = priv->codec;
	struct tabla_priv *tabla_p = snd_soc_codec_get_drvdata(codec);
	int i, j, port_id, k, ch_mask_temp;
	unsigned long slimbus_value;
	u8 val;

	for (i = 0; i < WCD9XXX_SLIM_NUM_PORT_REG; i++) {
@@ -7352,7 +7351,8 @@ static irqreturn_t tabla_slimbus_irq(int irq, void *data)
			}
		}
		wcd9xxx_interface_reg_write(codec->control_data,
			TABLA_SLIM_PGD_PORT_INT_CLR0 + i, 0xFF);
			TABLA_SLIM_PGD_PORT_INT_CLR0 + i, slimbus_value);
		val = 0x0;
	}

	return IRQ_HANDLED;