Skip to content
  1. Sep 27, 2021
  2. Sep 22, 2021
  3. Sep 21, 2021
  4. Sep 20, 2021
    • Mark Brown's avatar
      ASoC: Drop mistakenly applied SPI patch · 8e8f2ac0
      Mark Brown authored
      Revert 6e8cc4dd
      
       ("spi: tegra20-slink: Declare runtime suspend and
      resume functions conditionally") which was mistakenly applied to the
      ASoC tree not the SPI tree (where it was also applied.
      
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      8e8f2ac0
    • Mark Brown's avatar
      Merge series "ASoC: compress: Support module_get on stream open" from Peter... · cca46db7
      Mark Brown authored
      Merge series "ASoC: compress: Support module_get on stream open" from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:
      
      Hi,
      
      SOF is marking all componet drivers with module_get_upon_open = 1 which works
      fine with normal PCM streams, however on compressed side the module get upon
      open is not supported. The module_get works when module_get_upon_open is not set
      becasue the snd_soc_component_module_get_when_probe() will pass NULL for the
      substream parameter of snd_soc_component_module_get().
      
      In order to re-use the existing infrastructure for module_get, the proposal is
      to convert the mark_module to void pointer (like the pm mark) and implement
      matching code for the compressed open/free to pcm open/close.
      
      Regards,
      Peter
      ---
      Peter Ujfalusi (2):
        ASoC: soc-component: Convert the mark_module to void*
        ASoC: compress/component: Use module_get_when_open/put_when_close for
          cstream
      
       include/sound/soc-component.h | 14 ++++----
       sound/soc/soc-component.c     | 61 +++++++++++++++--------------------
       sound/soc/soc-compress.c      | 43 +++++++++++++++++++++---
       3 files changed, 71 insertions(+), 47 deletions(-)
      
      --
      2.33.0
      cca46db7
    • Mark Brown's avatar
      Merge series "Extend AHUB audio support for Tegra210 and later" from Sameer... · 2a07ef63
      Mark Brown authored
      Merge series "Extend AHUB audio support for Tegra210 and later" from Sameer Pujar <spujar@nvidia.com>:
      
      Earlier as part of series [0], support for ADMAIF and I/O modules (such
      as I2S, DMIC and DSPK) was added. This series aims at exposing some of
      the AHUB internal modules (listed below), which can be used for audio
      pre or post processing.
      
        * SFC (Sampling Frequency Converter)
        * MVC (Master Volume Control)
        * AMX (Audio Multiplexer)
        * ADX (Audio Demultiplexer)
        * Mixer
      
      These modules can be plugged into audio paths and relevant processing
      can be done. The MUX routes are extended to allow add or remove above
      modules in the path via mixer controls. This is similar to how specific
      ADMAIF channels are connected to relevant I/O module instances at the
      moment.
      
      Some of these modules can alter PCM parameters. Consider example of
      resampler (44.1 -> 48 kHz) in the path.
      
        aplay(44.1 kHz) -> ADMAIF -> SFC -> (48 kHz) I2S -> (48kHz) Codec
      
      The modules following SFC should be using converted sample rate and DAIs
      need to be configured accordingly. The audio-graph driver provides a
      mechanism to fixup the new parameters which can be specified in DT for a
      given DAI. Then core uses these new values via fixup callback and then
      pass it to respective DAIs hw_param() callback. The "convert-rate",
      described in [1], property can be used when there is rate conversion in
      the audio path. Similarly "convert-channels" can be used when there is
      channel conversion in the path. There is no "convert-xxx" property for
      sample size conversions. It can be added if necessary.
      
      [0] https://www.lkml.org/lkml/2020/7/21/1357
      [1] Documentation/devicetree/bindings/sound/audio-graph-port.yaml
      
      Changelog
      =========
      
      v1 -> v2
      --------
       * Put comments for soft reset application in the drivers.
       * Split out mute/volume control logic in put() calls of MVC driver and
         use separate callbacks for the respective kcontrols.
       * Update kcontrol put() callback in MVC driver to return 1 whenever
         there is change. Similar change is done in other drivers too.
       * Use name-prefix.yaml reference for the driver documentation now.
       * Add sound-name-prefix pattern for MIXER driver and use prefix
         accordingly in DT.
      
      Sameer Pujar (13):
        ASoC: soc-pcm: Don't reconnect an already active BE
        ASoC: simple-card-utils: Increase maximum DAI links limit to 512
        ASoC: audio-graph: Fixup CPU endpoint hw_params in a BE<->BE link
        ASoC: dt-bindings: tegra: Few more Tegra210 AHUB modules
        ASoC: tegra: Add routes for few AHUB modules
        ASoC: tegra: Add Tegra210 based MVC driver
        ASoC: tegra: Add Tegra210 based SFC driver
        ASoC: tegra: Add Tegra210 based AMX driver
        ASoC: tegra: Add Tegra210 based ADX driver
        ASoC: tegra: Add Tegra210 based Mixer driver
        arm64: defconfig: Enable few Tegra210 based AHUB drivers
        arm64: tegra: Add few AHUB devices for Tegra210 and later
        arm64: tegra: Extend APE audio support on Jetson platforms
      
       .../bindings/sound/nvidia,tegra210-adx.yaml        |   76 +
       .../bindings/sound/nvidia,tegra210-ahub.yaml       |   20 +
       .../bindings/sound/nvidia,tegra210-amx.yaml        |   76 +
       .../bindings/sound/nvidia,tegra210-mixer.yaml      |   74 +
       .../bindings/sound/nvidia,tegra210-mvc.yaml        |   76 +
       .../bindings/sound/nvidia,tegra210-sfc.yaml        |   73 +
       arch/arm64/boot/dts/nvidia/tegra186-p2771-0000.dts | 1554 ++++++++-
       arch/arm64/boot/dts/nvidia/tegra186.dtsi           |  120 +
       arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts | 1493 +++++++-
       .../arm64/boot/dts/nvidia/tegra194-p3509-0000.dtsi | 1520 ++++++++-
       arch/arm64/boot/dts/nvidia/tegra194.dtsi           |  116 +
       arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts |  876 +++++
       arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts |  876 +++++
       arch/arm64/boot/dts/nvidia/tegra210.dtsi           |   77 +
       arch/arm64/configs/defconfig                       |    5 +
       include/sound/simple_card_utils.h                  |    2 +-
       sound/soc/generic/audio-graph-card.c               |    4 +-
       sound/soc/soc-pcm.c                                |    4 +
       sound/soc/tegra/Kconfig                            |   48 +
       sound/soc/tegra/Makefile                           |   10 +
       sound/soc/tegra/tegra210_adx.c                     |  531 +++
       sound/soc/tegra/tegra210_adx.h                     |   72 +
       sound/soc/tegra/tegra210_ahub.c                    |  511 ++-
       sound/soc/tegra/tegra210_amx.c                     |  600 ++++
       sound/soc/tegra/tegra210_amx.h                     |   93 +
       sound/soc/tegra/tegra210_mixer.c                   |  674 ++++
       sound/soc/tegra/tegra210_mixer.h                   |  100 +
       sound/soc/tegra/tegra210_mvc.c                     |  645 ++++
       sound/soc/tegra/tegra210_mvc.h                     |  117 +
       sound/soc/tegra/tegra210_sfc.c                     | 3549 ++++++++++++++++++++
       sound/soc/tegra/tegra210_sfc.h                     |   78 +
       31 files changed, 13647 insertions(+), 423 deletions(-)
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-adx.yaml
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-amx.yaml
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mixer.yaml
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mvc.yaml
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-sfc.yaml
       create mode 100644 sound/soc/tegra/tegra210_adx.c
       create mode 100644 sound/soc/tegra/tegra210_adx.h
       create mode 100644 sound/soc/tegra/tegra210_amx.c
       create mode 100644 sound/soc/tegra/tegra210_amx.h
       create mode 100644 sound/soc/tegra/tegra210_mixer.c
       create mode 100644 sound/soc/tegra/tegra210_mixer.h
       create mode 100644 sound/soc/tegra/tegra210_mvc.c
       create mode 100644 sound/soc/tegra/tegra210_mvc.h
       create mode 100644 sound/soc/tegra/tegra210_sfc.c
       create mode 100644 sound/soc/tegra/tegra210_sfc.h
      
      --
      2.7.4
      2a07ef63