mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 15:22:21 -04:00
ASoC: tegra: Fix the MIXER enable default value
Commit4b05ccb17f("regcache: Sort the local copy of an unsorted reg_defaults array") exposed an issue in the Tegra MIXER driver where the register default for the TEGRA210_MIXER_ENABLE is specified as 1, but the hardware default is actually 0. After this commit was added the MIXER driver is no longer working and so fix this by correcting the default value for this register and explicitly configuring the MIXER_ENABLE register when runtime resuming the MIXER device. Fixes:05bb3d5ec6("ASoC: tegra: Add Tegra210 based Mixer driver") Cc: stable@vger.kernel.org Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Link: https://patch.msgid.link/20260821153734.158426-3-jonathanh@nvidia.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -57,7 +57,7 @@ static const struct reg_default tegra210_mixer_reg_defaults[] = {
|
||||
MIXER_TX_REG_DEFAULTS(3),
|
||||
MIXER_TX_REG_DEFAULTS(4),
|
||||
|
||||
{ TEGRA210_MIXER_ENABLE, 0x1 },
|
||||
{ TEGRA210_MIXER_ENABLE, 0x0 },
|
||||
{ TEGRA210_MIXER_CG, 0x00000001},
|
||||
{ TEGRA210_MIXER_GAIN_CFG_RAM_CTRL, 0x00004000},
|
||||
{ TEGRA210_MIXER_PEAKM_RAM_CTRL, 0x00004000},
|
||||
@@ -86,11 +86,15 @@ static int tegra210_mixer_runtime_suspend(struct device *dev)
|
||||
static int tegra210_mixer_runtime_resume(struct device *dev)
|
||||
{
|
||||
struct tegra210_mixer *mixer = dev_get_drvdata(dev);
|
||||
int err;
|
||||
|
||||
regcache_cache_only(mixer->regmap, false);
|
||||
regcache_sync(mixer->regmap);
|
||||
err = regcache_sync(mixer->regmap);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
return 0;
|
||||
return regmap_write(mixer->regmap, TEGRA210_MIXER_ENABLE,
|
||||
TEGRA210_MIXER_EN);
|
||||
}
|
||||
|
||||
static int tegra210_mixer_write_ram(struct tegra210_mixer *mixer,
|
||||
|
||||
Reference in New Issue
Block a user