FAILED: patch "[PATCH] ASoC: tegra: Fix the MIXER enable default value" failed to apply to 6.12-stable tree
Subsystems (4)
[email protected]
maintainerThe patch below does not apply to the 6.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.12.y
git checkout FETCH_HEAD
git cherry-pick -x 5442b8093a2f94ecd4696b3875194be09e2676c5
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026090906-choice-delicate-818c@gregkh' --subject-prefix 'PATCH 6.12.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 5442b8093a2f94ecd4696b3875194be09e2676c5 Mon Sep 17 00:00:00 2001
From: Jon Hunter <[email protected]>
Date: Fri, 21 Aug 2026 16:37:32 +0100
Subject: [PATCH] ASoC: tegra: Fix the MIXER enable default value
Commit 4b05ccb17f92 ("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.
sound/soc/tegra/tegra210_mixer.c +7 -3
@@ -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,
Sasha Levin
maintainerPATCH 1/2 ASoC: tegra210_mixer: sort the register default table
From: Peter Ujfalusi <[email protected]>
[ Upstream commit f70bc276fc7f712ff5c8e995d5050558a3198df2 ]
reg_defaults must be sorted by ascending register address, as regcache_lookup_reg() locates entries in it with bsearch(). See commit fd80df352ba1 ("regcache: Add support for sorting defaults arrays").
TEGRA210_MIXER_ENABLE (0x400) is the last entry of the table, after TEGRA210_MIXER_PEAKM_RAM_CTRL (0x434), which makes it unreachable. regcache_reg_needs_sync() then cannot compare it against its default and reports that a sync is needed, so it is written to the device on every regcache_sync() even when it was never touched.
Sort the table by register address.
Stable-dep-of: 5442b8093a2f ("ASoC: tegra: Fix the MIXER enable default value")
--- sound/soc/tegra/tegra210_mixer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
sound/soc/tegra/tegra210_mixer.c +1 -1
@@ -57,10 +57,10 @@ 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_CG, 0x00000001}, { TEGRA210_MIXER_GAIN_CFG_RAM_CTRL, 0x00004000}, { TEGRA210_MIXER_PEAKM_RAM_CTRL, 0x00004000}, - { TEGRA210_MIXER_ENABLE, 0x1 }, };/* Default gain parameters */
Signature · 1 line
2.53.0
Sasha Levin
maintainerPATCH 2/2 ASoC: tegra: Fix the MIXER enable default value
From: Jon Hunter <[email protected]>
[ Upstream commit 5442b8093a2f94ecd4696b3875194be09e2676c5 ]
Commit 4b05ccb17f92 ("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.
--- sound/soc/tegra/tegra210_mixer.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
sound/soc/tegra/tegra210_mixer.c +7 -3
@@ -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 __maybe_unused tegra210_mixer_runtime_suspend(struct device *dev)static int __maybe_unused 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,
Signature · 1 line
2.53.0