1. Mar 21, 2023
    • Jyri Sarha's avatar
      ASoC: SOF: ipc4/intel: Add support for chained DMA · ca5ce0ca
      Jyri Sarha authored
      
      
      Add logic for setting up and tearing down chained DMA connections.
      
      Since pipelines are not used, all the logic to set the pipeline states
      can be bypassed, with only the DMA programming sequences remaining. In
      addition the same format needs to be used for host- and link-DMA,
      without the usual fixup to use the S32_LE format on the link.
      
      Note however that for convenience and compatibility with existing
      definitions, the topology relies on the concept of pipelines with a
      'USE_CHAIN_DMA' token indicating that all the logic shall be bypassed.
      
      Unlike 'normal' ALSA sequences, the chain DMA is not programmed in
      hw_params/hw_free. The IPC message to set-up and tear-down chained DMA
      are sent in sof_ipc4_trigger_pipelines(), but the contents prepared
      earlier.
      
      Chained DMA is only supported by the Intel HDA DAI for now, and only
      S16_LE and S32_LE formats are supported for now.
      
      Signed-off-by: default avatarJyri Sarha <jyri.sarha@intel.com>
      Reviewed-by: default avatarRander Wang <rander.wang@intel.com>
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Link: https://lore.kernel.org/r/20230321092654.7292-4-peter.ujfalusi@linux.intel.com
      
      
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      ca5ce0ca
    • Jyri Sarha's avatar
      ASoC: SOF: ipc4: Add macros for chain-dma message bits · cb3cdef3
      Jyri Sarha authored
      
      
      In the chained DMA mode, the firmware allocates buffers for the host
      and link DMA, and takes care of copying data between host- and
      link-DMA buffers in a low-latency thread. This is different to a
      regular pipeline, no processing is allowed, and the connection between
      host- and link DMA is handled with a dedicated IPC.
      
      This patch exposes the macros needed to create the required IPC messages.
      
      Signed-off-by: default avatarJyri Sarha <jyri.sarha@intel.com>
      Reviewed-by: default avatarRander Wang <rander.wang@intel.com>
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Link: https://lore.kernel.org/r/20230321092654.7292-3-peter.ujfalusi@linux.intel.com
      
      
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      cb3cdef3
    • Ranjani Sridharan's avatar
      ASoC: SOF: topology: Set pipeline widget before updating IPC structures · 3d3e223f
      Ranjani Sridharan authored
      
      
      Set up the IPC structure for scheduler widgets and set the pipeline widget
      before updating the IPC structures for all widgets. This will be needed to
      look up pipeline information during IPC structure set up.
      
      Signed-off-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
      Signed-off-by: default avatarJyri Sarha <jyri.sarha@intel.com>
      Reviewed-by: default avatarRander Wang <rander.wang@intel.com>
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Link: https://lore.kernel.org/r/20230321092654.7292-2-peter.ujfalusi@linux.intel.com
      
      
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      3d3e223f
    • Mark Brown's avatar
      Enable I2S support for RK3588/RK3588S SoCs · 446967a4
      Mark Brown authored
      Merge series from Cristian Ciocaltea <cristian.ciocaltea@collabora.com>:
      
      There are five I2S/PCM/TDM controllers and two I2S/PCM controllers embedded
      in the RK3588 and RK3588S SoCs. Furthermore, RK3588 provides four additional
      I2S/PCM/TDM controllers.
      
      This patch series adds the required device tree nodes to support all the above.
      
      Additionally, it enables analog audio support for the Rock 5B SBC, which has
      been used to test both audio playback and recording.
      446967a4
    • Mark Brown's avatar
      Fix sound on ASUS Transformers · be7a2dad
      Mark Brown authored
      Merge series from Svyatoslav Ryhel <clamor95@gmail.com>:
      
      - add quirk for headset detection used by some T30 devices
        (ASUS Transformers, LG Optimus 4X HD and Vu);
      - add RT5631 and MAX9808x machine drivers
      - update bindings
      
      ---
      Changes from v1
      - fm34 dropped for re-work
      - quirk for headset detection and rt5631 bringup splitted
      - minor adjustments in binding updates
      - improvement of rt5631 rate asignment
      ---
      
      David Heidelberg (1):
        dt-bindings: sound: nvidia,tegra-audio: add RT5631 CODEC
      
      Svyatoslav Ryhel (7):
        dt-bindings: sound: nvidia,tegra-audio-common: add
          coupled-mic-hp-detect property
        ASoC: tegra: Support coupled mic-hp detection
        ARM: tegra: transformers: update sound nodes
        ASoC: tegra: Support RT5631 by machine driver
        ARM: tegra: transformers: bind RT5631 sound nodes
        dt-bindings: sound: nvidia,tegra-audio: add MAX9808x CODEC
        ASoC: tegra: Support MAX9808x by machine driver
      
       .../sound/nvidia,tegra-audio-common.yaml      |   4 +
       .../sound/nvidia,tegra-audio-max9808x.yaml    |  90 +++++++++++++
       .../sound/nvidia,tegra-audio-rt5631.yaml      |  85 ++++++++++++
       arch/arm/boot/dts/tegra20-asus-tf101.dts      |   7 +-
       arch/arm/boot/dts/tegra30-asus-tf201.dts      |  17 +++
       arch/arm/boot/dts/tegra30-asus-tf300t.dts     |   5 +-
       arch/arm/boot/dts/tegra30-asus-tf300tg.dts    |  17 +++
       arch/arm/boot/dts/tegra30-asus-tf700t.dts     |  17 +++
       .../dts/tegra30-asus-transformer-common.dtsi  |   9 +-
       sound/soc/tegra/Kconfig                       |  18 +++
       sound/soc/tegra/tegra_asoc_machine.c          | 125 +++++++++++++++++-
       11 files changed, 380 insertions(+), 14 deletions(-)
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max9808x.yaml
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5631.yaml
      
      --
      2.37.2
      be7a2dad
  2. Mar 20, 2023
  3. Mar 18, 2023
    • Mark Brown's avatar
      ASoC: SOF: ipc4-topology: Add support for effect · e32acf7b
      Mark Brown authored
      Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:
      
      The following series will add support for IPC4 process modules as effect
      widgets.  We can cover wide range of modules as a generic process or
      effect module, the patches will lay down the fundation and the generic
      code to handle them.
      
      At initialization time process modules can receive additional
      information on top of the base_cfg, which is defined as base_cfg_ext, an
      extension for the base configuration struct.  Other parameters or blobs
      for these modules are sent as a separate message via
      LARGE_CONFIG message, which is handled by the existing bytes control support.
      e32acf7b
    • Mark Brown's avatar
      ASoC: SOF: ipc4: upport multiple configs for BE DAIs · 6a36690a
      Mark Brown authored
      Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:
      
      Backend DAIs may support multiple audio formats. Modify pipeline setup to select
      a suitable configuration based on topology and frontend DAI runtime configuration.
      
      The prime use case is BT offload support where we need the abality to select
      different configuration on the BE side.
      6a36690a
  4. Mar 17, 2023
  5. Mar 16, 2023
  6. Mar 15, 2023
  7. Mar 14, 2023