From: Ray Jui <rjui@broadcom.com>
To: Wolfram Sang <wsa@the-dreams.de>, linux-i2c@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org, linux-mips@linux-mips.org,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Ludovic Desroches <ludovic.desroches@atmel.com>,
Yingjoe Chen <yingjoe.chen@mediatek.com>,
Eddie Huang <eddie.huang@mediatek.com>,
Scott Branden <sbranden@broadcom.com>,
bcm-kernel-feedback-list@broadcom.com,
linux-kernel@vger.kernel.org
Subject: Re: [RFC V2 12/12] i2c: bcm-iproc: make use of the new infrastructure for quirks
Date: Thu, 26 Feb 2015 15:32:58 -0800 [thread overview]
Message-ID: <54EFAD2A.9060501@broadcom.com> (raw)
In-Reply-To: <1424880126-15047-13-git-send-email-wsa@the-dreams.de>
On 2/25/2015 8:02 AM, Wolfram Sang wrote:
> From: Wolfram Sang <wsa+renesas@sang-engineering.com>
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> drivers/i2c/busses/i2c-bcm-iproc.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c
> index d3c89157b33774..f9f2c2082151e2 100644
> --- a/drivers/i2c/busses/i2c-bcm-iproc.c
> +++ b/drivers/i2c/busses/i2c-bcm-iproc.c
> @@ -160,14 +160,6 @@ static int bcm_iproc_i2c_xfer_single_msg(struct bcm_iproc_i2c_dev *iproc_i2c,
> u32 val;
> unsigned long time_left = msecs_to_jiffies(I2C_TIMEOUT_MESC);
>
> - /* need to reserve one byte in the FIFO for the slave address */
> - if (msg->len > M_TX_RX_FIFO_SIZE - 1) {
> - dev_err(iproc_i2c->device,
> - "only support data length up to %u bytes\n",
> - M_TX_RX_FIFO_SIZE - 1);
> - return -EOPNOTSUPP;
> - }
> -
> /* check if bus is busy */
> if (!!(readl(iproc_i2c->base + M_CMD_OFFSET) &
> BIT(M_CMD_START_BUSY_SHIFT))) {
> @@ -287,6 +279,12 @@ static const struct i2c_algorithm bcm_iproc_algo = {
> .functionality = bcm_iproc_i2c_functionality,
> };
>
> +static struct i2c_adapter_quirks bcm_iproc_i2c_quirks = {
> + /* need to reserve one byte in the FIFO for the slave address */
> + .max_read_len = M_TX_RX_FIFO_SIZE - 1,
> + .max_write_len = M_TX_RX_FIFO_SIZE - 1,
> +};
> +
> static int bcm_iproc_i2c_cfg_speed(struct bcm_iproc_i2c_dev *iproc_i2c)
> {
> unsigned int bus_speed;
> @@ -413,6 +411,7 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev)
> i2c_set_adapdata(adap, iproc_i2c);
> strlcpy(adap->name, "Broadcom iProc I2C adapter", sizeof(adap->name));
> adap->algo = &bcm_iproc_algo;
> + adap->quirks = &bcm_iproc_i2c_quirks;
> adap->dev.parent = &pdev->dev;
> adap->dev.of_node = pdev->dev.of_node;
>
>
Change on the iproc i2c driver looks good to me. Sanity tested the
change from Wolfram's i2c/quirks branch on Cygnus 958300K combo board.
Sanity tested with an attempt to transfer large amount of I2C data to
ensure the transfer is denied by the i2c-core:
/ # cat /dev/i2c-0
[ 657.310261] i2c i2c-0: quirk: msg too long (addr 0x0000, size 4096, read)
Reviewed-by: Ray Jui <rjui@broadcom.com>
Tested-by: Ray Jui <rjui@broadcom.com>
Thanks,
Ray
WARNING: multiple messages have this Message-ID (diff)
From: Ray Jui <rjui@broadcom.com>
To: Wolfram Sang <wsa@the-dreams.de>, <linux-i2c@vger.kernel.org>
Cc: <linux-arm-kernel@lists.infradead.org>,
<linuxppc-dev@lists.ozlabs.org>, <linux-mips@linux-mips.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Ludovic Desroches <ludovic.desroches@atmel.com>,
Yingjoe Chen <yingjoe.chen@mediatek.com>,
Eddie Huang <eddie.huang@mediatek.com>,
Scott Branden <sbranden@broadcom.com>,
<bcm-kernel-feedback-list@broadcom.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [RFC V2 12/12] i2c: bcm-iproc: make use of the new infrastructure for quirks
Date: Thu, 26 Feb 2015 15:32:58 -0800 [thread overview]
Message-ID: <54EFAD2A.9060501@broadcom.com> (raw)
In-Reply-To: <1424880126-15047-13-git-send-email-wsa@the-dreams.de>
On 2/25/2015 8:02 AM, Wolfram Sang wrote:
> From: Wolfram Sang <wsa+renesas@sang-engineering.com>
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> drivers/i2c/busses/i2c-bcm-iproc.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c
> index d3c89157b33774..f9f2c2082151e2 100644
> --- a/drivers/i2c/busses/i2c-bcm-iproc.c
> +++ b/drivers/i2c/busses/i2c-bcm-iproc.c
> @@ -160,14 +160,6 @@ static int bcm_iproc_i2c_xfer_single_msg(struct bcm_iproc_i2c_dev *iproc_i2c,
> u32 val;
> unsigned long time_left = msecs_to_jiffies(I2C_TIMEOUT_MESC);
>
> - /* need to reserve one byte in the FIFO for the slave address */
> - if (msg->len > M_TX_RX_FIFO_SIZE - 1) {
> - dev_err(iproc_i2c->device,
> - "only support data length up to %u bytes\n",
> - M_TX_RX_FIFO_SIZE - 1);
> - return -EOPNOTSUPP;
> - }
> -
> /* check if bus is busy */
> if (!!(readl(iproc_i2c->base + M_CMD_OFFSET) &
> BIT(M_CMD_START_BUSY_SHIFT))) {
> @@ -287,6 +279,12 @@ static const struct i2c_algorithm bcm_iproc_algo = {
> .functionality = bcm_iproc_i2c_functionality,
> };
>
> +static struct i2c_adapter_quirks bcm_iproc_i2c_quirks = {
> + /* need to reserve one byte in the FIFO for the slave address */
> + .max_read_len = M_TX_RX_FIFO_SIZE - 1,
> + .max_write_len = M_TX_RX_FIFO_SIZE - 1,
> +};
> +
> static int bcm_iproc_i2c_cfg_speed(struct bcm_iproc_i2c_dev *iproc_i2c)
> {
> unsigned int bus_speed;
> @@ -413,6 +411,7 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev)
> i2c_set_adapdata(adap, iproc_i2c);
> strlcpy(adap->name, "Broadcom iProc I2C adapter", sizeof(adap->name));
> adap->algo = &bcm_iproc_algo;
> + adap->quirks = &bcm_iproc_i2c_quirks;
> adap->dev.parent = &pdev->dev;
> adap->dev.of_node = pdev->dev.of_node;
>
>
Change on the iproc i2c driver looks good to me. Sanity tested the
change from Wolfram's i2c/quirks branch on Cygnus 958300K combo board.
Sanity tested with an attempt to transfer large amount of I2C data to
ensure the transfer is denied by the i2c-core:
/ # cat /dev/i2c-0
[ 657.310261] i2c i2c-0: quirk: msg too long (addr 0x0000, size 4096, read)
Reviewed-by: Ray Jui <rjui@broadcom.com>
Tested-by: Ray Jui <rjui@broadcom.com>
Thanks,
Ray
WARNING: multiple messages have this Message-ID (diff)
From: Ray Jui <rjui@broadcom.com>
To: Wolfram Sang <wsa@the-dreams.de>, <linux-i2c@vger.kernel.org>
Cc: linux-mips@linux-mips.org, Scott Branden <sbranden@broadcom.com>,
linux-kernel@vger.kernel.org,
Ludovic Desroches <ludovic.desroches@atmel.com>,
bcm-kernel-feedback-list@broadcom.com,
Yingjoe Chen <yingjoe.chen@mediatek.com>,
Eddie Huang <eddie.huang@mediatek.com>,
linuxppc-dev@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC V2 12/12] i2c: bcm-iproc: make use of the new infrastructure for quirks
Date: Thu, 26 Feb 2015 15:32:58 -0800 [thread overview]
Message-ID: <54EFAD2A.9060501@broadcom.com> (raw)
In-Reply-To: <1424880126-15047-13-git-send-email-wsa@the-dreams.de>
On 2/25/2015 8:02 AM, Wolfram Sang wrote:
> From: Wolfram Sang <wsa+renesas@sang-engineering.com>
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> drivers/i2c/busses/i2c-bcm-iproc.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c
> index d3c89157b33774..f9f2c2082151e2 100644
> --- a/drivers/i2c/busses/i2c-bcm-iproc.c
> +++ b/drivers/i2c/busses/i2c-bcm-iproc.c
> @@ -160,14 +160,6 @@ static int bcm_iproc_i2c_xfer_single_msg(struct bcm_iproc_i2c_dev *iproc_i2c,
> u32 val;
> unsigned long time_left = msecs_to_jiffies(I2C_TIMEOUT_MESC);
>
> - /* need to reserve one byte in the FIFO for the slave address */
> - if (msg->len > M_TX_RX_FIFO_SIZE - 1) {
> - dev_err(iproc_i2c->device,
> - "only support data length up to %u bytes\n",
> - M_TX_RX_FIFO_SIZE - 1);
> - return -EOPNOTSUPP;
> - }
> -
> /* check if bus is busy */
> if (!!(readl(iproc_i2c->base + M_CMD_OFFSET) &
> BIT(M_CMD_START_BUSY_SHIFT))) {
> @@ -287,6 +279,12 @@ static const struct i2c_algorithm bcm_iproc_algo = {
> .functionality = bcm_iproc_i2c_functionality,
> };
>
> +static struct i2c_adapter_quirks bcm_iproc_i2c_quirks = {
> + /* need to reserve one byte in the FIFO for the slave address */
> + .max_read_len = M_TX_RX_FIFO_SIZE - 1,
> + .max_write_len = M_TX_RX_FIFO_SIZE - 1,
> +};
> +
> static int bcm_iproc_i2c_cfg_speed(struct bcm_iproc_i2c_dev *iproc_i2c)
> {
> unsigned int bus_speed;
> @@ -413,6 +411,7 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev)
> i2c_set_adapdata(adap, iproc_i2c);
> strlcpy(adap->name, "Broadcom iProc I2C adapter", sizeof(adap->name));
> adap->algo = &bcm_iproc_algo;
> + adap->quirks = &bcm_iproc_i2c_quirks;
> adap->dev.parent = &pdev->dev;
> adap->dev.of_node = pdev->dev.of_node;
>
>
Change on the iproc i2c driver looks good to me. Sanity tested the
change from Wolfram's i2c/quirks branch on Cygnus 958300K combo board.
Sanity tested with an attempt to transfer large amount of I2C data to
ensure the transfer is denied by the i2c-core:
/ # cat /dev/i2c-0
[ 657.310261] i2c i2c-0: quirk: msg too long (addr 0x0000, size 4096, read)
Reviewed-by: Ray Jui <rjui@broadcom.com>
Tested-by: Ray Jui <rjui@broadcom.com>
Thanks,
Ray
WARNING: multiple messages have this Message-ID (diff)
From: rjui@broadcom.com (Ray Jui)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC V2 12/12] i2c: bcm-iproc: make use of the new infrastructure for quirks
Date: Thu, 26 Feb 2015 15:32:58 -0800 [thread overview]
Message-ID: <54EFAD2A.9060501@broadcom.com> (raw)
In-Reply-To: <1424880126-15047-13-git-send-email-wsa@the-dreams.de>
On 2/25/2015 8:02 AM, Wolfram Sang wrote:
> From: Wolfram Sang <wsa+renesas@sang-engineering.com>
>
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> drivers/i2c/busses/i2c-bcm-iproc.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-bcm-iproc.c b/drivers/i2c/busses/i2c-bcm-iproc.c
> index d3c89157b33774..f9f2c2082151e2 100644
> --- a/drivers/i2c/busses/i2c-bcm-iproc.c
> +++ b/drivers/i2c/busses/i2c-bcm-iproc.c
> @@ -160,14 +160,6 @@ static int bcm_iproc_i2c_xfer_single_msg(struct bcm_iproc_i2c_dev *iproc_i2c,
> u32 val;
> unsigned long time_left = msecs_to_jiffies(I2C_TIMEOUT_MESC);
>
> - /* need to reserve one byte in the FIFO for the slave address */
> - if (msg->len > M_TX_RX_FIFO_SIZE - 1) {
> - dev_err(iproc_i2c->device,
> - "only support data length up to %u bytes\n",
> - M_TX_RX_FIFO_SIZE - 1);
> - return -EOPNOTSUPP;
> - }
> -
> /* check if bus is busy */
> if (!!(readl(iproc_i2c->base + M_CMD_OFFSET) &
> BIT(M_CMD_START_BUSY_SHIFT))) {
> @@ -287,6 +279,12 @@ static const struct i2c_algorithm bcm_iproc_algo = {
> .functionality = bcm_iproc_i2c_functionality,
> };
>
> +static struct i2c_adapter_quirks bcm_iproc_i2c_quirks = {
> + /* need to reserve one byte in the FIFO for the slave address */
> + .max_read_len = M_TX_RX_FIFO_SIZE - 1,
> + .max_write_len = M_TX_RX_FIFO_SIZE - 1,
> +};
> +
> static int bcm_iproc_i2c_cfg_speed(struct bcm_iproc_i2c_dev *iproc_i2c)
> {
> unsigned int bus_speed;
> @@ -413,6 +411,7 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev)
> i2c_set_adapdata(adap, iproc_i2c);
> strlcpy(adap->name, "Broadcom iProc I2C adapter", sizeof(adap->name));
> adap->algo = &bcm_iproc_algo;
> + adap->quirks = &bcm_iproc_i2c_quirks;
> adap->dev.parent = &pdev->dev;
> adap->dev.of_node = pdev->dev.of_node;
>
>
Change on the iproc i2c driver looks good to me. Sanity tested the
change from Wolfram's i2c/quirks branch on Cygnus 958300K combo board.
Sanity tested with an attempt to transfer large amount of I2C data to
ensure the transfer is denied by the i2c-core:
/ # cat /dev/i2c-0
[ 657.310261] i2c i2c-0: quirk: msg too long (addr 0x0000, size 4096, read)
Reviewed-by: Ray Jui <rjui@broadcom.com>
Tested-by: Ray Jui <rjui@broadcom.com>
Thanks,
Ray
next prev parent reply other threads:[~2015-02-26 23:32 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-25 16:01 [RFC V2 00/12] i2c: describe adapter quirks in a generic way Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` [RFC V2 01/12] i2c: add quirk structure to describe adapter flaws Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
[not found] ` <1424880126-15047-1-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2015-02-25 16:01 ` [RFC V2 02/12] i2c: add quirk checks to core Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` [RFC V2 03/12] i2c: at91: make use of the new infrastructure for quirks Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
[not found] ` <1424880126-15047-4-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2015-03-08 8:28 ` Wolfram Sang
2015-03-08 8:28 ` Wolfram Sang
2015-03-08 8:28 ` Wolfram Sang
2015-03-08 8:28 ` Wolfram Sang
2015-03-09 16:11 ` Ludovic Desroches
2015-03-09 16:11 ` Ludovic Desroches
2015-03-09 16:11 ` Ludovic Desroches
2015-03-09 16:11 ` Ludovic Desroches
2015-03-09 16:11 ` Ludovic Desroches
2015-03-10 13:55 ` Ludovic Desroches
2015-03-10 13:55 ` Ludovic Desroches
2015-03-10 13:55 ` Ludovic Desroches
2015-03-10 13:55 ` Ludovic Desroches
2015-03-12 14:50 ` Wolfram Sang
2015-03-12 14:50 ` Wolfram Sang
2015-03-05 13:27 ` [RFC V2 00/12] i2c: describe adapter quirks in a generic way Ivan T. Ivanov
2015-03-05 13:27 ` Ivan T. Ivanov
2015-03-05 13:27 ` Ivan T. Ivanov
2015-03-05 13:27 ` Ivan T. Ivanov
2015-03-12 14:56 ` Wolfram Sang
2015-03-12 14:56 ` Wolfram Sang
2015-03-12 14:56 ` Wolfram Sang
2015-03-14 11:14 ` Wolfram Sang
2015-03-14 11:14 ` Wolfram Sang
2015-03-14 11:14 ` Wolfram Sang
2015-03-14 11:14 ` Wolfram Sang
2015-02-25 16:01 ` [RFC V2 04/12] i2c: opal: make use of the new infrastructure for quirks Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
[not found] ` <1424880126-15047-5-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
2015-03-10 17:13 ` Neelesh Gupta
2015-03-10 17:13 ` Neelesh Gupta
2015-03-10 17:13 ` Neelesh Gupta
2015-03-10 17:13 ` Neelesh Gupta
2015-03-10 23:12 ` Benjamin Herrenschmidt
2015-03-10 23:12 ` Benjamin Herrenschmidt
2015-03-10 23:12 ` Benjamin Herrenschmidt
[not found] ` <1426029133.17565.9.camel-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
2015-03-11 4:26 ` Neelesh Gupta
2015-03-11 4:26 ` Neelesh Gupta
2015-03-11 4:26 ` Neelesh Gupta
2015-03-11 4:26 ` Neelesh Gupta
2015-03-12 14:55 ` Wolfram Sang
2015-03-12 14:55 ` Wolfram Sang
2015-03-12 14:55 ` Wolfram Sang
2015-03-13 8:50 ` Neelesh Gupta
2015-03-13 8:50 ` Neelesh Gupta
2015-02-25 16:01 ` [RFC V2 05/12] i2c: qup: " Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` [RFC V2 06/12] i2c: cpm: " Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` [RFC V2 07/12] i2c: axxia: " Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` [RFC V2 08/12] i2c: dln2: " Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:01 ` Wolfram Sang
2015-02-25 16:02 ` [RFC V2 09/12] i2c: powermac: " Wolfram Sang
2015-02-25 16:02 ` Wolfram Sang
2015-02-25 16:02 ` Wolfram Sang
2015-02-25 16:02 ` [RFC V2 10/12] i2c: viperboard: " Wolfram Sang
2015-02-25 16:02 ` Wolfram Sang
2015-02-25 16:02 ` Wolfram Sang
2015-02-25 16:02 ` [RFC V2 11/12] i2c: pmcmsp: " Wolfram Sang
2015-02-25 16:02 ` Wolfram Sang
2015-02-25 16:02 ` Wolfram Sang
2015-02-25 16:02 ` [RFC V2 12/12] i2c: bcm-iproc: " Wolfram Sang
2015-02-25 16:02 ` Wolfram Sang
2015-02-25 16:02 ` Wolfram Sang
2015-02-26 23:32 ` Ray Jui [this message]
2015-02-26 23:32 ` Ray Jui
2015-02-26 23:32 ` Ray Jui
2015-02-26 23:32 ` Ray Jui
2015-03-12 14:56 ` Wolfram Sang
2015-03-12 14:56 ` Wolfram Sang
2015-03-12 14:56 ` Wolfram Sang
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=54EFAD2A.9060501@broadcom.com \
--to=rjui@broadcom.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=benh@kernel.crashing.org \
--cc=eddie.huang@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=ludovic.desroches@atmel.com \
--cc=sbranden@broadcom.com \
--cc=wsa@the-dreams.de \
--cc=yingjoe.chen@mediatek.com \
/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.