From: Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
Andrew Lunn <andrew-g2DYL2Zd6BY@public.gmane.org>,
Thomas Petazzoni
<thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Ezequiel Garcia
<ezequiel.garcia-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Sebastian Hesselbarth
<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
Kevin Hilman <khilman-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH 3/5] i2c: mv64xxx: refactor send_start
Date: Fri, 14 Feb 2014 12:42:28 +0100 [thread overview]
Message-ID: <52FE0124.6090808@free-electrons.com> (raw)
In-Reply-To: <1392323793-4125-4-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
On 13/02/2014 21:36, Wolfram Sang wrote:
> For start and restart, we are doing the same thing. Let's consolidate
> that.
>
> Signed-off-by: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
With my first tests it continue to work with this change,
but I want to have a closer look on it
Thanks,
Gregory
> ---
> drivers/i2c/busses/i2c-mv64xxx.c | 30 ++++++++++++++++--------------
> 1 file changed, 16 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
> index d52d849..9c37b59 100644
> --- a/drivers/i2c/busses/i2c-mv64xxx.c
> +++ b/drivers/i2c/busses/i2c-mv64xxx.c
> @@ -419,6 +419,17 @@ mv64xxx_i2c_fsm(struct mv64xxx_i2c_data *drv_data, u32 status)
> }
> }
>
> +static void mv64xxx_i2c_send_start(struct mv64xxx_i2c_data *drv_data)
> +{
> + /* Can we offload this msg ? */
> + if (mv64xxx_i2c_offload_msg(drv_data) < 0) {
> + /* No, switch to standard path */
> + mv64xxx_i2c_prepare_for_io(drv_data, drv_data->msgs);
> + writel(drv_data->cntl_bits | MV64XXX_I2C_REG_CONTROL_START,
> + drv_data->reg_base + drv_data->reg_offsets.control);
> + }
> +}
> +
> static void
> mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
> {
> @@ -435,14 +446,11 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
>
> drv_data->msgs++;
> drv_data->num_msgs--;
> - if (mv64xxx_i2c_offload_msg(drv_data) < 0) {
> - drv_data->cntl_bits |= MV64XXX_I2C_REG_CONTROL_START;
> - writel(drv_data->cntl_bits,
> - drv_data->reg_base + drv_data->reg_offsets.control);
> + // CHECKME: Does it work? Order of writel and prepare_for_io is
> + // exchanged. Also, do we need to change cntl_bits in drv_data
> + // with |= MV64XXX_I2C_REG_CONTROL_START?
> + mv64xxx_i2c_send_start(drv_data);
>
> - /* Setup for the next message */
> - mv64xxx_i2c_prepare_for_io(drv_data, drv_data->msgs);
> - }
> if (drv_data->errata_delay)
> udelay(5);
>
> @@ -460,13 +468,7 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
> break;
>
> case MV64XXX_I2C_ACTION_SEND_START:
> - /* Can we offload this msg ? */
> - if (mv64xxx_i2c_offload_msg(drv_data) < 0) {
> - /* No, switch to standard path */
> - mv64xxx_i2c_prepare_for_io(drv_data, drv_data->msgs);
> - writel(drv_data->cntl_bits | MV64XXX_I2C_REG_CONTROL_START,
> - drv_data->reg_base + drv_data->reg_offsets.control);
> - }
> + mv64xxx_i2c_send_start(drv_data);
> break;
>
> case MV64XXX_I2C_ACTION_SEND_ADDR_1:
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/5] i2c: mv64xxx: refactor send_start
Date: Fri, 14 Feb 2014 12:42:28 +0100 [thread overview]
Message-ID: <52FE0124.6090808@free-electrons.com> (raw)
In-Reply-To: <1392323793-4125-4-git-send-email-wsa@the-dreams.de>
On 13/02/2014 21:36, Wolfram Sang wrote:
> For start and restart, we are doing the same thing. Let's consolidate
> that.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
With my first tests it continue to work with this change,
but I want to have a closer look on it
Thanks,
Gregory
> ---
> drivers/i2c/busses/i2c-mv64xxx.c | 30 ++++++++++++++++--------------
> 1 file changed, 16 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
> index d52d849..9c37b59 100644
> --- a/drivers/i2c/busses/i2c-mv64xxx.c
> +++ b/drivers/i2c/busses/i2c-mv64xxx.c
> @@ -419,6 +419,17 @@ mv64xxx_i2c_fsm(struct mv64xxx_i2c_data *drv_data, u32 status)
> }
> }
>
> +static void mv64xxx_i2c_send_start(struct mv64xxx_i2c_data *drv_data)
> +{
> + /* Can we offload this msg ? */
> + if (mv64xxx_i2c_offload_msg(drv_data) < 0) {
> + /* No, switch to standard path */
> + mv64xxx_i2c_prepare_for_io(drv_data, drv_data->msgs);
> + writel(drv_data->cntl_bits | MV64XXX_I2C_REG_CONTROL_START,
> + drv_data->reg_base + drv_data->reg_offsets.control);
> + }
> +}
> +
> static void
> mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
> {
> @@ -435,14 +446,11 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
>
> drv_data->msgs++;
> drv_data->num_msgs--;
> - if (mv64xxx_i2c_offload_msg(drv_data) < 0) {
> - drv_data->cntl_bits |= MV64XXX_I2C_REG_CONTROL_START;
> - writel(drv_data->cntl_bits,
> - drv_data->reg_base + drv_data->reg_offsets.control);
> + // CHECKME: Does it work? Order of writel and prepare_for_io is
> + // exchanged. Also, do we need to change cntl_bits in drv_data
> + // with |= MV64XXX_I2C_REG_CONTROL_START?
> + mv64xxx_i2c_send_start(drv_data);
>
> - /* Setup for the next message */
> - mv64xxx_i2c_prepare_for_io(drv_data, drv_data->msgs);
> - }
> if (drv_data->errata_delay)
> udelay(5);
>
> @@ -460,13 +468,7 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
> break;
>
> case MV64XXX_I2C_ACTION_SEND_START:
> - /* Can we offload this msg ? */
> - if (mv64xxx_i2c_offload_msg(drv_data) < 0) {
> - /* No, switch to standard path */
> - mv64xxx_i2c_prepare_for_io(drv_data, drv_data->msgs);
> - writel(drv_data->cntl_bits | MV64XXX_I2C_REG_CONTROL_START,
> - drv_data->reg_base + drv_data->reg_offsets.control);
> - }
> + mv64xxx_i2c_send_start(drv_data);
> break;
>
> case MV64XXX_I2C_ACTION_SEND_ADDR_1:
>
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2014-02-14 11:42 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-07 10:55 [PATCH] i2c: mv64xxx: Fix locked bus when offload is selected but not used on a message Gregory CLEMENT
2014-02-07 10:55 ` Gregory CLEMENT
2014-02-07 15:09 ` Jason Cooper
2014-02-07 15:09 ` Jason Cooper
2014-02-07 15:18 ` Gregory CLEMENT
2014-02-07 15:18 ` Gregory CLEMENT
[not found] ` <20140207150958.GY8533-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>
2014-02-07 18:09 ` Kevin Hilman
2014-02-07 18:09 ` Kevin Hilman
2014-02-07 18:13 ` Jason Cooper
2014-02-07 18:13 ` Jason Cooper
[not found] ` <1391770588-1344-1-git-send-email-gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-02-08 17:01 ` Jason Cooper
2014-02-08 17:01 ` Jason Cooper
2014-02-13 9:41 ` Wolfram Sang
2014-02-13 9:41 ` Wolfram Sang
2014-02-13 14:23 ` Gregory CLEMENT
2014-02-13 14:23 ` Gregory CLEMENT
2014-02-13 20:36 ` [PATCH 0/5] mv64xxx updates Wolfram Sang
2014-02-13 20:36 ` Wolfram Sang
[not found] ` <1392323793-4125-1-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2014-02-13 20:36 ` [PATCH 1/5] i2c: mv64xxx: put offload check into offload prepare function Wolfram Sang
2014-02-13 20:36 ` Wolfram Sang
[not found] ` <1392323793-4125-2-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2014-02-14 11:38 ` Gregory CLEMENT
2014-02-14 11:38 ` Gregory CLEMENT
2014-02-13 20:36 ` [PATCH 2/5] i2c: mv64xxx: refactor message start to ensure proper initialization Wolfram Sang
2014-02-13 20:36 ` Wolfram Sang
[not found] ` <1392323793-4125-3-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2014-02-14 11:39 ` Gregory CLEMENT
2014-02-14 11:39 ` Gregory CLEMENT
[not found] ` <52FE0056.2030706-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-02-15 14:44 ` Wolfram Sang
2014-02-15 14:44 ` Wolfram Sang
2014-02-13 20:36 ` [PATCH 3/5] i2c: mv64xxx: refactor send_start Wolfram Sang
2014-02-13 20:36 ` Wolfram Sang
[not found] ` <1392323793-4125-4-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2014-02-14 11:42 ` Gregory CLEMENT [this message]
2014-02-14 11:42 ` Gregory CLEMENT
2014-02-13 20:36 ` [PATCH 4/5] i2c: mv64xxx: directly call send_start when initializing transfer Wolfram Sang
2014-02-13 20:36 ` Wolfram Sang
2014-02-13 20:36 ` [PATCH 5/5] i2c: mv64xxx: refactor initialization for new msgs Wolfram Sang
2014-02-13 20:36 ` Wolfram Sang
2014-02-13 20:41 ` [PATCH 0/5] mv64xxx updates Gregory CLEMENT
2014-02-13 20:41 ` Gregory CLEMENT
[not found] ` <52FD2E0C.10609-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-03-10 16:25 ` Wolfram Sang
2014-03-10 16:25 ` Wolfram Sang
2014-02-13 20:51 ` Thomas Petazzoni
2014-02-13 20:51 ` Thomas Petazzoni
2014-02-18 11:29 ` Maxime Ripard
2014-02-18 11:29 ` Maxime Ripard
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=52FE0124.6090808@free-electrons.com \
--to=gregory.clement-wi1+55scjutkeb57/3fjtnbpr1lh4cv8@public.gmane.org \
--cc=andrew-g2DYL2Zd6BY@public.gmane.org \
--cc=ezequiel.garcia-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org \
--cc=khilman-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=thomas.petazzoni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@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.