diff options
author | Simon Trimmer <simont@opensource.cirrus.com> | 2024-06-18 14:00:11 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2024-06-18 16:26:55 +0200 |
commit | 634f3b4e7dde3827e3b81306416ec306b323e39b (patch) | |
tree | 29bc17c24f4a313b550d59677ad28469a6250e9c /sound/core/pcm_dmaengine.c | |
parent | f900a055f8e279a0f572f54f57b967a99aa7a465 (diff) | |
download | linux-634f3b4e7dde3827e3b81306416ec306b323e39b.tar.gz linux-634f3b4e7dde3827e3b81306416ec306b323e39b.tar.bz2 linux-634f3b4e7dde3827e3b81306416ec306b323e39b.zip |
ALSA: hda: cs35l56: Perform firmware download in the background
It is possible that during system boot when there multiple devices
attempting simultaneous initialization on a slow control bus the
download of firmware and tuning data may take a user perceivable amount
of time (a slow I2C bus with 4 amps this work could take over 2
seconds).
Adopt a pattern used in the ASoC driver and perform this activity in a
background thread so that interactive performance is not impaired. The
system_long_wq is a parallel workqueue and driver instances will perform
their firmware downloads in parallel to make best use of available bus
bandwidth.
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Link: https://lore.kernel.org/20240618130011.62860-1-simont@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/pcm_dmaengine.c')
0 files changed, 0 insertions, 0 deletions