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

Commit e223cc7e authored by Michael Hennerich's avatar Michael Hennerich Committed by Dmitry Torokhov
Browse files

Input: ad714x - fix threshold and completion interrupt masks



Fix two issues in the threshold and completion interrupt mask and unmask
functions. According to the AD714x datasheets the highest stage completion
interrupt should be enabled. Fix mask computation.

Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
Tested-by: default avatarJean-Francois Dagenais <jeff.dagenais@gmail.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent dc5f4f5e
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -158,10 +158,10 @@ static void ad714x_use_com_int(struct ad714x_chip *ad714x,
	unsigned short data;
	unsigned short mask;

	mask = ((1 << (end_stage + 1)) - 1) - (1 << start_stage);
	mask = ((1 << (end_stage + 1)) - 1) - ((1 << start_stage) - 1);

	ad714x->read(ad714x->dev, STG_COM_INT_EN_REG, &data);
	data |= 1 << start_stage;
	data |= 1 << end_stage;
	ad714x->write(ad714x->dev, STG_COM_INT_EN_REG, data);

	ad714x->read(ad714x->dev, STG_HIGH_INT_EN_REG, &data);
@@ -175,10 +175,10 @@ static void ad714x_use_thr_int(struct ad714x_chip *ad714x,
	unsigned short data;
	unsigned short mask;

	mask = ((1 << (end_stage + 1)) - 1) - (1 << start_stage);
	mask = ((1 << (end_stage + 1)) - 1) - ((1 << start_stage) - 1);

	ad714x->read(ad714x->dev, STG_COM_INT_EN_REG, &data);
	data &= ~(1 << start_stage);
	data &= ~(1 << end_stage);
	ad714x->write(ad714x->dev, STG_COM_INT_EN_REG, data);

	ad714x->read(ad714x->dev, STG_HIGH_INT_EN_REG, &data);