From patchwork Mon May 14 21:05:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jean-Baptiste Maneyrol X-Patchwork-Id: 10399239 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4BF21601F9 for ; Mon, 14 May 2018 21:06:39 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C791A28518 for ; Mon, 14 May 2018 21:06:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BB4FD28521; Mon, 14 May 2018 21:06:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 384A928518 for ; Mon, 14 May 2018 21:06:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752281AbeENVGf (ORCPT ); Mon, 14 May 2018 17:06:35 -0400 Received: from mail-cys01nam02on0059.outbound.protection.outlook.com ([104.47.37.59]:42300 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752136AbeENVGa (ORCPT ); Mon, 14 May 2018 17:06:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=invensense.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=HLpZVpxAzpZZA1YUAYSDYtrfYkZ+CKyst6wJcTfIU28=; b=PnuOpX2ZwpYgOvFb6vEiGtEfParyt2w3Lbb8GFicLU1LIGp6frf+GmkkI+Al84VtPQmTr+uE6yQltmPHkmg5/jHftT9CFEbgOSTrKcmhDfh4RZ5fHM3BLLcLnTtFmAikM2lIqH9JGKeUqgn7K1X82tRA6N78NQJ8EqJ/OPul2rQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=JManeyrol@invensense.com; Received: from frgnb-l-34296kv.invcorp.invensense.com (2a01:e35:87fd:c140:998d:db6c:4387:dfad) by MWHPR1201MB0191.namprd12.prod.outlook.com (2603:10b6:301:56::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.755.16; Mon, 14 May 2018 21:06:28 +0000 From: Jean-Baptiste Maneyrol To: linux-iio@vger.kernel.org Cc: Jean-Baptiste Maneyrol Subject: [PATCH 4/5] iio: imu: inv_mpu6050: better fifo overflow handling Date: Mon, 14 May 2018 23:05:54 +0200 Message-Id: <1526331955-11869-4-git-send-email-jmaneyrol@invensense.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1526331955-11869-1-git-send-email-jmaneyrol@invensense.com> References: <1526331955-11869-1-git-send-email-jmaneyrol@invensense.com> MIME-Version: 1.0 X-Originating-IP: [2a01:e35:87fd:c140:998d:db6c:4387:dfad] X-ClientProxiedBy: LO2P265CA0024.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:62::36) To MWHPR1201MB0191.namprd12.prod.outlook.com (2603:10b6:301:56::13) X-MS-PublicTrafficType: Email X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:MWHPR1201MB0191; X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0191; 3:VopnJlYM4tLFuKebpf4Maf4B5P9ifUtYVjuBXqCk2RMcgShUBJrBJTywwLL2jdBPR+l3kaSrGQ7TstyPEMfHUn8N3IB5EZ/fwlj83ov0qYsed4+3E1TBFxRDyhXoYqv9tX2L1r5qkiowulyvERb2vW6DeA3SyDOVeAGIN0j0ix2hNFXN1YlasxD6o8EB5q+qP3+bbylToO10QOWnXTTLjeOiDV2hwwWx3L5ge9DM6xz4wxlbSwHkG3rT7I4OaRuE; 25:KfFhVaLGTPY6TCWadVUrPzvxP1cCAr6Wo8DtWYbOq81TN8fOaZoN2GgGSCLccBwtt7N6PK/n7vYleyOO3PltLtz0x/uivQSg9y+rH4OLlwret22iKoeVFWyl4tzYSAsKqa80UeH03ngZcYE640edgDKQtTh7QElAkv08tsDQic/EbG5TvAa0MIYnK12O5iNfLRTI/eS1dlE13zK/OfCEcRrknwI9Iprm17VrgwBDBVwDrA1DYVD02S5nP+lZa2AwJDo4hZla39eImTuz00KCIhCmh5nEx/RVfy+ydMveWJXpCWA80PZogrRvCH0ohD9KGlDC702zZv/Sxj6dYPGMDQ==; 31:0VdW8EN9WZ9KcH6YAXLdN04c2zVLx/U5Dz4LPVxdSUSrklOFaXmfTQCGjid3Pv99iFr3zYuSWD8QTML03h/b/4vuPGnNqeljNVs5lCCG2DUVhwJ0NQQrfjAb93XXA9pWoISVUfckRAk3RoB7fD8hOwEoYV/i2VwWNBOzgW+Ly06qnRQGBTThAE7IQNflSONGjIi7BejVc8lJB4qEPtoCJp96O5te5lCaOHJ5BHQoGv0= X-MS-TrafficTypeDiagnostic: MWHPR1201MB0191: X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0191; 20:lRm0tvubKVi3h44KwWTO8fRe9rXOfh24i8B2K7sn2Tij+QcC8MZV5Uk/NKBWECSBDAO0cNp9Q5UgE9f5dfJ1aKzv3UGcj6pZOKNuxCnH6LSr+iz7hbhXZyGY9caD6cZn79qqz35fyWj+LwFIqnwTNB7YOhQXRkrEs+1jP+spjNxN4hxACQEd3iLn+fwCfIVp3RmV71vIuTcW6GWT9z/dcb6W7xoUAyQxljyCNWHTnxmGpf/rRzZcDGlUFZSjEypAYFX5Mh6xmsv4g8EVjZJGUYzEDEt+/hBr6CkZ9x0hdz3Y+eTIRgZzwkHV9wyV5Kq8WGL3+QIQUEj1xgOe4hrYWvMHim80wSXLD/002YXNZXzsB4cjYN6tI6u1W/xW9WqDnqDkMm/+YSAIhIILSPzohhEyB5bHmtKFCu5+gsPq/YW7cfrE9RDQwib+in56asIvar3FSdK5px1oM5dl2SKdHGVHWs8K+mqDmzfVPx6+UBJDHfVU/m5meSwWhB4lpT5E; 4:8PLL0GNcrm7lzL55zsVYJYYVt1PmEHqS3DB9lKxoPG2WSrfv8WHc6jY61s+B/YoyzvIpOG/bzqaiczjaBNLenKBV1YG9bSDT4LtyaNuPkV/cfzfqVbToRx8ifmHrf6jN8u2ZlciJbq4wQw+M2558uRSPE1bvKT2KL+rz86qM5/zxtdQPFt4rcB3/FkSoB5mNGD4Jy/n2jYgzX0csFQoXRLMFSKu3t3bEWfBxvf1M7avoyYIoCpfx2Bims4V7+X7FEF2kx5aqTd1KFvoSUspPG3EbsR1G7QyVcWdgMLAo3rEhtzIOeX0Hh6/tGeiIcCFb X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(257004950022427); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(20161123560045)(20161123558120)(20161123564045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:MWHPR1201MB0191; BCL:0; PCL:0; RULEID:; SRVR:MWHPR1201MB0191; X-Forefront-PRVS: 067270ECAF X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(396003)(366004)(39380400002)(376002)(39850400004)(346002)(189003)(199004)(81156014)(186003)(7736002)(6666003)(4326008)(386003)(76176011)(48376002)(52396003)(50466002)(25786009)(80792005)(8936002)(68736007)(47776003)(6916009)(107886003)(8676002)(16526019)(36756003)(2906002)(53936002)(50226002)(6116002)(478600001)(305945005)(86362001)(72206003)(2351001)(46003)(6486002)(5660300001)(316002)(486006)(7696005)(52116002)(81166006)(11346002)(51416003)(97736004)(476003)(105586002)(106356001)(446003)(2361001)(16586007)(2616005); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR1201MB0191; H:frgnb-l-34296kv.invcorp.invensense.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: invensense.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR1201MB0191; 23:8Fc7KWLsnBsqkGWTL960Hg/OQJAmHO4L4mdhi9w?= =?us-ascii?Q?NdzXjBgvcWz4e2YiLM2IDXAyYqJbKL38+O7iMQkajEtflH6W/8tAJ97DMjlp?= =?us-ascii?Q?ZzQg9lIN189H7Ed9Y4YJy5jnvMvXlfmHQ1YdjBDYjrQXxNYkdsB2gVgwijI3?= =?us-ascii?Q?hFzexS2K4DuroF92mA0/cxAUKYiOA8cN9SSFjQQIOkDJX/++tKawg6fIP8MF?= =?us-ascii?Q?wN+uQu1FTn0bk7l1keNggJtghnRGEPNaSj3ba/FhfebUSwKcFOhJZncwe3DJ?= =?us-ascii?Q?FghrPLrkX58zM9OZakAdptngEwK9Ac0OdrMZ16UhYlrIMXMe1TGs/iLxeG/B?= =?us-ascii?Q?E57/OsNRG31alg5BS4Lcgm/0TT3FwOqUa5WspZvUXZgfWohnFCiSEtHw14TO?= =?us-ascii?Q?RgJ33Grtef935RMuyLYvHnN9sskGIV/xAVocPY9tYtXv1AGIA3dwL88h5JU5?= =?us-ascii?Q?665DiE2I3Bh7+/NaYFHjxzaXvsoBSYgcQysE9j3jy8zxQQyUDYXGK6Q1txA/?= =?us-ascii?Q?sEsfC4vsmQMkqqJo2B+aSuNMxkQCZNtegCkFGOepZ3ODy38UyiT/C3mk5gX2?= =?us-ascii?Q?RIIWQSzEUFzAhIaMjEbUJgsXcYZXSGcRK4gnMhA49rCKrYGJf7/U9T251HVB?= =?us-ascii?Q?pOnGhsibyLR6CDc/FD25fzSy9kU9c+hWJpNoPUs6V9lGc0LcaN7CAob0NXil?= =?us-ascii?Q?FuVgghG1oyplF3CMbFuiCSPLx//J7gHgbAe1bYfyaY2EHzIvavA2sgwB/YW3?= =?us-ascii?Q?mBHHH/7Bg601kgAd3C4lRIm/1q9tsCsqvcG3pLTvMK6BoReQbebDlihZ/tTZ?= =?us-ascii?Q?kmP33D6X5GslFDPn3Yu2lStkVCQnsoJQMu/w4H4CT3OwdMAgr/yG5LU40IX7?= =?us-ascii?Q?2MYV0LfaIXm9w54PAoRO0boVWYQlT79Mw6/mJ11KOt8OMojbbnocCReQESqI?= =?us-ascii?Q?2VAaANUej17M7z1pjIEIcPQn1BG5fAg/D9Yozz4+qDMj5iC4IWf1NEuxihlR?= =?us-ascii?Q?zTQYIe21odgoEHCNjvNi7+xdUFYqRwOgFiz0225FG11VidS80i87JPC0AkOj?= =?us-ascii?Q?MQmvdTOBvPGBJQBjI3hX+I3nwgYJp95SaqWH7HVUH0RutG96qghwk9a7GChu?= =?us-ascii?Q?kUi0dsFV9vsXBxglcx6BXw5be+CxXelHY4YwUzzkxuiJd+/7c+BYXwGPOK04?= =?us-ascii?Q?Xzd/gDmwpTqGoAS/rch8kIT7vAntrDRRJBu8AvNgR6NcpU6qpzObAWudfFg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Antispam-Message-Info: yxItEpfDDzy40foWbTvrzY5FwMx0Oue53eJ6AdWICdOTVNx4XYUayus5WPSt1sOOf5Msin2pheGa40b3+Wt/CMcTxpqouky+ufOFkPp8MlgvZbXis2+L0o/oyWbqJCugW3yK8XqtYDy4pF6u0HCoqTp+G7juwPjyo3uZr161qquFs3Rm3ScqVS/sOOAz+YKa X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0191; 6:a1+GL+SjxtKa5lrzMmi7P2a5t8UzoVph1ZS1nXSeW6M4wG/TtSB8brWP4UcOCt7ltHQUDcWSZ+pOPZdGZqELAFZf24OOzlJqRbtKevd3V65e8/G7qtDp76yEVJroZeurLTGL7Lyssd/dRv9T4tXAEOC/ZshXGUlXAq8dumXzxAW6xseQnXO7Ns7Ji+3C29SW2sBRFUg0aYs5DJwrtAa10AqJfUmVfs/1+QPOxOd5vpbs4EbfrlzvBPPavDtgp1JMkGdXEQdBdqyQDdq8yry7LTKFjhyvAeR16k5ds3n4OM6owAptcJfFVA9J0ebFIr66sNfFi97EjDQQ8+LVmOrgYfYE06m1rcG9nGCiTBrJJBaUbWoLAV+xBNWr17aN0zllJ5Z0Uh/QuZ9kzmhx0HpiynNOql+oftjTn0T1UNwYP24lWuTB+o3wcKETYh9O/gEnLRrJF/g8LxFUMkZDqAd4Dg==; 5:3ns3LZge+5ZkjXGzP+DWRlO7Id6cHCvgaGkKfbO9W/YMqEtDzNB3PVrYmO31bdsvXEFCHITPmGdf8kthKloZ+YGlBVOGfXy7tjrj0TNMHFto9yOwIadD66RuLL3RNAXsksmAcWf0YCdoRE6Kr3srVMvtBNiZ22IYGl9a53JBW+w=; 24:B0aYjiFO9onJOQ9Iezx1WlriMTK1k7jAzjdlxmhZShtJrzeaYYqNvsCPWchZd4oFAOtSRNkizrKy8pDgr7HDFvn/KVFtb50x6n6SpG65iLE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR1201MB0191; 7:9LwNJTbE0X3d7IGO+cAARhJJZnSU15KLG2XSe7sSGWxT/+AqFQuyuyHU1us78BLe8QCNgnvt94x96glTN8hVpRxMtlug9aL1kVDYvLqMPeT1DHw1sLL/P49B/zsThmhtkgTUEjm563ElyiiUzsB3AkD3VK7uiybsLxHfRaTpCVxZ0xAZnTkhvW45Y9wLvVSxGCzLQXCFInhWWNeQIJ83U2+4v44cawQ5dN9JQdISayJ9pIBPiIjf3LEd4arJ/7Kl X-MS-Office365-Filtering-Correlation-Id: a295bc89-27a4-44eb-666a-08d5b9de8fb2 X-OriginatorOrg: invensense.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 May 2018 21:06:28.0004 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a295bc89-27a4-44eb-666a-08d5b9de8fb2 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 462b3b3b-e42b-47ea-801a-f1581aac892d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1201MB0191 Sender: linux-iio-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Use fifo overflow bit from int status rather than using an arbitrary threshold. Signed-off-by: Jean-Baptiste Maneyrol Reviewed-by: Martin Kelly --- drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 2 +- drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h index 8d9044c..09a7e1c 100644 --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h @@ -166,6 +166,7 @@ struct inv_mpu6050_state { #define INV_MPU6050_REG_RAW_GYRO 0x43 #define INV_MPU6050_REG_INT_STATUS 0x3A +#define INV_MPU6050_BIT_FIFO_OVERFLOW_INT 0x10 #define INV_MPU6050_BIT_RAW_DATA_RDY_INT 0x01 #define INV_MPU6050_REG_USER_CTRL 0x6A @@ -190,7 +191,6 @@ struct inv_mpu6050_state { #define INV_MPU6050_BYTES_PER_3AXIS_SENSOR 6 #define INV_MPU6050_FIFO_COUNT_BYTE 2 -#define INV_MPU6050_FIFO_THRESHOLD 500 /* mpu6500 registers */ #define INV_MPU6500_REG_ACCEL_CONFIG_2 0x1D diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c index 7724888..7a4aaed 100644 --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c @@ -110,6 +110,9 @@ irqreturn_t inv_mpu6050_read_fifo(int irq, void *p) "failed to ack interrupt\n"); goto flush_fifo; } + /* handle fifo overflow by reseting fifo */ + if (int_status & INV_MPU6050_BIT_FIFO_OVERFLOW_INT) + goto flush_fifo; if (!(int_status & INV_MPU6050_BIT_RAW_DATA_RDY_INT)) { dev_warn(regmap_get_device(st->map), "spurious interrupt with status 0x%x\n", int_status); @@ -135,8 +138,6 @@ irqreturn_t inv_mpu6050_read_fifo(int irq, void *p) if (result) goto end_session; fifo_count = get_unaligned_be16(&data[0]); - if (fifo_count > INV_MPU6050_FIFO_THRESHOLD) - goto flush_fifo; /* compute and process all complete datum */ nb = fifo_count / bytes_per_datum; for (i = 0; i < nb; ++i) {