linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag
@ 2017-10-10  6:27 Kamlakant Patel
  2017-10-10  6:27 ` [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller Kamlakant Patel
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Kamlakant Patel @ 2017-10-10  6:27 UTC (permalink / raw)
  To: linux-acpi, linux-i2c
  Cc: Kamlakant Patel, Wolfram Sang, Mika Westerberg, Rafael J. Wysocki

This patch set has following changes:
 * Use Linux clk APIs to get input clock frequency for the I2C controller.
 * I2C driver update to handle I2C_M_RECV_LEN and I2C_CLIENT_PEC flags.

Changes since v1:
* Rebased to mainline(4.14-rc4).
* Removed unnecessary parens in i2c-xlp9xx.c.

Jayachandran C (2):
  ACPI / APD: Add clock frequency for ThunderX2 I2C controller
  i2c: xlp9xx: Get clock frequency with clk API

Kamlakant Patel (1):
  i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags

 drivers/acpi/acpi_apd.c         |  5 +++++
 drivers/i2c/busses/i2c-xlp9xx.c | 44 +++++++++++++++++++++++++++++++++++++----
 2 files changed, 45 insertions(+), 4 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller
  2017-10-10  6:27 [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Kamlakant Patel
@ 2017-10-10  6:27 ` Kamlakant Patel
  2017-10-11 13:10   ` Rafael J. Wysocki
  2017-10-17 21:54   ` Wolfram Sang
  2017-10-10  6:27 ` [PATCH v2 2/3] i2c: xlp9xx: Get clock frequency with clk API Kamlakant Patel
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 11+ messages in thread
From: Kamlakant Patel @ 2017-10-10  6:27 UTC (permalink / raw)
  To: linux-acpi, linux-i2c
  Cc: Jayachandran C, Wolfram Sang, Mika Westerberg, Rafael J. Wysocki,
	Kamlakant Patel

From: Jayachandran C <jnair@caviumnetworks.com>

Add the input frequency of 125MHz for the ThunderX2 I2C controller block.
The ACPI ID used is "CAV9007".

Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
Signed-off-by: Kamlakant Patel <kamlakant.patel@cavium.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/acpi/acpi_apd.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
index d5999eb..d553b00 100644
--- a/drivers/acpi/acpi_apd.c
+++ b/drivers/acpi/acpi_apd.c
@@ -116,6 +116,10 @@ static const struct apd_device_desc hip08_i2c_desc = {
 	.setup = acpi_apd_setup,
 	.fixed_clk_rate = 250000000,
 };
+static const struct apd_device_desc thunderx2_i2c_desc = {
+	.setup = acpi_apd_setup,
+	.fixed_clk_rate = 125000000,
+};
 #endif
 
 #else
@@ -180,6 +184,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
 	{ "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
 	{ "BRCM900D", APD_ADDR(vulcan_spi_desc) },
 	{ "CAV900D",  APD_ADDR(vulcan_spi_desc) },
+	{ "CAV9007",  APD_ADDR(thunderx2_i2c_desc) },
 	{ "HISI02A1", APD_ADDR(hip07_i2c_desc) },
 	{ "HISI02A2", APD_ADDR(hip08_i2c_desc) },
 #endif
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 2/3] i2c: xlp9xx: Get clock frequency with clk API
  2017-10-10  6:27 [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Kamlakant Patel
  2017-10-10  6:27 ` [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller Kamlakant Patel
@ 2017-10-10  6:27 ` Kamlakant Patel
  2017-10-17 21:54   ` Wolfram Sang
  2017-10-10  6:27 ` [PATCH v2 3/3] i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags Kamlakant Patel
  2017-10-10 23:35 ` [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Rafael J. Wysocki
  3 siblings, 1 reply; 11+ messages in thread
From: Kamlakant Patel @ 2017-10-10  6:27 UTC (permalink / raw)
  To: linux-acpi, linux-i2c
  Cc: Jayachandran C, Wolfram Sang, Mika Westerberg, Rafael J. Wysocki,
	Kamlakant Patel

From: Jayachandran C <jnair@caviumnetworks.com>

Get the input clock frequency to the controller from the linux clk
API, if it is available. This allows us to pass in the block input
frequency either from ACPI (using APD) or from device tree.

The old hardcoded frequency is used as default for backwards compatibility.

Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
Signed-off-by: Kamlakant Patel <kamlakant.patel@cavium.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/i2c/busses/i2c-xlp9xx.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-xlp9xx.c b/drivers/i2c/busses/i2c-xlp9xx.c
index 6b106e9..f0bef2d 100644
--- a/drivers/i2c/busses/i2c-xlp9xx.c
+++ b/drivers/i2c/busses/i2c-xlp9xx.c
@@ -7,6 +7,7 @@
  */
 
 #include <linux/acpi.h>
+#include <linux/clk.h>
 #include <linux/completion.h>
 #include <linux/i2c.h>
 #include <linux/init.h>
@@ -84,6 +85,7 @@ struct xlp9xx_i2c_dev {
 	u32 __iomem *base;
 	u32 msg_buf_remaining;
 	u32 msg_len;
+	u32 ip_clk_hz;
 	u32 clk_hz;
 	u32 msg_err;
 	u8 *msg_buf;
@@ -213,7 +215,7 @@ static int xlp9xx_i2c_init(struct xlp9xx_i2c_dev *priv)
 	 * The controller uses 5 * SCL clock internally.
 	 * So prescale value should be divided by 5.
 	 */
-	prescale = DIV_ROUND_UP(XLP9XX_I2C_IP_CLK_FREQ, priv->clk_hz);
+	prescale = DIV_ROUND_UP(priv->ip_clk_hz, priv->clk_hz);
 	prescale = ((prescale - 8) / 5) - 1;
 	xlp9xx_write_i2c_reg(priv, XLP9XX_I2C_CTRL, XLP9XX_I2C_CTRL_RST);
 	xlp9xx_write_i2c_reg(priv, XLP9XX_I2C_CTRL, XLP9XX_I2C_CTRL_EN |
@@ -342,9 +344,19 @@ static const struct i2c_algorithm xlp9xx_i2c_algo = {
 static int xlp9xx_i2c_get_frequency(struct platform_device *pdev,
 				    struct xlp9xx_i2c_dev *priv)
 {
+	struct clk *clk;
 	u32 freq;
 	int err;
 
+	clk = devm_clk_get(&pdev->dev, NULL);
+	if (IS_ERR(clk)) {
+		priv->ip_clk_hz = XLP9XX_I2C_IP_CLK_FREQ;
+		dev_dbg(&pdev->dev, "using default input frequency %u\n",
+			priv->ip_clk_hz);
+	} else {
+		priv->ip_clk_hz = clk_get_rate(clk);
+	}
+
 	err = device_property_read_u32(&pdev->dev, "clock-frequency", &freq);
 	if (err) {
 		freq = XLP9XX_I2C_DEFAULT_FREQ;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2 3/3] i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags
  2017-10-10  6:27 [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Kamlakant Patel
  2017-10-10  6:27 ` [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller Kamlakant Patel
  2017-10-10  6:27 ` [PATCH v2 2/3] i2c: xlp9xx: Get clock frequency with clk API Kamlakant Patel
@ 2017-10-10  6:27 ` Kamlakant Patel
  2017-10-17 21:54   ` Wolfram Sang
  2017-10-10 23:35 ` [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Rafael J. Wysocki
  3 siblings, 1 reply; 11+ messages in thread
From: Kamlakant Patel @ 2017-10-10  6:27 UTC (permalink / raw)
  To: linux-acpi, linux-i2c
  Cc: Kamlakant Patel, Wolfram Sang, Mika Westerberg, Rafael J. Wysocki,
	Jayachandran C

The driver needs to handle the flag I2C_M_RECV_LEN during receive to
support SMBus emulation.

Update receive logic to handle the case where the length is received
as the first byte of a transaction.

Also update the code to handle I2C_CLIENT_PEC, which is set when the
client sends a packet error checking code byte.

Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
Signed-off-by: Kamlakant Patel <kamlakant.patel@cavium.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
---
 drivers/i2c/busses/i2c-xlp9xx.c | 30 +++++++++++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-xlp9xx.c b/drivers/i2c/busses/i2c-xlp9xx.c
index f0bef2d..b970bf8 100644
--- a/drivers/i2c/busses/i2c-xlp9xx.c
+++ b/drivers/i2c/busses/i2c-xlp9xx.c
@@ -82,6 +82,8 @@ struct xlp9xx_i2c_dev {
 	struct completion msg_complete;
 	int irq;
 	bool msg_read;
+	bool len_recv;
+	bool client_pec;
 	u32 __iomem *base;
 	u32 msg_buf_remaining;
 	u32 msg_len;
@@ -143,10 +145,25 @@ static void xlp9xx_i2c_fill_tx_fifo(struct xlp9xx_i2c_dev *priv)
 static void xlp9xx_i2c_drain_rx_fifo(struct xlp9xx_i2c_dev *priv)
 {
 	u32 len, i;
-	u8 *buf = priv->msg_buf;
+	u8 rlen, *buf = priv->msg_buf;
 
 	len = xlp9xx_read_i2c_reg(priv, XLP9XX_I2C_FIFOWCNT) &
 				  XLP9XX_I2C_FIFO_WCNT_MASK;
+	if (!len)
+		return;
+	if (priv->len_recv) {
+		/* read length byte */
+		rlen = xlp9xx_read_i2c_reg(priv, XLP9XX_I2C_MRXFIFO);
+		*buf++ = rlen;
+		len--;
+		if (priv->client_pec)
+			++rlen;
+		/* update remaining bytes and message length */
+		priv->msg_buf_remaining = rlen;
+		priv->msg_len = rlen + 1;
+		priv->len_recv = false;
+	}
+
 	len = min(priv->msg_buf_remaining, len);
 	for (i = 0; i < len; i++, buf++)
 		*buf = xlp9xx_read_i2c_reg(priv, XLP9XX_I2C_MRXFIFO);
@@ -230,7 +247,7 @@ static int xlp9xx_i2c_xfer_msg(struct xlp9xx_i2c_dev *priv, struct i2c_msg *msg,
 			       int last_msg)
 {
 	unsigned long timeleft;
-	u32 intr_mask, cmd, val;
+	u32 intr_mask, cmd, val, len;
 
 	priv->msg_buf = msg->buf;
 	priv->msg_buf_remaining = priv->msg_len = msg->len;
@@ -263,9 +280,13 @@ static int xlp9xx_i2c_xfer_msg(struct xlp9xx_i2c_dev *priv, struct i2c_msg *msg,
 	else
 		val &= ~XLP9XX_I2C_CTRL_ADDMODE;
 
+	priv->len_recv = msg->flags & I2C_M_RECV_LEN;
+	len = priv->len_recv ? XLP9XX_I2C_FIFO_SIZE : msg->len;
+	priv->client_pec = msg->flags & I2C_CLIENT_PEC;
+
 	/* set data length to be transferred */
 	val = (val & ~XLP9XX_I2C_CTRL_MCTLEN_MASK) |
-	      (msg->len << XLP9XX_I2C_CTRL_MCTLEN_SHIFT);
+	      (len << XLP9XX_I2C_CTRL_MCTLEN_SHIFT);
 	xlp9xx_write_i2c_reg(priv, XLP9XX_I2C_CTRL, val);
 
 	/* fill fifo during tx */
@@ -312,6 +333,9 @@ static int xlp9xx_i2c_xfer_msg(struct xlp9xx_i2c_dev *priv, struct i2c_msg *msg,
 		return -ETIMEDOUT;
 	}
 
+	/* update msg->len with actual received length */
+	if (msg->flags & I2C_M_RECV_LEN)
+		msg->len = priv->msg_len;
 	return 0;
 }
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag
  2017-10-10  6:27 [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Kamlakant Patel
                   ` (2 preceding siblings ...)
  2017-10-10  6:27 ` [PATCH v2 3/3] i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags Kamlakant Patel
@ 2017-10-10 23:35 ` Rafael J. Wysocki
  2017-10-11  7:06   ` Wolfram Sang
  3 siblings, 1 reply; 11+ messages in thread
From: Rafael J. Wysocki @ 2017-10-10 23:35 UTC (permalink / raw)
  To: Kamlakant Patel, Wolfram Sang
  Cc: ACPI Devel Maling List, linux-i2c, Mika Westerberg,
	Rafael J. Wysocki

On Tue, Oct 10, 2017 at 8:27 AM, Kamlakant Patel
<kamlakant.patel@cavium.com> wrote:
> This patch set has following changes:
>  * Use Linux clk APIs to get input clock frequency for the I2C controller.
>  * I2C driver update to handle I2C_M_RECV_LEN and I2C_CLIENT_PEC flags.
>
> Changes since v1:
> * Rebased to mainline(4.14-rc4).
> * Removed unnecessary parens in i2c-xlp9xx.c.
>
> Jayachandran C (2):
>   ACPI / APD: Add clock frequency for ThunderX2 I2C controller
>   i2c: xlp9xx: Get clock frequency with clk API
>
> Kamlakant Patel (1):
>   i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags
>
>  drivers/acpi/acpi_apd.c         |  5 +++++
>  drivers/i2c/busses/i2c-xlp9xx.c | 44 +++++++++++++++++++++++++++++++++++++----
>  2 files changed, 45 insertions(+), 4 deletions(-)

Hi Wolfram,

I'm assuming that this will go in via the i2c tree, so please let me
know if anything is needed from my side.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag
  2017-10-10 23:35 ` [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Rafael J. Wysocki
@ 2017-10-11  7:06   ` Wolfram Sang
  2017-10-11 13:09     ` Rafael J. Wysocki
  0 siblings, 1 reply; 11+ messages in thread
From: Wolfram Sang @ 2017-10-11  7:06 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Kamlakant Patel, ACPI Devel Maling List, linux-i2c,
	Mika Westerberg, Rafael J. Wysocki

[-- Attachment #1: Type: text/plain, Size: 1087 bytes --]

On Wed, Oct 11, 2017 at 01:35:10AM +0200, Rafael J. Wysocki wrote:
> On Tue, Oct 10, 2017 at 8:27 AM, Kamlakant Patel
> <kamlakant.patel@cavium.com> wrote:
> > This patch set has following changes:
> >  * Use Linux clk APIs to get input clock frequency for the I2C controller.
> >  * I2C driver update to handle I2C_M_RECV_LEN and I2C_CLIENT_PEC flags.
> >
> > Changes since v1:
> > * Rebased to mainline(4.14-rc4).
> > * Removed unnecessary parens in i2c-xlp9xx.c.
> >
> > Jayachandran C (2):
> >   ACPI / APD: Add clock frequency for ThunderX2 I2C controller
> >   i2c: xlp9xx: Get clock frequency with clk API
> >
> > Kamlakant Patel (1):
> >   i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags
> >
> >  drivers/acpi/acpi_apd.c         |  5 +++++
> >  drivers/i2c/busses/i2c-xlp9xx.c | 44 +++++++++++++++++++++++++++++++++++++----
> >  2 files changed, 45 insertions(+), 4 deletions(-)
> 
> Hi Wolfram,
> 
> I'm assuming that this will go in via the i2c tree, so please let me
> know if anything is needed from my side.

An ack for patch 1 would be nice.


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag
  2017-10-11  7:06   ` Wolfram Sang
@ 2017-10-11 13:09     ` Rafael J. Wysocki
  0 siblings, 0 replies; 11+ messages in thread
From: Rafael J. Wysocki @ 2017-10-11 13:09 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: Rafael J. Wysocki, Kamlakant Patel, ACPI Devel Maling List,
	linux-i2c, Mika Westerberg, Rafael J. Wysocki

On Wed, Oct 11, 2017 at 9:06 AM, Wolfram Sang <wsa@the-dreams.de> wrote:
> On Wed, Oct 11, 2017 at 01:35:10AM +0200, Rafael J. Wysocki wrote:
>> On Tue, Oct 10, 2017 at 8:27 AM, Kamlakant Patel
>> <kamlakant.patel@cavium.com> wrote:
>> > This patch set has following changes:
>> >  * Use Linux clk APIs to get input clock frequency for the I2C controller.
>> >  * I2C driver update to handle I2C_M_RECV_LEN and I2C_CLIENT_PEC flags.
>> >
>> > Changes since v1:
>> > * Rebased to mainline(4.14-rc4).
>> > * Removed unnecessary parens in i2c-xlp9xx.c.
>> >
>> > Jayachandran C (2):
>> >   ACPI / APD: Add clock frequency for ThunderX2 I2C controller
>> >   i2c: xlp9xx: Get clock frequency with clk API
>> >
>> > Kamlakant Patel (1):
>> >   i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags
>> >
>> >  drivers/acpi/acpi_apd.c         |  5 +++++
>> >  drivers/i2c/busses/i2c-xlp9xx.c | 44 +++++++++++++++++++++++++++++++++++++----
>> >  2 files changed, 45 insertions(+), 4 deletions(-)
>>
>> Hi Wolfram,
>>
>> I'm assuming that this will go in via the i2c tree, so please let me
>> know if anything is needed from my side.
>
> An ack for patch 1 would be nice.

OK

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller
  2017-10-10  6:27 ` [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller Kamlakant Patel
@ 2017-10-11 13:10   ` Rafael J. Wysocki
  2017-10-17 21:54   ` Wolfram Sang
  1 sibling, 0 replies; 11+ messages in thread
From: Rafael J. Wysocki @ 2017-10-11 13:10 UTC (permalink / raw)
  To: Kamlakant Patel
  Cc: ACPI Devel Maling List, linux-i2c, Jayachandran C, Wolfram Sang,
	Mika Westerberg, Rafael J. Wysocki

On Tue, Oct 10, 2017 at 8:27 AM, Kamlakant Patel
<kamlakant.patel@cavium.com> wrote:
> From: Jayachandran C <jnair@caviumnetworks.com>
>
> Add the input frequency of 125MHz for the ThunderX2 I2C controller block.
> The ACPI ID used is "CAV9007".
>
> Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
> Signed-off-by: Kamlakant Patel <kamlakant.patel@cavium.com>
> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

> ---
>  drivers/acpi/acpi_apd.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/drivers/acpi/acpi_apd.c b/drivers/acpi/acpi_apd.c
> index d5999eb..d553b00 100644
> --- a/drivers/acpi/acpi_apd.c
> +++ b/drivers/acpi/acpi_apd.c
> @@ -116,6 +116,10 @@ static const struct apd_device_desc hip08_i2c_desc = {
>         .setup = acpi_apd_setup,
>         .fixed_clk_rate = 250000000,
>  };
> +static const struct apd_device_desc thunderx2_i2c_desc = {
> +       .setup = acpi_apd_setup,
> +       .fixed_clk_rate = 125000000,
> +};
>  #endif
>
>  #else
> @@ -180,6 +184,7 @@ static const struct acpi_device_id acpi_apd_device_ids[] = {
>         { "APMC0D0F", APD_ADDR(xgene_i2c_desc) },
>         { "BRCM900D", APD_ADDR(vulcan_spi_desc) },
>         { "CAV900D",  APD_ADDR(vulcan_spi_desc) },
> +       { "CAV9007",  APD_ADDR(thunderx2_i2c_desc) },
>         { "HISI02A1", APD_ADDR(hip07_i2c_desc) },
>         { "HISI02A2", APD_ADDR(hip08_i2c_desc) },
>  #endif
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller
  2017-10-10  6:27 ` [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller Kamlakant Patel
  2017-10-11 13:10   ` Rafael J. Wysocki
@ 2017-10-17 21:54   ` Wolfram Sang
  1 sibling, 0 replies; 11+ messages in thread
From: Wolfram Sang @ 2017-10-17 21:54 UTC (permalink / raw)
  To: Kamlakant Patel
  Cc: linux-acpi, linux-i2c, Jayachandran C, Mika Westerberg,
	Rafael J. Wysocki

[-- Attachment #1: Type: text/plain, Size: 456 bytes --]

On Tue, Oct 10, 2017 at 11:57:54AM +0530, Kamlakant Patel wrote:
> From: Jayachandran C <jnair@caviumnetworks.com>
> 
> Add the input frequency of 125MHz for the ThunderX2 I2C controller block.
> The ACPI ID used is "CAV9007".
> 
> Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
> Signed-off-by: Kamlakant Patel <kamlakant.patel@cavium.com>
> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Applied to for-next, thanks!


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 2/3] i2c: xlp9xx: Get clock frequency with clk API
  2017-10-10  6:27 ` [PATCH v2 2/3] i2c: xlp9xx: Get clock frequency with clk API Kamlakant Patel
@ 2017-10-17 21:54   ` Wolfram Sang
  0 siblings, 0 replies; 11+ messages in thread
From: Wolfram Sang @ 2017-10-17 21:54 UTC (permalink / raw)
  To: Kamlakant Patel
  Cc: linux-acpi, linux-i2c, Jayachandran C, Mika Westerberg,
	Rafael J. Wysocki

[-- Attachment #1: Type: text/plain, Size: 634 bytes --]

On Tue, Oct 10, 2017 at 11:57:55AM +0530, Kamlakant Patel wrote:
> From: Jayachandran C <jnair@caviumnetworks.com>
> 
> Get the input clock frequency to the controller from the linux clk
> API, if it is available. This allows us to pass in the block input
> frequency either from ACPI (using APD) or from device tree.
> 
> The old hardcoded frequency is used as default for backwards compatibility.
> 
> Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
> Signed-off-by: Kamlakant Patel <kamlakant.patel@cavium.com>
> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Applied to for-next, thanks!


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2 3/3] i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags
  2017-10-10  6:27 ` [PATCH v2 3/3] i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags Kamlakant Patel
@ 2017-10-17 21:54   ` Wolfram Sang
  0 siblings, 0 replies; 11+ messages in thread
From: Wolfram Sang @ 2017-10-17 21:54 UTC (permalink / raw)
  To: Kamlakant Patel
  Cc: linux-acpi, linux-i2c, Mika Westerberg, Rafael J. Wysocki,
	Jayachandran C

[-- Attachment #1: Type: text/plain, Size: 635 bytes --]

On Tue, Oct 10, 2017 at 11:57:56AM +0530, Kamlakant Patel wrote:
> The driver needs to handle the flag I2C_M_RECV_LEN during receive to
> support SMBus emulation.
> 
> Update receive logic to handle the case where the length is received
> as the first byte of a transaction.
> 
> Also update the code to handle I2C_CLIENT_PEC, which is set when the
> client sends a packet error checking code byte.
> 
> Signed-off-by: Jayachandran C <jnair@caviumnetworks.com>
> Signed-off-by: Kamlakant Patel <kamlakant.patel@cavium.com>
> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Applied to for-next, thanks!


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-10-17 21:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-10  6:27 [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Kamlakant Patel
2017-10-10  6:27 ` [PATCH v2 1/3] ACPI / APD: Add clock frequency for ThunderX2 I2C controller Kamlakant Patel
2017-10-11 13:10   ` Rafael J. Wysocki
2017-10-17 21:54   ` Wolfram Sang
2017-10-10  6:27 ` [PATCH v2 2/3] i2c: xlp9xx: Get clock frequency with clk API Kamlakant Patel
2017-10-17 21:54   ` Wolfram Sang
2017-10-10  6:27 ` [PATCH v2 3/3] i2c: xlp9xx: Handle I2C_M_RECV_LEN in msg->flags Kamlakant Patel
2017-10-17 21:54   ` Wolfram Sang
2017-10-10 23:35 ` [PATCH v2 0/3] i2c-xlp9xx: update i2c driver to handle I2C_M_RECV_LEN flag Rafael J. Wysocki
2017-10-11  7:06   ` Wolfram Sang
2017-10-11 13:09     ` Rafael J. Wysocki

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).