]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
ALSA: hda: cs35l41: Use pre and post playback hooks
authorStefan Binding <sbinding@opensource.cirrus.com>
Tue, 1 Aug 2023 08:36:00 +0000 (10:36 +0200)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 9 Aug 2023 10:02:11 +0000 (12:02 +0200)
commitc6b3cd384219395189151ac6f16fe21b27eb1702
treed092d76e7d2d73096b7f1b62f84191610dfcc8de
parenta3bb17aa68e700bc06f2297f41eeb8e4ff248645
ALSA: hda: cs35l41: Use pre and post playback hooks

BugLink: https://bugs.launchpad.net/bugs/2029199
Use new hooks to ensure separation between play/pause actions,
as required by external boost.

External Boost on CS35L41 requires the amp to go through a
particular sequence of steps. One of these steps involes
the setting of a GPIO. This GPIO is connected to one or
more of the amps, and it may control the boost for all of
the amps. To ensure that the GPIO is set when it is safe
to do so, and to ensure that boost is ready for the rest of
the sequence to be able to continue, we must ensure that
the each part of the sequence is executed for each amp
before moving on to the next part of the sequence.

Some of the Play and Pause actions have moved from Open to
Prepare. This is because Open is not guaranteed to be called
again on system resume, whereas Prepare should.

Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20230721151816.2080453-9-sbinding@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
(cherry picked from commit 01ecc562936439cf6dd08b5f8c6bbed2704d9f9e linux-next)
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
sound/pci/hda/cs35l41_hda.c