All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Rosin <peda@axentia.se>
To: Sowjanya Komatineni <skomatineni@nvidia.com>,
	"thierry.reding@gmail.com" <thierry.reding@gmail.com>,
	"jonathanh@nvidia.com" <jonathanh@nvidia.com>,
	"talho@nvidia.com" <talho@nvidia.com>
Cc: "linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-i2c@vger.kernel.org" <linux-i2c@vger.kernel.org>
Subject: Re: [PATCH V1] i2c: tegra: Fix Maximum transfer size
Date: Wed, 2 Jan 2019 22:05:10 +0000	[thread overview]
Message-ID: <e0f6cea5-cd18-1ed1-f8ee-aa9c58198df2@axentia.se> (raw)
In-Reply-To: <1546465721-12108-1-git-send-email-skomatineni@nvidia.com>

On 2019-01-02 22:48, Sowjanya Komatineni wrote:
> Tegra194 supports maximum 64K Bytes transfer per packet.
> Tegra186 and prior supports maximum 4K Bytes transfer per packet.
> 
> This patch fixes this payload difference between Tegra194 and prior
> tegra chipsets.
> 
> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
> ---
>  drivers/i2c/busses/i2c-tegra.c | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
> index 437294ea2f0a..0c08ed8b6c94 100644
> --- a/drivers/i2c/busses/i2c-tegra.c
> +++ b/drivers/i2c/busses/i2c-tegra.c
> @@ -167,6 +167,7 @@ struct tegra_i2c_hw_feature {
>  	bool has_multi_master_mode;
>  	bool has_slcg_override_reg;
>  	bool has_mst_fifo;
> +	struct i2c_adapter_quirks *quirks;

This could perhaps be a pointer to const?

>  };
>  
>  /**
> @@ -833,6 +834,12 @@ static const struct i2c_adapter_quirks tegra_i2c_quirks = {
>  	.max_write_len = 4096,
>  };
>  
> +static const struct i2c_adapter_quirks tegra194_i2c_quirks = {
> +	.flags = I2C_AQ_NO_ZERO_LEN,

This is not mentioned in the commit message and the flag is not present in
the old struct tegra_i2c_quirks above. Are you trying to sneak changes past
the maintainers, or was the change simply not intentional?

> +	.max_read_len = 65536,
> +	.max_write_len = 65536,

Those are highly dubious when .max_read_len and .max_write_len are of type
u16. I bet you could just remove them.

Cheers,
Peter

> +};
> +
>  static const struct tegra_i2c_hw_feature tegra20_i2c_hw = {
>  	.has_continue_xfer_support = false,
>  	.has_per_pkt_xfer_complete_irq = false,
> @@ -844,6 +851,7 @@ static const struct tegra_i2c_hw_feature tegra20_i2c_hw = {
>  	.has_multi_master_mode = false,
>  	.has_slcg_override_reg = false,
>  	.has_mst_fifo = false,
> +	.quirks = &tegra_i2c_quirks,
>  };
>  
>  static const struct tegra_i2c_hw_feature tegra30_i2c_hw = {
> @@ -857,6 +865,7 @@ static const struct tegra_i2c_hw_feature tegra30_i2c_hw = {
>  	.has_multi_master_mode = false,
>  	.has_slcg_override_reg = false,
>  	.has_mst_fifo = false,
> +	.quirks = &tegra_i2c_quirks,
>  };
>  
>  static const struct tegra_i2c_hw_feature tegra114_i2c_hw = {
> @@ -870,6 +879,7 @@ static const struct tegra_i2c_hw_feature tegra114_i2c_hw = {
>  	.has_multi_master_mode = false,
>  	.has_slcg_override_reg = false,
>  	.has_mst_fifo = false,
> +	.quirks = &tegra_i2c_quirks,
>  };
>  
>  static const struct tegra_i2c_hw_feature tegra124_i2c_hw = {
> @@ -883,6 +893,7 @@ static const struct tegra_i2c_hw_feature tegra124_i2c_hw = {
>  	.has_multi_master_mode = false,
>  	.has_slcg_override_reg = true,
>  	.has_mst_fifo = false,
> +	.quirks = &tegra_i2c_quirks,
>  };
>  
>  static const struct tegra_i2c_hw_feature tegra210_i2c_hw = {
> @@ -896,6 +907,7 @@ static const struct tegra_i2c_hw_feature tegra210_i2c_hw = {
>  	.has_multi_master_mode = true,
>  	.has_slcg_override_reg = true,
>  	.has_mst_fifo = false,
> +	.quirks = &tegra_i2c_quirks,
>  };
>  
>  static const struct tegra_i2c_hw_feature tegra194_i2c_hw = {
> @@ -909,6 +921,7 @@ static const struct tegra_i2c_hw_feature tegra194_i2c_hw = {
>  	.has_multi_master_mode = true,
>  	.has_slcg_override_reg = true,
>  	.has_mst_fifo = true,
> +	.quirks = &tegra194_i2c_quirks,
>  };
>  
>  /* Match table for of_platform binding */
> @@ -960,7 +973,6 @@ static int tegra_i2c_probe(struct platform_device *pdev)
>  	i2c_dev->base = base;
>  	i2c_dev->div_clk = div_clk;
>  	i2c_dev->adapter.algo = &tegra_i2c_algo;
> -	i2c_dev->adapter.quirks = &tegra_i2c_quirks;
>  	i2c_dev->irq = irq;
>  	i2c_dev->cont_id = pdev->id;
>  	i2c_dev->dev = &pdev->dev;
> @@ -976,6 +988,8 @@ static int tegra_i2c_probe(struct platform_device *pdev)
>  	i2c_dev->hw = of_device_get_match_data(&pdev->dev);
>  	i2c_dev->is_dvc = of_device_is_compatible(pdev->dev.of_node,
>  						  "nvidia,tegra20-i2c-dvc");
> +	i2c_dev->adapter.quirks = i2c_dev->hw->quirks;
> +
>  	init_completion(&i2c_dev->msg_complete);
>  	spin_lock_init(&i2c_dev->xfer_lock);
>  
> 


  reply	other threads:[~2019-01-02 22:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-02 21:48 [PATCH V1] i2c: tegra: Fix Maximum transfer size Sowjanya Komatineni
2019-01-02 21:48 ` Sowjanya Komatineni
2019-01-02 22:05 ` Peter Rosin [this message]
2019-01-02 22:39   ` Sowjanya Komatineni
2019-01-02 23:02     ` Peter Rosin
2019-01-03  4:47 ` kbuild test robot
2019-01-03  4:47   ` kbuild test robot

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=e0f6cea5-cd18-1ed1-f8ee-aa9c58198df2@axentia.se \
    --to=peda@axentia.se \
    --cc=jonathanh@nvidia.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=skomatineni@nvidia.com \
    --cc=talho@nvidia.com \
    --cc=thierry.reding@gmail.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.