All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] ASoC: rt1320: make SRAM registers readable to stop being cached
@ 2026-09-24  2:05 jack.yu
  2026-09-24 18:32 ` Mark Brown
  0 siblings, 1 reply; 2+ messages in thread
From: jack.yu @ 2026-09-24  2:05 UTC (permalink / raw)
  To: broonie, lgirdwood
  Cc: alsa-devel, lars, flove, oder_chiou, shumingf, derek.fang,
	Jack Yu

From: Jack Yu <jack.yu@realtek.com>

rt1320_volatile_register() marks the SRAM ranges 0x10000000-0x10008fff
and 0x1000c000-0x1000dfff as volatile, but regmap only honors that flag
for a readable register and these ranges were missing from
 rt1320_readable_register(). They were therefore cached at probe and
replayed over SoundWire on every runtime resume, delaying the
first PCM open after autosuspend by about a second.

Make the ranges readable so the volatile flag takes effect and the SRAM
is no longer cached. Exclude 0x1000d000-0x1000d7ff from both callbacks,
since rt1320_rae_load() deliberately caches that tuning-tool window.

Signed-off-by: Jack Yu <jack.yu@realtek.com>
---
 sound/soc/codecs/rt1320-sdw.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/sound/soc/codecs/rt1320-sdw.c b/sound/soc/codecs/rt1320-sdw.c
index b13622e54ae0..fa89db096651 100644
--- a/sound/soc/codecs/rt1320-sdw.c
+++ b/sound/soc/codecs/rt1320-sdw.c
@@ -890,8 +890,9 @@ static bool rt1320_readable_register(struct device *dev, unsigned int reg)
 	case 0xf01e:
 	case 0xf717 ... 0xf719:
 	case 0xf720 ... 0xf723:
-	case 0x1000cd91 ... 0x1000cd96:
-	case RT1321_PATCH_MAIN_VER ... RT1321_PATCH_BETA_VER:
+	case 0x10000000 ... 0x10008fff:
+	case 0x1000c000 ... 0x1000cfff:
+	case 0x1000d800 ... 0x1000dfff:
 	case 0x1000f008:
 	case 0x1000f021:
 	case 0x20003000 ... 0x2000300f:
@@ -996,7 +997,8 @@ static bool rt1320_volatile_register(struct device *dev, unsigned int reg)
 	case 0xf717 ... 0xf719:
 	case 0xf720 ... 0xf723:
 	case 0x10000000 ... 0x10008fff:
-	case 0x1000c000 ... 0x1000dfff:
+	case 0x1000c000 ... 0x1000cfff:
+	case 0x1000d800 ... 0x1000dfff:
 	case 0x1000f008:
 	case 0x1000f021:
 	case 0x2000300e ... 0x2000300f:
-- 
2.55.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-09-24 21:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-24  2:05 [PATCH v2] ASoC: rt1320: make SRAM registers readable to stop being cached jack.yu
2026-09-24 18:32 ` Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.