All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V1] i2c: tegra: Fix Maximum transfer size
@ 2019-01-02 21:48 ` Sowjanya Komatineni
  0 siblings, 0 replies; 7+ messages in thread
From: Sowjanya Komatineni @ 2019-01-02 21:48 UTC (permalink / raw)
  To: thierry.reding, jonathanh, talho
  Cc: linux-tegra, linux-kernel, linux-i2c, Sowjanya Komatineni

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;
 };
 
 /**
@@ -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,
+	.max_read_len = 65536,
+	.max_write_len = 65536,
+};
+
 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);
 
-- 
2.7.4

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

* [PATCH V1] i2c: tegra: Fix Maximum transfer size
@ 2019-01-02 21:48 ` Sowjanya Komatineni
  0 siblings, 0 replies; 7+ messages in thread
From: Sowjanya Komatineni @ 2019-01-02 21:48 UTC (permalink / raw)
  To: thierry.reding, jonathanh, talho
  Cc: linux-tegra, linux-kernel, linux-i2c, Sowjanya Komatineni

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;
 };
 
 /**
@@ -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,
+	.max_read_len = 65536,
+	.max_write_len = 65536,
+};
+
 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);
 
-- 
2.7.4


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

* Re: [PATCH V1] i2c: tegra: Fix Maximum transfer size
  2019-01-02 21:48 ` Sowjanya Komatineni
  (?)
@ 2019-01-02 22:05 ` Peter Rosin
  2019-01-02 22:39   ` Sowjanya Komatineni
  -1 siblings, 1 reply; 7+ messages in thread
From: Peter Rosin @ 2019-01-02 22:05 UTC (permalink / raw)
  To: Sowjanya Komatineni, thierry.reding, jonathanh, talho
  Cc: linux-tegra, linux-kernel, linux-i2c

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


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

* RE: [PATCH V1] i2c: tegra: Fix Maximum transfer size
  2019-01-02 22:05 ` Peter Rosin
@ 2019-01-02 22:39   ` Sowjanya Komatineni
  2019-01-02 23:02     ` Peter Rosin
  0 siblings, 1 reply; 7+ messages in thread
From: Sowjanya Komatineni @ 2019-01-02 22:39 UTC (permalink / raw)
  To: Peter Rosin, thierry.reding, Jonathan Hunter, Timo Alho
  Cc: linux-tegra, linux-kernel, linux-i2c

Thanks Peter.

>> 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?
>
Yes, corrected in V2.
>>  };
>>  
>>  /**
>> @@ -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?
Flag of NO_ZERO_LEN is present in tegra_i2c_quirks as well. I have added separate quirk with same flag and payload change for Tegra194
>> +	.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.
Yes, corrected in V2.
>
>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);
>>  
>> 

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

* Re: [PATCH V1] i2c: tegra: Fix Maximum transfer size
  2019-01-02 22:39   ` Sowjanya Komatineni
@ 2019-01-02 23:02     ` Peter Rosin
  0 siblings, 0 replies; 7+ messages in thread
From: Peter Rosin @ 2019-01-02 23:02 UTC (permalink / raw)
  To: Sowjanya Komatineni, thierry.reding, Jonathan Hunter, Timo Alho
  Cc: linux-tegra, linux-kernel, linux-i2c

On 2019-01-02 23:39, Sowjanya Komatineni wrote:
>>> +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?
> Flag of NO_ZERO_LEN is present in tegra_i2c_quirks as well. I have added separate quirk with same flag and payload change for Tegra194

*blush*

I was comparing with old sources. Sorry!

Cheers,
Peter

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

* Re: [PATCH V1] i2c: tegra: Fix Maximum transfer size
  2019-01-02 21:48 ` Sowjanya Komatineni
@ 2019-01-03  4:47   ` kbuild test robot
  -1 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2019-01-03  4:47 UTC (permalink / raw)
  Cc: kbuild-all, thierry.reding, jonathanh, talho, linux-tegra,
	linux-kernel, linux-i2c, Sowjanya Komatineni

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

Hi Sowjanya,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tegra/for-next]
[also build test WARNING on v4.20 next-20190102]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Sowjanya-Komatineni/i2c-tegra-Fix-Maximum-transfer-size/20190103-082727
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=arm 

All warnings (new ones prefixed by >>):

>> drivers/i2c/busses/i2c-tegra.c:839:18: warning: large integer implicitly truncated to unsigned type [-Woverflow]
     .max_read_len = 65536,
                     ^~~~~
   drivers/i2c/busses/i2c-tegra.c:840:19: warning: large integer implicitly truncated to unsigned type [-Woverflow]
     .max_write_len = 65536,
                      ^~~~~
>> drivers/i2c/busses/i2c-tegra.c:854:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:868:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:882:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:896:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:910:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:924:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra194_i2c_quirks,
               ^

vim +839 drivers/i2c/busses/i2c-tegra.c

   836	
   837	static const struct i2c_adapter_quirks tegra194_i2c_quirks = {
   838		.flags = I2C_AQ_NO_ZERO_LEN,
 > 839		.max_read_len = 65536,
   840		.max_write_len = 65536,
   841	};
   842	
   843	static const struct tegra_i2c_hw_feature tegra20_i2c_hw = {
   844		.has_continue_xfer_support = false,
   845		.has_per_pkt_xfer_complete_irq = false,
   846		.has_single_clk_source = false,
   847		.clk_divisor_hs_mode = 3,
   848		.clk_divisor_std_fast_mode = 0,
   849		.clk_divisor_fast_plus_mode = 0,
   850		.has_config_load_reg = false,
   851		.has_multi_master_mode = false,
   852		.has_slcg_override_reg = false,
   853		.has_mst_fifo = false,
 > 854		.quirks = &tegra_i2c_quirks,
   855	};
   856	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 67719 bytes --]

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

* Re: [PATCH V1] i2c: tegra: Fix Maximum transfer size
@ 2019-01-03  4:47   ` kbuild test robot
  0 siblings, 0 replies; 7+ messages in thread
From: kbuild test robot @ 2019-01-03  4:47 UTC (permalink / raw)
  To: Sowjanya Komatineni
  Cc: kbuild-all, thierry.reding, jonathanh, talho, linux-tegra,
	linux-kernel, linux-i2c, Sowjanya Komatineni

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

Hi Sowjanya,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tegra/for-next]
[also build test WARNING on v4.20 next-20190102]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Sowjanya-Komatineni/i2c-tegra-Fix-Maximum-transfer-size/20190103-082727
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux.git for-next
config: arm-allmodconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=arm 

All warnings (new ones prefixed by >>):

>> drivers/i2c/busses/i2c-tegra.c:839:18: warning: large integer implicitly truncated to unsigned type [-Woverflow]
     .max_read_len = 65536,
                     ^~~~~
   drivers/i2c/busses/i2c-tegra.c:840:19: warning: large integer implicitly truncated to unsigned type [-Woverflow]
     .max_write_len = 65536,
                      ^~~~~
>> drivers/i2c/busses/i2c-tegra.c:854:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:868:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:882:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:896:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:910:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra_i2c_quirks,
               ^
   drivers/i2c/busses/i2c-tegra.c:924:12: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     .quirks = &tegra194_i2c_quirks,
               ^

vim +839 drivers/i2c/busses/i2c-tegra.c

   836	
   837	static const struct i2c_adapter_quirks tegra194_i2c_quirks = {
   838		.flags = I2C_AQ_NO_ZERO_LEN,
 > 839		.max_read_len = 65536,
   840		.max_write_len = 65536,
   841	};
   842	
   843	static const struct tegra_i2c_hw_feature tegra20_i2c_hw = {
   844		.has_continue_xfer_support = false,
   845		.has_per_pkt_xfer_complete_irq = false,
   846		.has_single_clk_source = false,
   847		.clk_divisor_hs_mode = 3,
   848		.clk_divisor_std_fast_mode = 0,
   849		.clk_divisor_fast_plus_mode = 0,
   850		.has_config_load_reg = false,
   851		.has_multi_master_mode = false,
   852		.has_slcg_override_reg = false,
   853		.has_mst_fifo = false,
 > 854		.quirks = &tegra_i2c_quirks,
   855	};
   856	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 67719 bytes --]

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

end of thread, other threads:[~2019-01-03  4:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
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

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.