From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752602AbbCHLb6 (ORCPT ); Sun, 8 Mar 2015 07:31:58 -0400 Received: from saturn.retrosnub.co.uk ([178.18.118.26]:35008 "EHLO saturn.retrosnub.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752556AbbCHLbz (ORCPT ); Sun, 8 Mar 2015 07:31:55 -0400 Message-ID: <54FC3329.10302@kernel.org> Date: Sun, 08 Mar 2015 11:31:53 +0000 From: Jonathan Cameron User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Ge Gao , Viorel Suman , "linux-iio@vger.kernel.org" CC: "linux-kernel@vger.kernel.org" , Srinivas Pandruvada Subject: Re: [PATCH v2] iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo References: <1424282721-3033-1-git-send-email-viorel.suman@gmail.com> <54E8D5D7.7050205@kernel.org> In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 26/02/15 18:35, Ge Gao wrote: > Look fine to me. > Thanks. > > Best Regards, > > Ge GAO > Formal Acks preferred ;) Anyhow, applied to the fixes-togreg branch of iio.git. Thanks, Jonathan > > -----Original Message----- > From: Jonathan Cameron [mailto:jic23@kernel.org] > Sent: Saturday, February 21, 2015 11:01 AM > To: Viorel Suman; linux-iio@vger.kernel.org > Cc: linux-kernel@vger.kernel.org; Srinivas Pandruvada; Ge Gao > Subject: Re: [PATCH v2] iio: inv_mpu6050: Clear timestamps fifo while resetting hardware fifo > > On 18/02/15 18:05, Viorel Suman wrote: >> A hardware fifo reset always imply an invalidation of the existing >> timestamps, so we'll clear timestamps fifo on successfull hardware >> fifo reset. >> >> Signed-off-by: Viorel Suman > Looks sensible to me. Ge / Srinivas? >> --- >> v2: Addressed Jonathan's comment regarding the subject prefix. >> >> drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c | 25 >> ++++++++++++++----------- >> 1 file changed, 14 insertions(+), 11 deletions(-) >> >> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c >> b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c >> index 0cd306a..ba27e27 100644 >> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c >> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c >> @@ -24,6 +24,16 @@ >> #include >> #include "inv_mpu_iio.h" >> >> +static void inv_clear_kfifo(struct inv_mpu6050_state *st) { >> + unsigned long flags; >> + >> + /* take the spin lock sem to avoid interrupt kick in */ >> + spin_lock_irqsave(&st->time_stamp_lock, flags); >> + kfifo_reset(&st->timestamps); >> + spin_unlock_irqrestore(&st->time_stamp_lock, flags); } >> + >> int inv_reset_fifo(struct iio_dev *indio_dev) { >> int result; >> @@ -50,6 +60,10 @@ int inv_reset_fifo(struct iio_dev *indio_dev) >> INV_MPU6050_BIT_FIFO_RST); >> if (result) >> goto reset_fifo_fail; >> + >> + /* clear timestamps fifo */ >> + inv_clear_kfifo(st); >> + >> /* enable interrupt */ >> if (st->chip_config.accl_fifo_enable || >> st->chip_config.gyro_fifo_enable) { @@ -83,16 +97,6 @@ >> reset_fifo_fail: >> return result; >> } >> >> -static void inv_clear_kfifo(struct inv_mpu6050_state *st) -{ >> - unsigned long flags; >> - >> - /* take the spin lock sem to avoid interrupt kick in */ >> - spin_lock_irqsave(&st->time_stamp_lock, flags); >> - kfifo_reset(&st->timestamps); >> - spin_unlock_irqrestore(&st->time_stamp_lock, flags); >> -} >> - >> /** >> * inv_mpu6050_irq_handler() - Cache a timestamp at each data ready interrupt. >> */ >> @@ -184,7 +188,6 @@ end_session: >> flush_fifo: >> /* Flush HW and SW FIFOs. */ >> inv_reset_fifo(indio_dev); >> - inv_clear_kfifo(st); >> mutex_unlock(&indio_dev->mlock); >> iio_trigger_notify_done(indio_dev->trig); >> >> >