All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Cc: Lorenzo Bianconi <lorenzo@kernel.org>,
	"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
	"mario.tesi@st.com" <mario.tesi@st.com>,
	Vitor Soares <Vitor.Soares@synopsys.com>
Subject: Re: [PATCH] iio: imu: st_lsm6dsx: flush hw FIFO before resetting the device
Date: Sun, 5 Apr 2020 10:26:23 +0100	[thread overview]
Message-ID: <20200405102623.4a850ca7@archlinux> (raw)
In-Reply-To: <CAJ0CqmWaUp+H9GiEedjZ+Wc+=Bj=Adv60LeKqPrCmH2vD4sM9w@mail.gmail.com>

On Sat, 4 Apr 2020 19:09:18 +0200
Lorenzo Bianconi <lorenzo.bianconi@redhat.com> wrote:

> >
> > On Sat, 4 Apr 2020 18:29:25 +0200
> > Lorenzo Bianconi <lorenzo.bianconi@redhat.com> wrote:
> >  
> > > >
> > > > Hi Lorenzo,
> > > >
> > > > From: Lorenzo Bianconi <lorenzo@kernel.org>
> > > > Date: Fri, Mar 13, 2020 at 18:06:00
> > > >  
> > > > > flush hw FIFO before device reset in order to avoid possible races
> > > > > on interrupt line 1. If the first interrupt line is asserted during
> > > > > hw reset the device will work in I3C-only mode (if it is supported)
> > > > >  
> > >
> > > Hi Jonathan,
> > >
> > > any news about this patch? Maybe I am wrong but I am not able to find
> > > it in your tree.
> > > Thanks in advance.  
> >
> > I'm running a bit behind on catching up with fixes after it became obvious
> > they wouldn't make the merge window.
> >
> > Applied to the fixes-togreg branch of iio.git and marked for stable.
> >  
> 
> ack, thx...sorry for all the noise around it.

No problem - it reminded me to actually do something about this and other
patches in the same position ;)

Jonathan
> 
> Regards,
> Lorenzo
> 
> > >
> > > Regards,
> > > Lorenzo
> > >
> > >  
> > > > > Fixes: 801a6e0af0c6 ("iio: imu: st_lsm6dsx: add support to LSM6DSO")
> > > > > Fixes: 43901008fde0 ("iio: imu: st_lsm6dsx: add support to LSM6DSR")
> > > > > Reported-by: Mario Tesi <mario.tesi@st.com>
> > > > > Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> > > > > ---
> > > > > This is a new version of: "iio: imu: st_lsm6dsx: disable I3C support during
> > > > > device reset"
> > > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.kernel.org_patch_11425389_&d=DwIDAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=qVuU64u9x77Y0Kd0PhDK_lpxFgg6PK9PateHwjb_DY0&m=d7oUzE4fWeY3JqYqqd-uW_v1SJkij_sOpXRvpm3-Thg&s=BEgROrIZoG9oGrwQEENFz0DP88VioXUhpeZP2Y168XI&e=
> > > > > ---
> > > > >  drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 24 +++++++++++++++++++-
> > > > >  1 file changed, 23 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
> > > > > index 84d219ae6aee..4426524b59f2 100644
> > > > > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
> > > > > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
> > > > > @@ -2036,11 +2036,21 @@ static int st_lsm6dsx_init_hw_timer(struct st_lsm6dsx_hw *hw)
> > > > >       return 0;
> > > > >  }
> > > > >
> > > > > -static int st_lsm6dsx_init_device(struct st_lsm6dsx_hw *hw)
> > > > > +static int st_lsm6dsx_reset_device(struct st_lsm6dsx_hw *hw)
> > > > >  {
> > > > >       const struct st_lsm6dsx_reg *reg;
> > > > >       int err;
> > > > >
> > > > > +     /*
> > > > > +      * flush hw FIFO before device reset in order to avoid
> > > > > +      * possible races on interrupt line 1. If the first interrupt
> > > > > +      * line is asserted during hw reset the device will work in
> > > > > +      * I3C-only mode (if it is supported)
> > > > > +      */
> > > > > +     err = st_lsm6dsx_flush_fifo(hw);
> > > > > +     if (err < 0 && err != -ENOTSUPP)
> > > > > +             return err;
> > > > > +
> > > > >       /* device sw reset */
> > > > >       reg = &hw->settings->reset;
> > > > >       err = regmap_update_bits(hw->regmap, reg->addr, reg->mask,
> > > > > @@ -2059,6 +2069,18 @@ static int st_lsm6dsx_init_device(struct st_lsm6dsx_hw *hw)
> > > > >
> > > > >       msleep(50);
> > > > >
> > > > > +     return 0;
> > > > > +}
> > > > > +
> > > > > +static int st_lsm6dsx_init_device(struct st_lsm6dsx_hw *hw)
> > > > > +{
> > > > > +     const struct st_lsm6dsx_reg *reg;
> > > > > +     int err;
> > > > > +
> > > > > +     err = st_lsm6dsx_reset_device(hw);
> > > > > +     if (err < 0)
> > > > > +             return err;
> > > > > +
> > > > >       /* enable Block Data Update */
> > > > >       reg = &hw->settings->bdu;
> > > > >       err = regmap_update_bits(hw->regmap, reg->addr, reg->mask,
> > > > > --
> > > > > 2.24.1  
> > > >
> > > > I tested the patch and the I3C interface is working fine in this version.
> > > >
> > > > Reviewed-by: Vitor Soares <vitor.soares@synopsys.com>
> > > > Tested-by: Vitor Soares <vitor.soares@synopsys.com>
> > > >  
> >  
> > > > Best regards,
> > > > Vitor
> > > > Soares
> > > >
> > > >  
> > >  
> >  
> 


      reply	other threads:[~2020-04-05  9:26 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-13 18:06 [PATCH] iio: imu: st_lsm6dsx: flush hw FIFO before resetting the device Lorenzo Bianconi
2020-03-17 13:08 ` Vitor Soares
2020-04-04 16:29   ` Lorenzo Bianconi
2020-04-04 17:06     ` Jonathan Cameron
2020-04-04 17:09       ` Lorenzo Bianconi
2020-04-05  9:26         ` Jonathan Cameron [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200405102623.4a850ca7@archlinux \
    --to=jic23@kernel.org \
    --cc=Vitor.Soares@synopsys.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=lorenzo.bianconi@redhat.com \
    --cc=lorenzo@kernel.org \
    --cc=mario.tesi@st.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.