From: Richard Fitzgerald <rf@opensource.cirrus.com>
To: <broonie@kernel.org>, <tiwai@suse.com>
Cc: <linux-sound@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<patches@opensource.cirrus.com>
Subject: [PATCH 0/2] ALSA: cs35l56: Fix for races when soft-resetting on SPI
Date: Tue, 25 Feb 2025 13:18:41 +0000 [thread overview]
Message-ID: <20250225131843.113752-1-rf@opensource.cirrus.com> (raw)
These two patches fix a race condition between driver and amp when issuing
a soft-reset over SPI. The main problem with the race is that the driver
could read the amp status as fully booted, when in fact the amp is about
to reset or is in the process of resetting.
This is mainly contained within the ASoC driver code but a small change is
needed to the HDA driver.
The first patch, to cs_dsp, is to remove async regmap writes so that the
cs35l56 driver can call spi_bus_lock() without breaking firmware download to
other amps on the same SPI bus.
Richard Fitzgerald (2):
firmware: cs_dsp: Remove async regmap writes
ASoC: cs35l56: Prevent races when soft-resetting using SPI control
drivers/firmware/cirrus/cs_dsp.c | 24 +++-------
include/sound/cs35l56.h | 31 ++++++++++++
sound/pci/hda/cs35l56_hda_spi.c | 3 ++
sound/soc/codecs/cs35l56-shared.c | 80 +++++++++++++++++++++++++++++++
sound/soc/codecs/cs35l56-spi.c | 3 ++
5 files changed, 123 insertions(+), 18 deletions(-)
--
2.39.5
next reply other threads:[~2025-02-25 13:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-25 13:18 Richard Fitzgerald [this message]
2025-02-25 13:18 ` [PATCH 1/2] firmware: cs_dsp: Remove async regmap writes Richard Fitzgerald
2025-02-25 15:15 ` Mark Brown
2025-02-25 16:22 ` Richard Fitzgerald
2025-02-25 16:37 ` Mark Brown
2025-02-25 13:18 ` [PATCH 2/2] ASoC: cs35l56: Prevent races when soft-resetting using SPI control Richard Fitzgerald
2025-02-25 17:04 ` [PATCH 0/2] ALSA: cs35l56: Fix for races when soft-resetting on SPI Mark Brown
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=20250225131843.113752-1-rf@opensource.cirrus.com \
--to=rf@opensource.cirrus.com \
--cc=broonie@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox