mirror of
https://github.com/torvalds/linux.git
synced 2026-10-12 13:27:02 +02:00
ASoC: tegra210_i2s: sort the register default table
reg_defaults must be sorted by ascending register address, as regcache_lookup_reg() locates entries in it with bsearch(). See commitfd80df352b("regcache: Add support for sorting defaults arrays"). TEGRA210_I2S_ENABLE (0x80) is listed after TEGRA210_I2S_CG (0x88) and TEGRA210_I2S_TIMING (0xa4), so both it and TEGRA210_I2S_TIMING are unreachable. regcache_reg_needs_sync() then cannot compare them against their default and reports that a sync is needed, so they are written to the device on every regcache_sync() even when they were never touched. Sort the table by register address. Fixes:c0bfa98349("ASoC: tegra: Add Tegra210 based I2S driver") Cc: stable@vger.kernel.org Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://patch.msgid.link/20260805122748.13090-2-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
1a08e82ef6
commit
597273563d
|
|
@ -23,9 +23,9 @@ static const struct reg_default tegra210_i2s_reg_defaults[] = {
|
|||
{ TEGRA210_I2S_RX_CIF_CTRL, 0x00007700 },
|
||||
{ TEGRA210_I2S_TX_INT_MASK, 0x00000003 },
|
||||
{ TEGRA210_I2S_TX_CIF_CTRL, 0x00007700 },
|
||||
{ TEGRA210_I2S_ENABLE, 0x1 },
|
||||
{ TEGRA210_I2S_CG, 0x1 },
|
||||
{ TEGRA210_I2S_TIMING, 0x0000001f },
|
||||
{ TEGRA210_I2S_ENABLE, 0x1 },
|
||||
/*
|
||||
* Below update does not have any effect on Tegra186 and Tegra194.
|
||||
* On Tegra210, I2S4 has "i2s4a" and "i2s4b" pins and below update
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user