]> www.infradead.org Git - users/jedix/linux-maple.git/commit
ALSA: hda: cs35l56: Perform firmware download in the background
authorSimon Trimmer <simont@opensource.cirrus.com>
Tue, 18 Jun 2024 13:00:11 +0000 (14:00 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 18 Jun 2024 14:26:55 +0000 (16:26 +0200)
commit634f3b4e7dde3827e3b81306416ec306b323e39b
tree29bc17c24f4a313b550d59677ad28469a6250e9c
parentf900a055f8e279a0f572f54f57b967a99aa7a465
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>
sound/pci/hda/cs35l56_hda.c
sound/pci/hda/cs35l56_hda.h