From: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
To: Harini Katakam
<harinikatakamlinux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
"grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org"
<robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Pawel Moll <Pawel.Moll-5wv7dgnIgG8@public.gmane.org>,
"ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org"
<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
"galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org"
<galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
"michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org"
<michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>,
"soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org"
<soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"vishnum-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org"
<vishnum-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH 3/4] devicetree: bindings: Add defeature-repeated-start property for Cadence I2C
Date: Tue, 2 Dec 2014 13:52:03 +0100 [thread overview]
Message-ID: <20141202125203.GA4072@katana> (raw)
In-Reply-To: <CAFcVECLtPx6shBXJbg9Uf_8fnhkMoO1zpoxGcdda7PSA7z_2rA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 1993 bytes --]
> >> + - defeature-repeated-start: Include this property to defeature repeated start
> >> + This defeature is due to a few bugs in the
> >> + I2C controller.
> >> + Completion interrupt after a read/receive
> >> + operation is NOT obtained if HOLD bit is set
> >> + at that time. Because of this bug, repeated start
> >> + will only work if there are no transfers following
> >> + a read/receive transfer.
> >> + If HOLD is held for long without a transfer,
> >> + invalid read transactions are generated by the
> >> + controller due to a HW timeout related bug.
> >
> > I'm not keen on the name; it sounds like we're disabling a feature
> > rather than describing the problem (and "defeature" is not a common
> > term in this sense, "disable" would be better).
> >
> > It sounds like there are two issues with staying in the HOLD state? Lost
> > completion IRQs and a separate HW timeout bug? Or are the two related?
> >
>
> Yes, there are two issues here and they are not related.
> But a combination of both is leading to not using repeated start.
> The intention was to defeature except that it works in some scenarios
> (such as a typical write+read in that order with repeated start)
> and there are people who already use the driver with slaves that need this.
That should not be handled using a binding. If you get a transfer (at
runtime) with criteria you don't support, return with -EOPNOTSUPP from
the master xfer routine.
That being said, the number of broken/not-fully-compliant I2C
controllers has increased a lot recent times (why can't we just use the
established old ones?). Maybe we will have core support for a subset of
I2C (wr+rd) in the future, but that's still ahead...
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: wsa@the-dreams.de (Wolfram Sang)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] devicetree: bindings: Add defeature-repeated-start property for Cadence I2C
Date: Tue, 2 Dec 2014 13:52:03 +0100 [thread overview]
Message-ID: <20141202125203.GA4072@katana> (raw)
In-Reply-To: <CAFcVECLtPx6shBXJbg9Uf_8fnhkMoO1zpoxGcdda7PSA7z_2rA@mail.gmail.com>
> >> + - defeature-repeated-start: Include this property to defeature repeated start
> >> + This defeature is due to a few bugs in the
> >> + I2C controller.
> >> + Completion interrupt after a read/receive
> >> + operation is NOT obtained if HOLD bit is set
> >> + at that time. Because of this bug, repeated start
> >> + will only work if there are no transfers following
> >> + a read/receive transfer.
> >> + If HOLD is held for long without a transfer,
> >> + invalid read transactions are generated by the
> >> + controller due to a HW timeout related bug.
> >
> > I'm not keen on the name; it sounds like we're disabling a feature
> > rather than describing the problem (and "defeature" is not a common
> > term in this sense, "disable" would be better).
> >
> > It sounds like there are two issues with staying in the HOLD state? Lost
> > completion IRQs and a separate HW timeout bug? Or are the two related?
> >
>
> Yes, there are two issues here and they are not related.
> But a combination of both is leading to not using repeated start.
> The intention was to defeature except that it works in some scenarios
> (such as a typical write+read in that order with repeated start)
> and there are people who already use the driver with slaves that need this.
That should not be handled using a binding. If you get a transfer (at
runtime) with criteria you don't support, return with -EOPNOTSUPP from
the master xfer routine.
That being said, the number of broken/not-fully-compliant I2C
controllers has increased a lot recent times (why can't we just use the
established old ones?). Maybe we will have core support for a subset of
I2C (wr+rd) in the future, but that's still ahead...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141202/a74f9ae5/attachment-0001.sig>
WARNING: multiple messages have this Message-ID (diff)
From: Wolfram Sang <wsa@the-dreams.de>
To: Harini Katakam <harinikatakamlinux@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
"robh+dt@kernel.org" <robh+dt@kernel.org>,
Pawel Moll <Pawel.Moll@arm.com>,
"ijc+devicetree@hellion.org.uk" <ijc+devicetree@hellion.org.uk>,
"galak@codeaurora.org" <galak@codeaurora.org>,
"michal.simek@xilinx.com" <michal.simek@xilinx.com>,
"soren.brinkmann@xilinx.com" <soren.brinkmann@xilinx.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"vishnum@xilinx.com" <vishnum@xilinx.com>
Subject: Re: [PATCH 3/4] devicetree: bindings: Add defeature-repeated-start property for Cadence I2C
Date: Tue, 2 Dec 2014 13:52:03 +0100 [thread overview]
Message-ID: <20141202125203.GA4072@katana> (raw)
In-Reply-To: <CAFcVECLtPx6shBXJbg9Uf_8fnhkMoO1zpoxGcdda7PSA7z_2rA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1993 bytes --]
> >> + - defeature-repeated-start: Include this property to defeature repeated start
> >> + This defeature is due to a few bugs in the
> >> + I2C controller.
> >> + Completion interrupt after a read/receive
> >> + operation is NOT obtained if HOLD bit is set
> >> + at that time. Because of this bug, repeated start
> >> + will only work if there are no transfers following
> >> + a read/receive transfer.
> >> + If HOLD is held for long without a transfer,
> >> + invalid read transactions are generated by the
> >> + controller due to a HW timeout related bug.
> >
> > I'm not keen on the name; it sounds like we're disabling a feature
> > rather than describing the problem (and "defeature" is not a common
> > term in this sense, "disable" would be better).
> >
> > It sounds like there are two issues with staying in the HOLD state? Lost
> > completion IRQs and a separate HW timeout bug? Or are the two related?
> >
>
> Yes, there are two issues here and they are not related.
> But a combination of both is leading to not using repeated start.
> The intention was to defeature except that it works in some scenarios
> (such as a typical write+read in that order with repeated start)
> and there are people who already use the driver with slaves that need this.
That should not be handled using a binding. If you get a transfer (at
runtime) with criteria you don't support, return with -EOPNOTSUPP from
the master xfer routine.
That being said, the number of broken/not-fully-compliant I2C
controllers has increased a lot recent times (why can't we just use the
established old ones?). Maybe we will have core support for a subset of
I2C (wr+rd) in the future, but that's still ahead...
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2014-12-02 12:52 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-02 10:05 [PATCH 0/4] Cadence I2C driver fixes Harini Katakam
2014-12-02 10:05 ` Harini Katakam
2014-12-02 10:05 ` Harini Katakam
2014-12-02 10:05 ` [PATCH 1/4] i2c: cadence: Handle > 252 byte transfers Harini Katakam
2014-12-02 10:05 ` Harini Katakam
[not found] ` <1417514749-24319-1-git-send-email-harinik-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
2014-12-02 10:05 ` [PATCH 2/4] i2c: cadence: Set the hardware time-out register to maximum value Harini Katakam
2014-12-02 10:05 ` Harini Katakam
2014-12-02 10:05 ` Harini Katakam
2014-12-03 11:28 ` Wolfram Sang
2014-12-03 11:28 ` Wolfram Sang
2014-12-02 10:05 ` [PATCH 3/4] devicetree: bindings: Add defeature-repeated-start property for Cadence I2C Harini Katakam
2014-12-02 10:05 ` Harini Katakam
2014-12-02 10:05 ` Harini Katakam
2014-12-02 11:19 ` Mark Rutland
2014-12-02 11:19 ` Mark Rutland
2014-12-02 12:13 ` Harini Katakam
2014-12-02 12:13 ` Harini Katakam
2014-12-02 12:13 ` Harini Katakam
[not found] ` <CAFcVECLtPx6shBXJbg9Uf_8fnhkMoO1zpoxGcdda7PSA7z_2rA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-02 12:52 ` Wolfram Sang [this message]
2014-12-02 12:52 ` Wolfram Sang
2014-12-02 12:52 ` Wolfram Sang
2014-12-02 13:10 ` Harini Katakam
2014-12-02 13:10 ` Harini Katakam
2014-12-02 13:10 ` Harini Katakam
[not found] ` <CAFcVECJwFoFd6GrmF282CG+fELnYb=FNCTDq=RYKky_dHha=Jg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-12-02 13:16 ` Wolfram Sang
2014-12-02 13:16 ` Wolfram Sang
2014-12-02 13:16 ` Wolfram Sang
2014-12-02 13:30 ` Harini Katakam
2014-12-02 13:30 ` Harini Katakam
2014-12-02 14:15 ` Wolfram Sang
2014-12-02 14:15 ` Wolfram Sang
2014-12-02 15:12 ` Lars-Peter Clausen
2014-12-02 15:12 ` Lars-Peter Clausen
2014-12-02 15:12 ` Lars-Peter Clausen
2014-12-02 10:05 ` [PATCH 4/4] i2c: cadence: Defeature repeated start based on devicetree property Harini Katakam
2014-12-02 10:05 ` Harini Katakam
2014-12-02 10:05 ` Harini Katakam
[not found] ` <1417514749-24319-5-git-send-email-harinik-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
2014-12-02 11:21 ` Mark Rutland
2014-12-02 11:21 ` Mark Rutland
2014-12-02 11:21 ` Mark Rutland
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=20141202125203.GA4072@katana \
--to=wsa-z923lk4zbo2bacvfa/9k2g@public.gmane.org \
--cc=Pawel.Moll-5wv7dgnIgG8@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=harinikatakamlinux-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org \
--cc=vishnum-gjFFaj9aHVfQT0dZR+AlfA@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.