From ddbf36f10ee2bd4e595b343e4bfd59cc8c07350a Mon Sep 17 00:00:00 2001 From: Ketan Patil Date: Fri, 25 Jan 2019 09:56:46 +0530 Subject: [PATCH] nvidia: Clean up t210 MBIST WAR handling On k4.4 and earlier, t210 MBIST workaround was handled with notifier callbacks within the drivers. Remove all such calls to the functions slcg_register_notifier and slcg_unregister_notifier. Also remove the functions nvhost_pd_slcg_install_workaround and nvhost_pd_slcg_remove_workaround which ultimately call the slcg_register_notifier and slcg_unregister_notifier functions respectively. Bug 2485656 Change-Id: I6445e07e5d2a4aa6360fff0bbd32ceebbc0e62e4 Signed-off-by: Ketan Patil Reviewed-on: https://git-master.nvidia.com/r/2003556 Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-misra GVS: Gerrit_Virtual_Submit Reviewed-by: Bitan Biswas Reviewed-by: Sachin Nikam Reviewed-by: mobile promotions Tested-by: mobile promotions --- sound/soc/tegra-alt/tegra210_i2s_alt.c | 35 -------------------------- 1 file changed, 35 deletions(-) diff --git a/sound/soc/tegra-alt/tegra210_i2s_alt.c b/sound/soc/tegra-alt/tegra210_i2s_alt.c index a4747059..8b6df7c5 100644 --- a/sound/soc/tegra-alt/tegra210_i2s_alt.c +++ b/sound/soc/tegra-alt/tegra210_i2s_alt.c @@ -744,35 +744,6 @@ static int tegra210_i2s_codec_probe(struct snd_soc_codec *codec) return 0; } -static int _tegra210_i2s_slcg_notifier(struct notifier_block *nb, - unsigned long unused0, void *unused1) -{ - struct tegra210_i2s *i2s = container_of(nb, struct tegra210_i2s, - slgc_notifier); - unsigned int mask, val, i2s_ctrl; - - /* Save the I2S CTRL before implement MBIST WAR */ - regmap_read(i2s->regmap, TEGRA210_I2S_CTRL, &i2s_ctrl); - - mask = TEGRA210_I2S_CTRL_MASTER_EN_MASK; - val = TEGRA210_I2S_CTRL_MASTER_EN; - /* Set I2S controller in master mode */ - regmap_update_bits(i2s->regmap, TEGRA210_I2S_CTRL, mask, val); - /* Disable slcg, wait a while and re-enable it */ - regmap_write(i2s->regmap, TEGRA210_I2S_CG, 0); - regmap_read(i2s->regmap, TEGRA210_I2S_CG, &val); - - udelay(1); - - regmap_write(i2s->regmap, TEGRA210_I2S_CG, 1); - - /* Restore the I2S CTRL */ - regmap_write(i2s->regmap, TEGRA210_I2S_CTRL, i2s_ctrl); - - return NOTIFY_OK; -} - - static struct snd_soc_dai_ops tegra210_i2s_dai_ops = { .set_fmt = tegra210_i2s_set_fmt, .hw_params = tegra210_i2s_hw_params, @@ -1135,7 +1106,6 @@ static int tegra210_i2s_platform_probe(struct platform_device *pdev) void __iomem *regs; int ret = 0, count = 0, num_supplies; const char *supply; - int partition_id = 0; match = of_match_device(tegra210_i2s_of_match, &pdev->dev); if (!match) { @@ -1220,11 +1190,6 @@ static int tegra210_i2s_platform_probe(struct platform_device *pdev) goto err; } - i2s->slgc_notifier.notifier_call = _tegra210_i2s_slcg_notifier; - - if (i2s->soc_data->is_soc_t210) - slcg_register_notifier(partition_id, &i2s->slgc_notifier); - regcache_cache_only(i2s->regmap, true); if (of_property_read_u32(np, "nvidia,ahub-i2s-id",