mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
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 <ketanp@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/2003556 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: svc-mobile-misra <svc-mobile-misra@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Sameer Pujar
parent
5936a0e40d
commit
ddbf36f10e
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user