Tegra186 does not have master fifo control register and instead
uses fifo control register like prior tegra chipset.
This patch fixes this and prevents crashing during boot when
accessing fifo control registers.
Signed-off-by: Sowjanya Komatineni <[email protected]>
---
drivers/i2c/busses/i2c-tegra.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index a4cd79c9f7a7..e6851904acc1 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -1436,7 +1436,7 @@ static const struct tegra_i2c_hw_feature tegra186_i2c_hw = {
.has_config_load_reg = true,
.has_multi_master_mode = true,
.has_slcg_override_reg = true,
- .has_mst_fifo = true,
+ .has_mst_fifo = false,
.quirks = &tegra_i2c_quirks,
.supports_bus_clear = true,
.has_apb_dma = false,
--
2.7.4
multi-master support is defeatured on Tegra210 and Tegra186 due to
known bugs.
This patch removes multi-master support for Tegra210 and Tegra186
i2c hw feature.
Signed-off-by: Sowjanya Komatineni <[email protected]>
---
drivers/i2c/busses/i2c-tegra.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index e6851904acc1..26f686bc3491 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -1409,7 +1409,7 @@ static const struct tegra_i2c_hw_feature tegra210_i2c_hw = {
.clk_divisor_fast_mode = 0x19,
.clk_divisor_fast_plus_mode = 0x10,
.has_config_load_reg = true,
- .has_multi_master_mode = true,
+ .has_multi_master_mode = false,
.has_slcg_override_reg = true,
.has_mst_fifo = false,
.quirks = &tegra_i2c_quirks,
@@ -1434,7 +1434,7 @@ static const struct tegra_i2c_hw_feature tegra186_i2c_hw = {
.clk_divisor_fast_mode = 0x19,
.clk_divisor_fast_plus_mode = 0x10,
.has_config_load_reg = true,
- .has_multi_master_mode = true,
+ .has_multi_master_mode = false,
.has_slcg_override_reg = true,
.has_mst_fifo = false,
.quirks = &tegra_i2c_quirks,
--
2.7.4
On Mon, Feb 18, 2019 at 08:50:24PM -0800, Sowjanya Komatineni wrote:
> Tegra186 does not have master fifo control register and instead
> uses fifo control register like prior tegra chipset.
>
> This patch fixes this and prevents crashing during boot when
> accessing fifo control registers.
>
> Signed-off-by: Sowjanya Komatineni <[email protected]>
> ---
> drivers/i2c/busses/i2c-tegra.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Nit: fifo -> FIFO, tegra -> Tegra, but other than that:
Acked-by: Thierry Reding <[email protected]>
A quick note on why I'm pointing out these capitalization issues so
pedantically: specifically in the "tegra" case, it's difficult to grep
for it because it matches things like "integration", which is a
surprisingly common word in the kernel. Spelling it "Tegra" consistently
make it easier to grep for Tegra related bits specifically.
Thierry
> diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
> index a4cd79c9f7a7..e6851904acc1 100644
> --- a/drivers/i2c/busses/i2c-tegra.c
> +++ b/drivers/i2c/busses/i2c-tegra.c
> @@ -1436,7 +1436,7 @@ static const struct tegra_i2c_hw_feature tegra186_i2c_hw = {
> .has_config_load_reg = true,
> .has_multi_master_mode = true,
> .has_slcg_override_reg = true,
> - .has_mst_fifo = true,
> + .has_mst_fifo = false,
> .quirks = &tegra_i2c_quirks,
> .supports_bus_clear = true,
> .has_apb_dma = false,
> --
> 2.7.4
>
On Mon, Feb 18, 2019 at 08:50:25PM -0800, Sowjanya Komatineni wrote:
> multi-master support is defeatured on Tegra210 and Tegra186 due to
> known bugs.
Nit: "Multi-master" because it's the beginning of a sentence.
>
> This patch removes multi-master support for Tegra210 and Tegra186
> i2c hw feature.
Nit: i2c -> I2C, hw -> HW
Acked-by: Thierry Reding <[email protected]>
>
> Signed-off-by: Sowjanya Komatineni <[email protected]>
> ---
> drivers/i2c/busses/i2c-tegra.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
> index e6851904acc1..26f686bc3491 100644
> --- a/drivers/i2c/busses/i2c-tegra.c
> +++ b/drivers/i2c/busses/i2c-tegra.c
> @@ -1409,7 +1409,7 @@ static const struct tegra_i2c_hw_feature tegra210_i2c_hw = {
> .clk_divisor_fast_mode = 0x19,
> .clk_divisor_fast_plus_mode = 0x10,
> .has_config_load_reg = true,
> - .has_multi_master_mode = true,
> + .has_multi_master_mode = false,
> .has_slcg_override_reg = true,
> .has_mst_fifo = false,
> .quirks = &tegra_i2c_quirks,
> @@ -1434,7 +1434,7 @@ static const struct tegra_i2c_hw_feature tegra186_i2c_hw = {
> .clk_divisor_fast_mode = 0x19,
> .clk_divisor_fast_plus_mode = 0x10,
> .has_config_load_reg = true,
> - .has_multi_master_mode = true,
> + .has_multi_master_mode = false,
> .has_slcg_override_reg = true,
> .has_mst_fifo = false,
> .quirks = &tegra_i2c_quirks,
> --
> 2.7.4
>