From: Richard Fitzgerald <rf@opensource.cirrus.com>
To: <tiwai@suse.com>
Cc: <perex@perex.cz>, <alsa-devel@alsa-project.org>,
<linux-kernel@vger.kernel.org>, <patches@opensource.cirrus.com>,
Richard Fitzgerald <rf@opensource.cirrus.com>
Subject: [PATCH 2/9] ALSA: hda/cs35l56: Do not mark cache dirty after REINIT
Date: Mon, 31 Jul 2023 17:57:19 +0100 [thread overview]
Message-ID: <20230731165726.7940-3-rf@opensource.cirrus.com> (raw)
In-Reply-To: <20230731165726.7940-1-rf@opensource.cirrus.com>
Only call regcache_mark_dirty() in cs35l56_hda_fw_load() if
the CS35L56 was SYSTEM_RESET.
recache_mark_dirty() changes the behaviour of regcache_sync()
to write out cache values that are not the default value, and
skip cache values that are the default.
AUDIO_REINIT does not reset the registers. regcache_mark_dirty()
after AUDIO_REINIT could cause the regcache_sync() to sync
registers incorrectly because it will assume that all registers
have reset to default.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
---
sound/pci/hda/cs35l56_hda.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/pci/hda/cs35l56_hda.c b/sound/pci/hda/cs35l56_hda.c
index c3acda2daeeb..fda716e0db09 100644
--- a/sound/pci/hda/cs35l56_hda.c
+++ b/sound/pci/hda/cs35l56_hda.c
@@ -569,6 +569,7 @@ static int cs35l56_hda_fw_load(struct cs35l56_hda *cs35l56)
} else {
/* Reset the device and wait for it to boot */
cs35l56_system_reset(&cs35l56->base, false);
+ regcache_mark_dirty(cs35l56->base.regmap);
ret = cs35l56_wait_for_firmware_boot(&cs35l56->base);
if (ret)
goto err;
@@ -579,7 +580,6 @@ static int cs35l56_hda_fw_load(struct cs35l56_hda *cs35l56)
if (ret)
goto err;
- regcache_mark_dirty(cs35l56->base.regmap);
regcache_sync(cs35l56->base.regmap);
regmap_clear_bits(cs35l56->base.regmap, CS35L56_PROTECTION_STATUS,
--
2.30.2
next prev parent reply other threads:[~2023-07-31 17:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-31 16:57 [PATCH 0/9] ALSA: hda/cs35l56: Various bugfixes Richard Fitzgerald
2023-07-31 16:57 ` [PATCH 1/9] ALSA: hda/cs35l56: Complete firmware reboot before calling cs_dsp_run() Richard Fitzgerald
2023-07-31 16:57 ` Richard Fitzgerald [this message]
2023-07-31 16:57 ` [PATCH 3/9] ALSA: hda/cs35l56: Call cs_dsp_power_down() before reloading firmware Richard Fitzgerald
2023-07-31 16:57 ` [PATCH 4/9] ALSA: hda/cs35l56: Always power-up and start cs_dsp Richard Fitzgerald
2023-07-31 16:57 ` [PATCH 5/9] ALSA: hda/cs35l56: Call cs_dsp_power_down() before calling cs_dsp_remove() Richard Fitzgerald
2023-07-31 16:57 ` [PATCH 6/9] ALSA: hda/cs35l56: cs_dsp_power_down() on cs35l56_hda_fw_load() error path Richard Fitzgerald
2023-07-31 16:57 ` [PATCH 7/9] ALSA: hda/cs35l56: Do not download firmware over existing RAM firmware Richard Fitzgerald
2023-07-31 16:57 ` [PATCH 8/9] ALSA: hda/cs35l56: Fail if .bin not found and firmware not patched Richard Fitzgerald
2023-07-31 16:57 ` [PATCH 9/9] ALSA: hda/cs35l56: Reject I2C alias addresses Richard Fitzgerald
2023-08-01 6:30 ` [PATCH 0/9] ALSA: hda/cs35l56: Various bugfixes Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230731165726.7940-3-rf@opensource.cirrus.com \
--to=rf@opensource.cirrus.com \
--cc=alsa-devel@alsa-project.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=perex@perex.cz \
--cc=tiwai@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.