Skip to content
Unverified Commit 14732379 authored by Daniel Beer's avatar Daniel Beer Committed by Mark Brown
Browse files

ASoC: tas5805m: rework to avoid scheduling while atomic.



There's some setup we need to do in order to get the DSP initialized,
and this can't be done until a bit-clock is ready. In an earlier version
of this driver, this work was done in a DAPM callback.

The DAPM callback doesn't guarantee that the bit-clock is running, so
the work was moved instead to the trigger callback. Unfortunately this
callback runs in atomic context, and the setup code needs to do I2C
transactions.

Here we use a work_struct to kick off the setup in a thread instead.

Fixes: ec452684 ("ASoC: add support for TAS5805M digital amplifier")
Signed-off-by: default avatarDaniel Beer <daniel.beer@igorinstitute.com>
Link: https://lore.kernel.org/r/85d8ba405cb009a7a3249b556dc8f3bdb1754fdf.1675497326.git.daniel.beer@igorinstitute.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 2e7c6652
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment