1. 20 Apr, 2023 7 commits
  2. 19 Apr, 2023 2 commits
  3. 18 Apr, 2023 12 commits
  4. 17 Apr, 2023 13 commits
  5. 14 Apr, 2023 2 commits
  6. 13 Apr, 2023 2 commits
  7. 12 Apr, 2023 2 commits
    • Mark Brown's avatar
      ASoC: cs35l56: Add system suspend handling · 27ff688a
      Mark Brown authored
      Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:
      
      This set of patches adds handling for system suspend.
      Patches 1..4 make some code changes that simplify the
      suspend implementation, mainly to avoid race conditions.
      
      There are two seperate aspects to suspend, and these have
      been done as two patches:
      - the main suspend-resume handling,
      - re-loading the firmware if necessary after resume.
      27ff688a
    • Richard Fitzgerald's avatar
      ASoC: cs35l56: Re-patch firmware after system suspend · 59322d35
      Richard Fitzgerald authored
      Check during cs35l56_system_resume() whether the firmware patch must
      be applied again.
      
      The FIRMWARE_MISSING flag in the PROTECTION_STATUS register indicates
      whether the firmware has been patched.
      
      In non-secure mode the FIRMWARE_MISSING flag is cleared at the end of
      dsp_work(). If it is set after system-resume we know that dsp_work()
      must be run again.
      
      In secure mode the pre-OS loader will have done the secure patching
      and cleared the FIRMWARE_MISSING flag. So this flag does not tell us
      whether firmware memory was lost. But the driver could only be
      downloading non-secure tunings, which is always safe to do.
      
      If the driver has control of RESET we will have asserted it during
      suspend so the firmware patch will have been lost. The driver would only
      have control of RESET in non-secure mode.
      Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
      Link: https://lore.kernel.org/r/168122674550.26.8545058503709956172@mailman-core.alsa-project.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      59322d35