From: James Hogan <james.hogan@imgtec.com>
To: Sifan Naeem <sifan.naeem@imgtec.com>,
Wolfram Sang <wsa@the-dreams.de>,
linux-i2c@vger.kernel.org
Cc: "Stable kernel (v3.19+)" <stable@vger.kernel.org>
Subject: Re: [PATCH 8/8] i2c: img-scb: verify support for requested bit rate
Date: Wed, 29 Jul 2015 13:02:01 +0100 [thread overview]
Message-ID: <55B8C0B9.1070108@imgtec.com> (raw)
In-Reply-To: <1437997641-32575-9-git-send-email-sifan.naeem@imgtec.com>
[-- Attachment #1: Type: text/plain, Size: 2226 bytes --]
On 27/07/15 12:47, Sifan Naeem wrote:
> The requested bit rate can be outside the range supported by the driver.
> The maximum bit rate this driver supports at the moment is 400Khz.
>
> Return -EINVAL if the bit rate is larger than 400khz.
>
> Maximum speed supported by the driver can be increased to 1Mhz by
> adding support for "fast plus mode" in the future.
>
> Fixes: 27bce4 ("i2c: img-scb: Add Imagination Technologies I2C SCB driver")
> Signed-off-by: Sifan Naeem <sifan.naeem@imgtec.com>
> Cc: Stable kernel (v3.19+) <stable@vger.kernel.org>
> ---
> drivers/i2c/busses/i2c-img-scb.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/i2c/busses/i2c-img-scb.c b/drivers/i2c/busses/i2c-img-scb.c
> index bbfee33..07a039c 100644
> --- a/drivers/i2c/busses/i2c-img-scb.c
> +++ b/drivers/i2c/busses/i2c-img-scb.c
> @@ -1157,6 +1157,12 @@ static int img_i2c_init(struct img_i2c *i2c)
> break;
> }
> }
> + if (i2c->bitrate > timing.max_bitrate) {
> + dev_err(i2c->adap.dev.parent,
> + "requested bitrate (%d) is higher than the max bitrate supported (%d)\n",
> + i2c->bitrate, timing.max_bitrate);
> + return -EINVAL;
> + }
The timing is only chosen if i2c->bitrate <= timing.max_bitrate, so
you'd only hit this case if none of the timings were valid, in which
case timing == timings[0], so when you print timing.max_bitrate it won't
be the max bitrate supported, it'll be the max bitrate of the first
timing in the array.
Anyway, I think the original intent of the DT provided clock-frequency
was more as a maximum bitrate. This was used with TZ1090 as a way to
limit the bitrate of the bus if some devices on the bus don't support
the full speed, e.g. we had an HDMI chip that would get confused at 400khz.
So would it be acceptable to change it to just clamp the bitrate to the
maximum rate supported, before the bitrate_khz calculation, such that if
you specified 1MHz in DT, it could safely fall back to 400KHz until the
driver supports the faster mode?
Cheers
James
>
> /* Find the prescale that would give us that inc (approx delay = 0) */
> prescale = SCB_OPT_INC * clk_khz / (256 * 16 * bitrate_khz);
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-07-29 12:02 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-27 11:47 [PATCH 0/8] i2c: img-scb: fixes to support i2c on pistachio Sifan Naeem
2015-07-27 11:47 ` [PATCH 2/8] i2c: img-scb: do dummy writes before fifo access Sifan Naeem
[not found] ` <1437997641-32575-1-git-send-email-sifan.naeem-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-07-27 11:47 ` [PATCH 1/8] i2c: img-scb: enable fencing for all versions of the ip Sifan Naeem
2015-07-27 20:20 ` James Hogan
2015-07-28 9:26 ` Sifan Naeem
2015-07-28 9:38 ` James Hogan
2015-07-27 11:47 ` [PATCH 3/8] i2c: img-scb: use DIV_ROUND_UP to round divisor values Sifan Naeem
[not found] ` <1437997641-32575-4-git-send-email-sifan.naeem-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-07-28 10:45 ` James Hogan
2015-07-27 11:47 ` [PATCH 4/8] i2c: img-scb: fix LOW and HIGH period values for the SCL clock Sifan Naeem
2015-07-28 11:27 ` James Hogan
2015-07-31 11:12 ` [PATCH 0/8] i2c: img-scb: fixes to support i2c on pistachio Wolfram Sang
2015-09-07 13:41 ` Ezequiel Garcia
[not found] ` <CAAEAJfCW9cEMDZwta5Q6VVEZfzxTDZ50Fx=YeW6bPMnrtKNcbw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-07 13:50 ` Wolfram Sang
2015-09-07 14:22 ` Ezequiel Garcia
[not found] ` <CAAEAJfBj+qdv58gzOnqMrmN0486Enzbn3G1L0KhMctMkEkXfTw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-07 21:13 ` i2ctransfer (Was: [PATCH 0/8] i2c: img-scb: fixes to support i2c on pistachio) Jean Delvare
2015-07-27 11:47 ` [PATCH 5/8] i2c: img-scb: reset interrupts in img_i2c_soft_reset Sifan Naeem
[not found] ` <1437997641-32575-6-git-send-email-sifan.naeem-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-07-28 11:35 ` James Hogan
2015-07-28 11:46 ` Sifan Naeem
2015-07-28 11:51 ` James Hogan
2015-07-27 11:47 ` [PATCH 6/8] i2c: img-scb: remove start bit detected status after handling Sifan Naeem
2015-07-28 13:53 ` James Hogan
2015-07-29 12:49 ` Sifan Naeem
2015-07-27 11:47 ` [PATCH 7/8] i2c: img-scb: improve transaction complete handle Sifan Naeem
[not found] ` <1437997641-32575-8-git-send-email-sifan.naeem-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-07-29 12:22 ` James Hogan
[not found] ` <55B8C56A.7050102-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-07-29 13:35 ` Sifan Naeem
2015-07-27 11:47 ` [PATCH 8/8] i2c: img-scb: verify support for requested bit rate Sifan Naeem
2015-07-29 12:02 ` James Hogan [this message]
2015-07-29 13:34 ` Sifan Naeem
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=55B8C0B9.1070108@imgtec.com \
--to=james.hogan@imgtec.com \
--cc=linux-i2c@vger.kernel.org \
--cc=sifan.naeem@imgtec.com \
--cc=stable@vger.kernel.org \
--cc=wsa@the-dreams.de \
/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;
as well as URLs for NNTP newsgroup(s).