summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru M Stan <amstan@chromium.org>2018-03-08 14:33:56 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-05-29 23:58:13 +0000
commitff3f1d2632657883a16c42fe4d640ed12a358b35 (patch)
treea228684338a830f23601d70e17b5b392c2fa68be
parentd11807f16c3a3f7f67454bd592ffbd25153a0bf8 (diff)
downloadchrome-ec-ff3f1d2632657883a16c42fe4d640ed12a358b35.tar.gz
sensor: bmi160: Don't batch data on the sensor
Set the sensor side fifo watermark to interrupt the EC as soon as there's any data in there, that way we get more frequent accelerometer interrupts (which is handy when you want to mark down the time of each sample accuratelly). BUG=b:67743747 TEST=Sensor should still be working normally, the ec will probably start recieving sensor interrupts (before this was probably not the case). BRANCH=master Change-Id: I726550e68447a74bbfed88b703d2f68b6967ac93 Signed-off-by: Alexandru M Stan <amstan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/956626 Commit-Ready: Gwendal Grignou <gwendal@chromium.org> Tested-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org> (cherry picked from commit f31dcc649a40b1dae010898c4613be81a3075a95) Reviewed-on: https://chromium-review.googlesource.com/1077552 Commit-Queue: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Philip Chen <philipchen@chromium.org>
-rw-r--r--driver/accelgyro_bmi160.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/driver/accelgyro_bmi160.c b/driver/accelgyro_bmi160.c
index 8d2c93f686..8c9a8e4af4 100644
--- a/driver/accelgyro_bmi160.c
+++ b/driver/accelgyro_bmi160.c
@@ -843,9 +843,8 @@ static int config_interrupt(const struct motion_sensor_t *s)
BMI160_INT_MAP(1, FWM) |
BMI160_INT_MAP(1, FFULL));
- /* configure fifo watermark at 50% */
- ret = raw_write8(s->port, s->addr, BMI160_FIFO_CONFIG_0,
- 512 / sizeof(uint32_t));
+ /* configure fifo watermark to int whenever there's any data in there */
+ ret = raw_write8(s->port, s->addr, BMI160_FIFO_CONFIG_0, 1);
#ifdef CONFIG_ACCELGYRO_BMI160_INT2_OUTPUT
ret = raw_write8(s->port, s->addr, BMI160_FIFO_CONFIG_1,
BMI160_FIFO_HEADER_EN);