1. 09 Nov, 2022 9 commits
  2. 04 Nov, 2022 1 commit
  3. 03 Nov, 2022 8 commits
  4. 02 Nov, 2022 2 commits
  5. 01 Nov, 2022 5 commits
  6. 31 Oct, 2022 11 commits
  7. 28 Oct, 2022 4 commits
    • Mark Brown's avatar
      ASoC: qdsp6: audioreach: add multi-port, SAL and MFC support · cf4484a0
      Mark Brown authored
      Merge series from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>:
      
      This patchset adds support to multi-port connections between AudioReach Modules
      which is required for sophisticated graphs like ECNS or Speaker Protection.
      Also as part of ECNS testing new module support for SAL and MFC are added.
      
      Tested on SM8450 with ECNS.
      cf4484a0
    • Mark Brown's avatar
      ASoC: SOF: Intel: HDA: refactor codec and multi-link suport · ad850421
      Mark Brown authored
      Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
      
      Existing HDaudio controllers expose an HDAudio DMA which is used to
      interface with HDaudio codecs. All other interfaces supported by Intel
      (SoundWire, SSP, DMIC) rely for data transfers on another GP-DMA
      managed by the DSP firmware - the HDaudio DMA is only used for
      memory-to-DSP transfers.
      
      New HDaudio extensions will enable the use of this HDaudio DMA for all
      of SoundWire, SSP, DMIC. These extensions will be backwards-compatible
      for HDaudio and iDISP codecs, but will require new programming
      sequences and DAI callbacks for SoundWire, SSP and DMIC.
      
      Before we add support for 'extended audio links' and the programming
      sequences for the DMA, we need to refactor the code. All HDaudio codec
      support needs to be well identified in a separate file, and likewise
      all the 'multi-link' handling needs to be better split.
      
      This patchset removes a number of 'old' Kconfig dependencies and
      options, adds helpers with a fallback to remove IS_ENABLED checks in
      the code and tries to simplify programming sequences when possible.
      
      One indirect benefit from this refactoring is that developers can
      switch with a kernel parameter from HDaudio support to a variant of
      'nocodec' support. This proves extremely useful to test on existing
      Intel RVPs and Up boards, where the same build can be used to check 3
      interfaces (HDaudio, SSP, DMIC) by just removing modules, setting the
      kernel parameter and reloading modules.
      ad850421
    • Mark Brown's avatar
      ASoC: Intel: avs: PCM power management · 3bcca378
      Mark Brown authored
      Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:
      
      Goal of the series is implementation of suspend/resume operations for a
      PCM stream along with all the collaterals connected to the subject.
      
      Start with splitting avs_dai_fe_hw_free() as ideally we would like to
      reuse as much of existing code as possible but snd_pcm_lib_free_pages()
      is not desired part of the function when speaking of suspend operation.
      
      The actual implementation of suspend/resume() for component drivers
      follows. For most scenarios, the PM flow is similar to standard
      streaming one, except for the part where the position register are being
      saved and the lack of PCM pages freeing. To reduce code duplication, all
      avs_dai_suspend_XXX() and avs_dai_resume_XXX() functions reuse their
      non-PM equivalents.
      Order of operations is affected by the fact that path binding/unbinding
      happens only in FE part of the stream.
      
      Above essentially unlocks SX+streaming scenarios i.e.: power transitions
      with an ongoing stream.
      
      As some streams are allowed to run in low power state, support is
      provided for S0iX state. The handlers check ACPI capabilities and the
      number of active low-power paths before deciding between SX and S0iX
      flows.
      
      The last portion of the patchset is addition of power/clock gating
      overrides. There is no single set of registers that ensures AudioDSP
      firmware loads 100% of time on every single configuration. By having
      them exposed, user can have the loading procedure behavior adjusted for
      their configuration without having to recompile the kernel.
      3bcca378
    • Srinivas Kandagatla's avatar
      ASoC: qdsp6: audioreach: add support to enable module command · 6648a6dc
      Srinivas Kandagatla authored
      Add support to enable Module command which is required for logging
      module to be able to debug.
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Link: https://lore.kernel.org/r/20221027102710.21407-10-srinivas.kandagatla@linaro.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      6648a6dc