Re: [PATCH v1 0/8] System Suspend fixes and improvements for CS35L41 HDA

From: Takashi Iwai
Date: Thu Oct 26 2023 - 12:03:19 EST


On Thu, 26 Oct 2023 17:05:50 +0200,
Stefan Binding wrote:
>
> There is a report of a single laptop which uses CS35L41 HDA having an
> issue with System Suspend. This particular laptop uses S3 (Deep) Sleep.
> The reported issue states that when the laptop resumes from a system
> suspend, audio no longer works.
>
> The root cause of this issue is due to the CS35L41 being returned to us
> in an unexpected state after a suspend/resume cycle.
> When the driver resumes, it expects the parts to have been reset, which
> leads to issues with audio and firmware loading.
>
> To prevent this issue, and the possibility of similar issues, patches
> 2-5 force the driver to reset during probe, system suspend, and system
> resume, which ensures that the part is always in the correct state.
> Patches 6-8 are improvements in the suspend and firmware loading code,
> which makes it easier to detect issues in the future, as well as
> simplifiying the suspend code.
>
> Patch 1 is a fix for an incorrect configuration for the HP Zbook Fury
> 17, which is the laptop which had the original issue.
>
> Stefan Binding (8):
> ALSA: hda: cs35l41: Use reset label to get GPIO for HP Zbook Fury 17
> G9
> ALSA: hda: cs35l41: Assert reset before system suspend
> ALSA: hda: cs35l41: Assert Reset prior to de-asserting in probe and
> system resume
> ALSA: hda: cs35l41: Run boot process during resume callbacks
> ALSA: hda: cs35l41: Force a software reset after hardware reset
> ALSA: hda: cs35l41: Do not unload firmware before reset in system
> suspend
> ALSA: hda: cs35l41: Check CSPL state after loading firmware
> ASoC: cs35l41: Detect CSPL errors when sending CSPL commands

Applied to for-next branch now. Thanks.


Takashi