From: "Janusz Użycki" <j.uzycki-9tnw74Q4ehaHKKo6LODCOg@public.gmane.org>
To: marex-ynQEQJNshbs@public.gmane.org,
wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] i2c-mxs: detect No Slave Ack on SELECT in PIO mode
Date: Tue, 23 Sep 2014 12:48:40 +0200 [thread overview]
Message-ID: <54215008.80705@elproma.com.pl> (raw)
In-Reply-To: <1411469306-15390-1-git-send-email-j.uzycki-9tnw74Q4ehaHKKo6LODCOg@public.gmane.org>
The patch is sent.
W dniu 2014-09-23 12:48, Janusz Uzycki pisze:
> i2cdetect scanned i2c bus slow because the i2c-mxs driver ignored
> the NO_SLAVE_ACK bit during busy-waiting loop.
> Thanks to the patch, the speedup happens.
> The change doesn't break anything else because:
> - on SELECT: NO_SLAVE_ACK bit checking is just welcome
> - on READ: master (the i2c controller, no slave device) generates
> ACK/NAK bit
> - on WRITE: NO_SLAVE_ACK can be treated as NAK (the same effect)
> so even the i2c controller sets NO_SLAVE_ACK on NAK (not confirmed)
> the WRITE is not effected
typo: affected
best regards
Janusz Uzycki
> - on clock stretching: SCL wire is involved, it has no influence
> on the ACK bit value on SDA wire
>
> Signed-off-by: Janusz Uzycki <j.uzycki-9tnw74Q4ehaHKKo6LODCOg@public.gmane.org>
> ---
> drivers/i2c/busses/i2c-mxs.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/i2c/busses/i2c-mxs.c b/drivers/i2c/busses/i2c-mxs.c
> index 87ee72d..f3c4a43 100644
> --- a/drivers/i2c/busses/i2c-mxs.c
> +++ b/drivers/i2c/busses/i2c-mxs.c
> @@ -307,6 +307,9 @@ static int mxs_i2c_pio_wait_xfer_end(struct mxs_i2c_dev *i2c)
> unsigned long timeout = jiffies + msecs_to_jiffies(1000);
>
> while (readl(i2c->regs + MXS_I2C_CTRL0) & MXS_I2C_CTRL0_RUN) {
> + if (readl(i2c->regs + MXS_I2C_CTRL1) &
> + MXS_I2C_CTRL1_NO_SLAVE_ACK_IRQ)
> + return -ENXIO;
> if (time_after(jiffies, timeout))
> return -ETIMEDOUT;
> cond_resched();
next prev parent reply other threads:[~2014-09-23 10:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-23 10:48 [PATCH] i2c-mxs: detect No Slave Ack on SELECT in PIO mode Janusz Uzycki
[not found] ` <1411469306-15390-1-git-send-email-j.uzycki-9tnw74Q4ehaHKKo6LODCOg@public.gmane.org>
2014-09-23 10:48 ` Janusz Użycki [this message]
2014-10-03 0:51 ` Wolfram Sang
-- strict thread matches above, loose matches on Subject: below --
2014-09-10 15:18 Janusz Uzycki
[not found] ` <1410362286-1785-1-git-send-email-j.uzycki-9tnw74Q4ehaHKKo6LODCOg@public.gmane.org>
2014-09-10 15:57 ` Janusz Użycki
2014-09-19 2:45 ` Marek Vasut
[not found] ` <201409190445.21419.marex-ynQEQJNshbs@public.gmane.org>
2014-09-22 14:33 ` Janusz Użycki
[not found] ` <5420334D.8090809-9tnw74Q4ehaHKKo6LODCOg@public.gmane.org>
2014-09-22 15:04 ` Marek Vasut
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=54215008.80705@elproma.com.pl \
--to=j.uzycki-9tnw74q4ehahkko6lodcog@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=marex-ynQEQJNshbs@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.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 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.