[PATCH v4 1/4] input: synaptics - fix pressure values calculation on image sensors

2016-04-01 Thread Gabriele Mazzotta
The pressure values retrieved from secondary packets was incorrectly
shifted, making them lower than what they actually were.
Since this only happened with secondary packets, the values reported
when only one finger was present on the touchpad were correct.

Signed-off-by: Gabriele Mazzotta 
---
 drivers/input/mouse/synaptics.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index a41d832..01fccca 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -677,7 +677,7 @@ static void synaptics_parse_agm(const unsigned char buf[],
agm->w = hw->w;
agm->x = (((buf[4] & 0x0f) << 8) | buf[1]) << 1;
agm->y = (((buf[4] & 0xf0) << 4) | buf[2]) << 1;
-   agm->z = ((buf[3] & 0x30) | (buf[5] & 0x0f)) << 1;
+   agm->z = ((buf[3] & 0x30) | (buf[5] & 0x0f)) << 2;
break;
 
case 2:
-- 
2.8.0.rc3



[PATCH v4 1/4] input: synaptics - fix pressure values calculation on image sensors

2016-04-01 Thread Gabriele Mazzotta
The pressure values retrieved from secondary packets was incorrectly
shifted, making them lower than what they actually were.
Since this only happened with secondary packets, the values reported
when only one finger was present on the touchpad were correct.

Signed-off-by: Gabriele Mazzotta 
---
 drivers/input/mouse/synaptics.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index a41d832..01fccca 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -677,7 +677,7 @@ static void synaptics_parse_agm(const unsigned char buf[],
agm->w = hw->w;
agm->x = (((buf[4] & 0x0f) << 8) | buf[1]) << 1;
agm->y = (((buf[4] & 0xf0) << 4) | buf[2]) << 1;
-   agm->z = ((buf[3] & 0x30) | (buf[5] & 0x0f)) << 1;
+   agm->z = ((buf[3] & 0x30) | (buf[5] & 0x0f)) << 2;
break;
 
case 2:
-- 
2.8.0.rc3