summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwendal Grignou <gwendal@chromium.org>2019-01-31 10:44:52 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2019-02-11 04:49:57 +0000
commit65ad7d78681cde3874a887d4ddc8c63022b78bf1 (patch)
tree7556a0f699ff4f767cbf596ebe706df0a25521ad
parenta2cb7080f23aa4e6442400227fd14818800502a7 (diff)
downloadchrome-ec-65ad7d78681cde3874a887d4ddc8c63022b78bf1.tar.gz
common: sensor: Honor roundup flag for range
Look for ROUND_UP_FLAG in default_range when setting the default range. BUG=b:115587004 BRANCH=octopus TEST=On meep check range is set at ~1145dps, not 572dps after reboot. Change-Id: Ic13fb65b5cfabbebf70b2a5d75abf8faf4b50321 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1448811 Reviewed-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Reviewed-by: Diana Z <dzigterman@chromium.org> Tested-by: Karthikeyan Ramasubramanian <kramasub@chromium.org> Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> (cherry picked from commit b716f1c9d90e4f6f2249698819a21441eb58df7e) Reviewed-on: https://chromium-review.googlesource.com/c/1460283 Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org> Trybot-Ready: Justin TerAvest <teravest@chromium.org>
-rw-r--r--common/motion_sense.c3
-rw-r--r--include/motion_sense.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/common/motion_sense.c b/common/motion_sense.c
index f5bfc8426c..a7a704a80e 100644
--- a/common/motion_sense.c
+++ b/common/motion_sense.c
@@ -465,7 +465,8 @@ int sensor_init_done(const struct motion_sensor_t *s)
{
int ret;
- ret = s->drv->set_range(s, s->default_range, 0);
+ ret = s->drv->set_range(s, BASE_RANGE(s->default_range),
+ !!(s->default_range & ROUND_UP_FLAG));
if (ret == EC_RES_SUCCESS) {
#ifdef CONFIG_CONSOLE_VERBOSE
CPRINTS("%s: MS Done Init type:0x%X range:%d",
diff --git a/include/motion_sense.h b/include/motion_sense.h
index 2d81c9b003..6733fee8dc 100644
--- a/include/motion_sense.h
+++ b/include/motion_sense.h
@@ -44,6 +44,7 @@ enum sensor_config {
#define ROUND_UP_FLAG (1 << 31)
#define BASE_ODR(_odr) ((_odr) & ~ROUND_UP_FLAG)
+#define BASE_RANGE(_range) ((_range) & ~ROUND_UP_FLAG)
#ifdef CONFIG_ACCEL_FIFO
#define MAX_FIFO_EVENT_COUNT CONFIG_ACCEL_FIFO