From: Jeff LaBundy <jeff@labundy.com>
To: Lee Jones <lee.jones@linaro.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/6] mfd: iqs62x: Do not poll during ATI
Date: Thu, 14 Jan 2021 22:01:34 -0600 [thread overview]
Message-ID: <20210115040134.GB27243@labundy.com> (raw)
In-Reply-To: <20210114101711.GM3975472@dell>
Hi Lee,
Thank you for taking a look at the series.
On Thu, Jan 14, 2021 at 10:17:11AM +0000, Lee Jones wrote:
> On Sun, 03 Jan 2021, Jeff LaBundy wrote:
>
> > After loading firmware, the driver triggers ATI (calibration) with
> > the newly loaded register configuration in place. Next, the driver
> > polls a register field to ensure ATI completed in a timely fashion
> > and that the device is ready to sense.
> >
> > However, communicating with the device over I2C while ATI is under-
>
> This doesn't line-up with all of the others! ;)
:)
>
> > way may induce noise in the device and cause ATI to fail. As such,
> > the vendor recommends not to poll the device during ATI.
> >
> > To solve this problem, let the device naturally signal to the host
> > that ATI is complete by way of an interrupt. A completion prevents
> > the sub-devices from being registered until this happens.
> >
> > The former logic that scaled ATI timeout and filter settling delay
> > is not carried forward with the new implementation, as it produces
> > overly conservative delays at lower clock rates. Instead, a single
> > pair of delays that covers all cases is used.
> >
> > Signed-off-by: Jeff LaBundy <jeff@labundy.com>
> > ---
> > drivers/mfd/iqs62x.c | 103 ++++++++++++++++++++++++++++++---------------
> > include/linux/mfd/iqs62x.h | 6 ++-
> > 2 files changed, 73 insertions(+), 36 deletions(-)
>
> [...]
>
> > @@ -567,6 +600,12 @@ static void iqs62x_firmware_load(const struct firmware *fw, void *context)
> > goto err_out;
> > }
> >
> > + if (!wait_for_completion_timeout(&iqs62x->ati_done,
> > + msecs_to_jiffies(2000))) {
> > + dev_err(&client->dev, "Failed to complete ATI\n");
> > + goto err_out;
> > + }
> > +
> > ret = devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_NONE,
> > iqs62x->dev_desc->sub_devs,
> > iqs62x->dev_desc->num_sub_devs,
> > @@ -763,7 +802,6 @@ static const struct iqs62x_dev_desc iqs62x_devs[] = {
> > .prox_settings = IQS620_PROX_SETTINGS_4,
> > .hall_flags = IQS620_HALL_FLAGS,
> >
> > - .clk_div = 4,
>
> No unnecessary double-line spacings please.
Not a problem, v2 on the way. There are a couple nearby instances of
double-spacing within these same structs so I'll nuke those as well.
[...]
Kind regards,
Jeff LaBundy
next prev parent reply other threads:[~2021-01-15 4:02 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-03 20:56 [PATCH 0/6] mfd: iqs62x: Minor cosmetic and functional improvements Jeff LaBundy
2021-01-03 20:56 ` [PATCH 1/6] mfd: iqs62x: Remove superfluous whitespace above fallthroughs Jeff LaBundy
2021-01-14 10:18 ` Lee Jones
2021-01-03 20:56 ` [PATCH 2/6] mfd: iqs62x: Remove unused bit mask Jeff LaBundy
2021-01-14 10:18 ` Lee Jones
2021-01-03 20:56 ` [PATCH 3/6] mfd: iqs62x: Rename regmap_config struct Jeff LaBundy
2021-01-14 10:19 ` Lee Jones
2021-01-03 20:56 ` [PATCH 4/6] mfd: iqs62x: Increase interrupt handler return delay Jeff LaBundy
2021-01-14 10:20 ` Lee Jones
2021-01-03 20:56 ` [PATCH 5/6] mfd: iqs62x: Do not poll during ATI Jeff LaBundy
2021-01-14 10:17 ` Lee Jones
2021-01-15 4:01 ` Jeff LaBundy [this message]
2021-01-03 20:56 ` [PATCH 6/6] mfd: iqs62x: Do not change clock frequency " Jeff LaBundy
2021-01-14 10:21 ` Lee Jones
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=20210115040134.GB27243@labundy.com \
--to=jeff@labundy.com \
--cc=lee.jones@linaro.org \
--cc=linux-kernel@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox