[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250225131843.113752-1-rf@opensource.cirrus.com>
Date: Tue, 25 Feb 2025 13:18:41 +0000
From: Richard Fitzgerald <rf@...nsource.cirrus.com>
To: <broonie@...nel.org>, <tiwai@...e.com>
CC: <linux-sound@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<patches@...nsource.cirrus.com>
Subject: [PATCH 0/2] ALSA: cs35l56: Fix for races when soft-resetting on SPI
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
Powered by blists - more mailing lists