On Fri, 21 Jul 2023 17:18:05 +0200, Stefan Binding wrote: > > There have been a couple of customer reports of intermittant issues after > system resume, where sometimes the DSP firmware stops responding. > Investigations into this issue show that there is a race between receiving > a prepare from the HDA core, and the firmware reload which is started by > the system resume. This can causes the Global Enable on the CS35L41 to be > enabled during the firmware load, which can sometimes cause issues in the > DSP. > > The existing system resume behaviour also did not resume the audio, if > audio was previously playing when it was suspended. > In addition, during investigation, it was found there were additional > problems in the System Resume sequence, as well as the Playback sequence > with External Boost, where the driver does not correctly follow its > enable sequence for this mode. This can cause additional issues such as > pops and clicks. > > This chain intends to correct the sequences for playback and system > suspend/resume so that the driver: obeys the external boost enable sequence; > resumes audio on system resume; and avoids the race condition on firmware > load and playback during system resume. > > Changes since v1: > - Split patch 1 into 2 separate patches > - Combine Patches 6 and 9 > > Stefan Binding (11): > ALSA: cs35l41: Use mbox command to enable speaker output for external > boost > ALSA: cs35l41: Poll for Power Up/Down rather than waiting a fixed > delay > ALSA: hda: cs35l41: Check mailbox status of pause command after > firmware load > ALSA: hda: cs35l41: Ensure we correctly re-sync regmap before system > suspending. > ALSA: hda: cs35l41: Ensure we pass up any errors during system > suspend. > ALSA: hda: cs35l41: Move Play and Pause into separate functions > ALSA: hda: hda_component: Add pre and post playback hooks to > hda_component > ALSA: hda: cs35l41: Use pre and post playback hooks > ALSA: hda: cs35l41: Rework System Suspend to ensure correct call > separation > ALSA: hda: cs35l41: Add device_link between HDA and cs35l41_hda > ALSA: hda: cs35l41: Ensure amp is only unmuted during playback Applied all patches now to for-next branch. thanks, Takashi