* [PATCH 0/2] i2c: rcar: minor upporting from BSP
@ 2019-01-21 17:07 Wolfram Sang
2019-01-21 17:07 ` [PATCH 1/2] i2c: rcar: comment maintenance Wolfram Sang
2019-01-21 17:08 ` [PATCH 2/2] i2c: rcar: refactor TCYC handling Wolfram Sang
0 siblings, 2 replies; 8+ messages in thread
From: Wolfram Sang @ 2019-01-21 17:07 UTC (permalink / raw)
To: linux-i2c; +Cc: linux-renesas-soc, Wolfram Sang
Two small patches originally from the BSP but improved.
Wolfram Sang (2):
i2c: rcar: comment maintenance
i2c: rcar: refactor TCYC handling
drivers/i2c/busses/i2c-rcar.c | 22 ++++++++--------------
1 file changed, 8 insertions(+), 14 deletions(-)
--
2.11.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] i2c: rcar: comment maintenance
2019-01-21 17:07 [PATCH 0/2] i2c: rcar: minor upporting from BSP Wolfram Sang
@ 2019-01-21 17:07 ` Wolfram Sang
2019-01-23 10:23 ` Simon Horman
2019-02-05 13:33 ` Wolfram Sang
2019-01-21 17:08 ` [PATCH 2/2] i2c: rcar: refactor TCYC handling Wolfram Sang
1 sibling, 2 replies; 8+ messages in thread
From: Wolfram Sang @ 2019-01-21 17:07 UTC (permalink / raw)
To: linux-i2c; +Cc: linux-renesas-soc, Wolfram Sang
Update copyright years and remove a comment which grew incorrect and
useless over time.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
drivers/i2c/busses/i2c-rcar.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
index 254e6219e538..4da7a1f6178b 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
@@ -2,8 +2,8 @@
/*
* Driver for the Renesas R-Car I2C unit
*
- * Copyright (C) 2014-15 Wolfram Sang <wsa@sang-engineering.com>
- * Copyright (C) 2011-2015 Renesas Electronics Corporation
+ * Copyright (C) 2014-19 Wolfram Sang <wsa@sang-engineering.com>
+ * Copyright (C) 2011-2019 Renesas Electronics Corporation
*
* Copyright (C) 2012-14 Renesas Solutions Corp.
* Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
@@ -355,9 +355,6 @@ static void rcar_i2c_next_msg(struct rcar_i2c_priv *priv)
rcar_i2c_prepare_msg(priv);
}
-/*
- * interrupt functions
- */
static void rcar_i2c_dma_unmap(struct rcar_i2c_priv *priv)
{
struct dma_chan *chan = priv->dma_direction == DMA_FROM_DEVICE
--
2.11.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] i2c: rcar: refactor TCYC handling
2019-01-21 17:07 [PATCH 0/2] i2c: rcar: minor upporting from BSP Wolfram Sang
2019-01-21 17:07 ` [PATCH 1/2] i2c: rcar: comment maintenance Wolfram Sang
@ 2019-01-21 17:08 ` Wolfram Sang
2019-01-23 10:25 ` Simon Horman
1 sibling, 1 reply; 8+ messages in thread
From: Wolfram Sang @ 2019-01-21 17:08 UTC (permalink / raw)
To: linux-i2c; +Cc: linux-renesas-soc, Wolfram Sang
The latest documentation made it clear that we need to initialize the
TCYC value independently of DMA. Simplify the code to do that.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
drivers/i2c/busses/i2c-rcar.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
index 4da7a1f6178b..48312f22094c 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
@@ -39,8 +39,8 @@
#define ICSAR 0x1C /* slave address */
#define ICMAR 0x20 /* master address */
#define ICRXTX 0x24 /* data port */
-#define ICDMAER 0x3c /* DMA enable */
-#define ICFBSCR 0x38 /* first bit setup cycle */
+#define ICFBSCR 0x38 /* first bit setup cycle (Gen3) */
+#define ICDMAER 0x3c /* DMA enable (Gen3) */
/* ICSCR */
#define SDBS (1 << 3) /* slave data buffer select */
@@ -83,7 +83,6 @@
#define TMDMAE (1 << 0) /* DMA Master Transmitted Enable */
/* ICFBSCR */
-#define TCYC06 0x04 /* 6*Tcyc delay 1st bit between SDA and SCL */
#define TCYC17 0x0f /* 17*Tcyc delay 1st bit between SDA and SCL */
@@ -212,6 +211,10 @@ static void rcar_i2c_init(struct rcar_i2c_priv *priv)
rcar_i2c_write(priv, ICMSR, 0);
/* start clock */
rcar_i2c_write(priv, ICCCR, priv->icccr);
+
+ if (priv->devtype == I2C_RCAR_GEN3)
+ rcar_i2c_write(priv, ICFBSCR, TCYC17);
+
}
static int rcar_i2c_bus_barrier(struct rcar_i2c_priv *priv)
@@ -363,9 +366,6 @@ static void rcar_i2c_dma_unmap(struct rcar_i2c_priv *priv)
/* Disable DMA Master Received/Transmitted */
rcar_i2c_write(priv, ICDMAER, 0);
- /* Reset default delay */
- rcar_i2c_write(priv, ICFBSCR, TCYC06);
-
dma_unmap_single(chan->device->dev, sg_dma_address(&priv->sg),
sg_dma_len(&priv->sg), priv->dma_direction);
@@ -461,9 +461,6 @@ static void rcar_i2c_dma(struct rcar_i2c_priv *priv)
return;
}
- /* Set delay for DMA operations */
- rcar_i2c_write(priv, ICFBSCR, TCYC17);
-
/* Enable DMA Master Received/Transmitted */
if (read)
rcar_i2c_write(priv, ICDMAER, RMDMAE);
--
2.11.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] i2c: rcar: comment maintenance
2019-01-21 17:07 ` [PATCH 1/2] i2c: rcar: comment maintenance Wolfram Sang
@ 2019-01-23 10:23 ` Simon Horman
2019-02-05 13:33 ` Wolfram Sang
1 sibling, 0 replies; 8+ messages in thread
From: Simon Horman @ 2019-01-23 10:23 UTC (permalink / raw)
To: Wolfram Sang; +Cc: linux-i2c, linux-renesas-soc
On Mon, Jan 21, 2019 at 06:07:59PM +0100, Wolfram Sang wrote:
> Update copyright years and remove a comment which grew incorrect and
> useless over time.
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] i2c: rcar: refactor TCYC handling
2019-01-21 17:08 ` [PATCH 2/2] i2c: rcar: refactor TCYC handling Wolfram Sang
@ 2019-01-23 10:25 ` Simon Horman
2019-01-23 17:39 ` Wolfram Sang
0 siblings, 1 reply; 8+ messages in thread
From: Simon Horman @ 2019-01-23 10:25 UTC (permalink / raw)
To: Wolfram Sang; +Cc: linux-i2c, linux-renesas-soc
On Mon, Jan 21, 2019 at 06:08:00PM +0100, Wolfram Sang wrote:
> The latest documentation made it clear that we need to initialize the
> TCYC value independently of DMA. Simplify the code to do that.
Hi Wolfram,
I see TCYC bit 6 is no longer used after this patch.
Does that warrant a mention in the changelog?
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> drivers/i2c/busses/i2c-rcar.c | 15 ++++++---------
> 1 file changed, 6 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
> index 4da7a1f6178b..48312f22094c 100644
> --- a/drivers/i2c/busses/i2c-rcar.c
> +++ b/drivers/i2c/busses/i2c-rcar.c
> @@ -39,8 +39,8 @@
> #define ICSAR 0x1C /* slave address */
> #define ICMAR 0x20 /* master address */
> #define ICRXTX 0x24 /* data port */
> -#define ICDMAER 0x3c /* DMA enable */
> -#define ICFBSCR 0x38 /* first bit setup cycle */
> +#define ICFBSCR 0x38 /* first bit setup cycle (Gen3) */
> +#define ICDMAER 0x3c /* DMA enable (Gen3) */
>
> /* ICSCR */
> #define SDBS (1 << 3) /* slave data buffer select */
> @@ -83,7 +83,6 @@
> #define TMDMAE (1 << 0) /* DMA Master Transmitted Enable */
>
> /* ICFBSCR */
> -#define TCYC06 0x04 /* 6*Tcyc delay 1st bit between SDA and SCL */
> #define TCYC17 0x0f /* 17*Tcyc delay 1st bit between SDA and SCL */
>
>
> @@ -212,6 +211,10 @@ static void rcar_i2c_init(struct rcar_i2c_priv *priv)
> rcar_i2c_write(priv, ICMSR, 0);
> /* start clock */
> rcar_i2c_write(priv, ICCCR, priv->icccr);
> +
> + if (priv->devtype == I2C_RCAR_GEN3)
> + rcar_i2c_write(priv, ICFBSCR, TCYC17);
> +
> }
>
> static int rcar_i2c_bus_barrier(struct rcar_i2c_priv *priv)
> @@ -363,9 +366,6 @@ static void rcar_i2c_dma_unmap(struct rcar_i2c_priv *priv)
> /* Disable DMA Master Received/Transmitted */
> rcar_i2c_write(priv, ICDMAER, 0);
>
> - /* Reset default delay */
> - rcar_i2c_write(priv, ICFBSCR, TCYC06);
> -
> dma_unmap_single(chan->device->dev, sg_dma_address(&priv->sg),
> sg_dma_len(&priv->sg), priv->dma_direction);
>
> @@ -461,9 +461,6 @@ static void rcar_i2c_dma(struct rcar_i2c_priv *priv)
> return;
> }
>
> - /* Set delay for DMA operations */
> - rcar_i2c_write(priv, ICFBSCR, TCYC17);
> -
> /* Enable DMA Master Received/Transmitted */
> if (read)
> rcar_i2c_write(priv, ICDMAER, RMDMAE);
> --
> 2.11.0
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] i2c: rcar: refactor TCYC handling
2019-01-23 10:25 ` Simon Horman
@ 2019-01-23 17:39 ` Wolfram Sang
2019-01-24 12:41 ` Simon Horman
0 siblings, 1 reply; 8+ messages in thread
From: Wolfram Sang @ 2019-01-23 17:39 UTC (permalink / raw)
To: Simon Horman; +Cc: Wolfram Sang, linux-i2c, linux-renesas-soc
[-- Attachment #1: Type: text/plain, Size: 550 bytes --]
On Wed, Jan 23, 2019 at 11:25:06AM +0100, Simon Horman wrote:
> On Mon, Jan 21, 2019 at 06:08:00PM +0100, Wolfram Sang wrote:
> > The latest documentation made it clear that we need to initialize the
> > TCYC value independently of DMA. Simplify the code to do that.
>
> Hi Wolfram,
>
> I see TCYC bit 6 is no longer used after this patch.
> Does that warrant a mention in the changelog?
Do you think so? The old code used TCYC06 (wrongly) for non-DMA transfers.
The new code sets TCYC up "independently from DMA" <- commit message.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] i2c: rcar: refactor TCYC handling
2019-01-23 17:39 ` Wolfram Sang
@ 2019-01-24 12:41 ` Simon Horman
0 siblings, 0 replies; 8+ messages in thread
From: Simon Horman @ 2019-01-24 12:41 UTC (permalink / raw)
To: Wolfram Sang; +Cc: Wolfram Sang, linux-i2c, linux-renesas-soc
On Wed, Jan 23, 2019 at 06:39:26PM +0100, Wolfram Sang wrote:
> On Wed, Jan 23, 2019 at 11:25:06AM +0100, Simon Horman wrote:
> > On Mon, Jan 21, 2019 at 06:08:00PM +0100, Wolfram Sang wrote:
> > > The latest documentation made it clear that we need to initialize the
> > > TCYC value independently of DMA. Simplify the code to do that.
> >
> > Hi Wolfram,
> >
> > I see TCYC bit 6 is no longer used after this patch.
> > Does that warrant a mention in the changelog?
>
> Do you think so? The old code used TCYC06 (wrongly) for non-DMA transfers.
> The new code sets TCYC up "independently from DMA" <- commit message.
FWIIW, the text above is much clearer to me than the original changelog.
But perhaps that is more a reflection on me than anything else.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] i2c: rcar: comment maintenance
2019-01-21 17:07 ` [PATCH 1/2] i2c: rcar: comment maintenance Wolfram Sang
2019-01-23 10:23 ` Simon Horman
@ 2019-02-05 13:33 ` Wolfram Sang
1 sibling, 0 replies; 8+ messages in thread
From: Wolfram Sang @ 2019-02-05 13:33 UTC (permalink / raw)
To: Wolfram Sang; +Cc: linux-i2c, linux-renesas-soc
[-- Attachment #1: Type: text/plain, Size: 261 bytes --]
On Mon, Jan 21, 2019 at 06:07:59PM +0100, Wolfram Sang wrote:
> Update copyright years and remove a comment which grew incorrect and
> useless over time.
>
> 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] 8+ messages in thread
end of thread, other threads:[~2019-02-05 13:33 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-21 17:07 [PATCH 0/2] i2c: rcar: minor upporting from BSP Wolfram Sang
2019-01-21 17:07 ` [PATCH 1/2] i2c: rcar: comment maintenance Wolfram Sang
2019-01-23 10:23 ` Simon Horman
2019-02-05 13:33 ` Wolfram Sang
2019-01-21 17:08 ` [PATCH 2/2] i2c: rcar: refactor TCYC handling Wolfram Sang
2019-01-23 10:25 ` Simon Horman
2019-01-23 17:39 ` Wolfram Sang
2019-01-24 12:41 ` Simon Horman
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).