* [PATCH] i2c: rcar: enable interrupts before starting transfer
@ 2021-09-15 13:48 Wolfram Sang
2021-09-20 17:43 ` Niklas Söderlund
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Wolfram Sang @ 2021-09-15 13:48 UTC (permalink / raw)
To: linux-i2c; +Cc: linux-renesas-soc, Wolfram Sang, Ryo Kataoka
We want to enable the interrupts _before_ starting the transfer because
it is good programming style and also the proposed order in the R-Car
manual. There is no difference in practice because it doesn't matter in
which order both conditions appear if we wait for both to happen.
Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@renesas.com>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
drivers/i2c/busses/i2c-rcar.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
index bff9913c37b8..fc13511f4562 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
@@ -339,6 +339,9 @@ static void rcar_i2c_prepare_msg(struct rcar_i2c_priv *priv)
priv->flags |= ID_LAST_MSG;
rcar_i2c_write(priv, ICMAR, i2c_8bit_addr_from_msg(priv->msg));
+ if (!priv->atomic_xfer)
+ rcar_i2c_write(priv, ICMIER, read ? RCAR_IRQ_RECV : RCAR_IRQ_SEND);
+
/*
* We don't have a test case but the HW engineers say that the write order
* of ICMSR and ICMCR depends on whether we issue START or REP_START. Since
@@ -354,9 +357,6 @@ static void rcar_i2c_prepare_msg(struct rcar_i2c_priv *priv)
rcar_i2c_write(priv, ICMCR, RCAR_BUS_PHASE_START);
rcar_i2c_write(priv, ICMSR, 0);
}
-
- if (!priv->atomic_xfer)
- rcar_i2c_write(priv, ICMIER, read ? RCAR_IRQ_RECV : RCAR_IRQ_SEND);
}
static void rcar_i2c_next_msg(struct rcar_i2c_priv *priv)
--
2.30.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] i2c: rcar: enable interrupts before starting transfer
2021-09-15 13:48 [PATCH] i2c: rcar: enable interrupts before starting transfer Wolfram Sang
@ 2021-09-20 17:43 ` Niklas Söderlund
2021-09-21 10:46 ` Ulrich Hecht
2021-09-29 21:03 ` Wolfram Sang
2 siblings, 0 replies; 4+ messages in thread
From: Niklas Söderlund @ 2021-09-20 17:43 UTC (permalink / raw)
To: Wolfram Sang; +Cc: linux-i2c, linux-renesas-soc, Ryo Kataoka
Hi Wolfram,
Thanks for your patch.
On 2021-09-15 15:48:27 +0200, Wolfram Sang wrote:
> We want to enable the interrupts _before_ starting the transfer because
> it is good programming style and also the proposed order in the R-Car
> manual. There is no difference in practice because it doesn't matter in
> which order both conditions appear if we wait for both to happen.
>
> Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@renesas.com>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
> drivers/i2c/busses/i2c-rcar.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
> index bff9913c37b8..fc13511f4562 100644
> --- a/drivers/i2c/busses/i2c-rcar.c
> +++ b/drivers/i2c/busses/i2c-rcar.c
> @@ -339,6 +339,9 @@ static void rcar_i2c_prepare_msg(struct rcar_i2c_priv *priv)
> priv->flags |= ID_LAST_MSG;
>
> rcar_i2c_write(priv, ICMAR, i2c_8bit_addr_from_msg(priv->msg));
> + if (!priv->atomic_xfer)
> + rcar_i2c_write(priv, ICMIER, read ? RCAR_IRQ_RECV : RCAR_IRQ_SEND);
> +
> /*
> * We don't have a test case but the HW engineers say that the write order
> * of ICMSR and ICMCR depends on whether we issue START or REP_START. Since
> @@ -354,9 +357,6 @@ static void rcar_i2c_prepare_msg(struct rcar_i2c_priv *priv)
> rcar_i2c_write(priv, ICMCR, RCAR_BUS_PHASE_START);
> rcar_i2c_write(priv, ICMSR, 0);
> }
> -
> - if (!priv->atomic_xfer)
> - rcar_i2c_write(priv, ICMIER, read ? RCAR_IRQ_RECV : RCAR_IRQ_SEND);
> }
>
> static void rcar_i2c_next_msg(struct rcar_i2c_priv *priv)
> --
> 2.30.2
>
--
Regards,
Niklas Söderlund
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] i2c: rcar: enable interrupts before starting transfer
2021-09-15 13:48 [PATCH] i2c: rcar: enable interrupts before starting transfer Wolfram Sang
2021-09-20 17:43 ` Niklas Söderlund
@ 2021-09-21 10:46 ` Ulrich Hecht
2021-09-29 21:03 ` Wolfram Sang
2 siblings, 0 replies; 4+ messages in thread
From: Ulrich Hecht @ 2021-09-21 10:46 UTC (permalink / raw)
To: Wolfram Sang, linux-i2c; +Cc: linux-renesas-soc, Ryo Kataoka
> On 09/15/2021 3:48 PM Wolfram Sang <wsa+renesas@sang-engineering.com> wrote:
>
>
> We want to enable the interrupts _before_ starting the transfer because
> it is good programming style and also the proposed order in the R-Car
> manual. There is no difference in practice because it doesn't matter in
> which order both conditions appear if we wait for both to happen.
>
> Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@renesas.com>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> drivers/i2c/busses/i2c-rcar.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
> index bff9913c37b8..fc13511f4562 100644
> --- a/drivers/i2c/busses/i2c-rcar.c
> +++ b/drivers/i2c/busses/i2c-rcar.c
> @@ -339,6 +339,9 @@ static void rcar_i2c_prepare_msg(struct rcar_i2c_priv *priv)
> priv->flags |= ID_LAST_MSG;
>
> rcar_i2c_write(priv, ICMAR, i2c_8bit_addr_from_msg(priv->msg));
> + if (!priv->atomic_xfer)
> + rcar_i2c_write(priv, ICMIER, read ? RCAR_IRQ_RECV : RCAR_IRQ_SEND);
> +
> /*
> * We don't have a test case but the HW engineers say that the write order
> * of ICMSR and ICMCR depends on whether we issue START or REP_START. Since
> @@ -354,9 +357,6 @@ static void rcar_i2c_prepare_msg(struct rcar_i2c_priv *priv)
> rcar_i2c_write(priv, ICMCR, RCAR_BUS_PHASE_START);
> rcar_i2c_write(priv, ICMSR, 0);
> }
> -
> - if (!priv->atomic_xfer)
> - rcar_i2c_write(priv, ICMIER, read ? RCAR_IRQ_RECV : RCAR_IRQ_SEND);
> }
>
> static void rcar_i2c_next_msg(struct rcar_i2c_priv *priv)
> --
> 2.30.2
Reviewed-by: Ulrich Hecht <uli+renesas@fpond.eu>
CU
Uli
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] i2c: rcar: enable interrupts before starting transfer
2021-09-15 13:48 [PATCH] i2c: rcar: enable interrupts before starting transfer Wolfram Sang
2021-09-20 17:43 ` Niklas Söderlund
2021-09-21 10:46 ` Ulrich Hecht
@ 2021-09-29 21:03 ` Wolfram Sang
2 siblings, 0 replies; 4+ messages in thread
From: Wolfram Sang @ 2021-09-29 21:03 UTC (permalink / raw)
To: linux-i2c; +Cc: linux-renesas-soc, Ryo Kataoka
[-- Attachment #1: Type: text/plain, Size: 518 bytes --]
On Wed, Sep 15, 2021 at 03:48:27PM +0200, Wolfram Sang wrote:
> We want to enable the interrupts _before_ starting the transfer because
> it is good programming style and also the proposed order in the R-Car
> manual. There is no difference in practice because it doesn't matter in
> which order both conditions appear if we wait for both to happen.
>
> Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@renesas.com>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Applied to for-next, thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-09-29 21:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-15 13:48 [PATCH] i2c: rcar: enable interrupts before starting transfer Wolfram Sang
2021-09-20 17:43 ` Niklas Söderlund
2021-09-21 10:46 ` Ulrich Hecht
2021-09-29 21:03 ` Wolfram Sang
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.