1. 21 Dec, 2021 4 commits
  2. 20 Dec, 2021 25 commits
  3. 17 Dec, 2021 11 commits
    • Mark Brown's avatar
      ASoC: Intel: catpt: Dma-transfer fix and couple · c50384d7
      Mark Brown authored
      Merge series from Cezary Rojewski <cezary.rojewski@intel.com>:
      
      Set is made of one fix for dma-transfer so that result of
      dmaengine_submit() is tested before moving on, and few cleanups:
      
      - two non-impactful, where catpt_component_open() layout gets improved
        slightly as well as relocation of couple of locals found in
        PCM-functions so that they look more cohesive
      - no need to expose catpt-driver board-matching information globally.
        Most fields are not by it and it's the sole user of haswell_machines
        table. By having them locally it is clear what is actually being used
      
      Cezary Rojewski (5):
        ASoC: Intel: catpt: Test dmaengine_submit() result before moving on
        ASoC: Intel: catpt: Reduce size of catpt_component_open()
        ASoC: Intel: catpt: Streamline locals declaration for PCM-functions
        ASoC: Intel: catpt: Drop SND_SOC_ACPI_INTEL_MATCH dependency
        ASoC: Intel: Drop legacy HSW/BDW board-match information
      
       include/sound/soc-acpi-intel-match.h          |  1 -
       sound/soc/intel/Kconfig                       |  2 +-
       sound/soc/intel/catpt/device.c                | 33 +++++++++++++++--
       sound/soc/intel/catpt/dsp.c                   | 14 ++++++-
       sound/soc/intel/catpt/pcm.c                   | 37 +++++++++----------
       .../common/soc-acpi-intel-hsw-bdw-match.c     | 16 --------
       6 files changed, 61 insertions(+), 42 deletions(-)
      
      --
      2.25.1
      c50384d7
    • Mark Brown's avatar
      Support HDMI audio on NVIDIA Tegra20 · be1d03ee
      Mark Brown authored
      Merge series from Dmitry Osipenko <digetx@gmail.com>:
      
      This series revives Tegra20 S/PDIF driver which was upstreamed long time
      ago, but never was used. It also turns Tegra DRM HDMI driver into HDMI
      audio CODEC provider. Finally, HDMI audio is enabled in device-trees.
      For now the audio is enable only for Acer A500 tablet and Toshiba AC100
      netbook because they're already supported by upstream, later on ASUS TF101
      tablet will join them.
      
      I based S/PDIF patches on Arnd's Bergmann patch from a separate series [1]
      that removes obsolete slave_id. This eases merging of the patches by
      removing the merge conflict. This is a note for Mark Brown.
      
      I also based this series on top of power management series [2]. I.e. [2]
      should be applied first, otherwise "Add S/PDIF node to Tegra20 device-tree"
      patch should have merge conflict. This is a note for Thierry.
      
      [1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=273312
      [2] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=274534
      
      Changelog:
      
      v4: - Added patches that update multi_v7_defconfig with the enabled S/PDIF
            and APB DMA drivers.
      
      v3: - Renamed S/PDIF device-tree clocks as was suggested by Rob Herring.
      
          - Added r-bs and acks that were given by Rob Herring to v2.
      
      v2: - Corrected I2S yaml problem that was reported by the DT bot for v1
            by removing the non-existent required clock-names property.
      
          - Removed assigned-clocks property from S/PDIF yaml since this property
            is now inherited from the clocks property.
      
          - Reordered the "tegra20: spdif: Set FIFO trigger level" patch, making
            it the first sound/soc patch in the series, like it was suggested by
            Mark Brown in the comment to v1. Also reworded commit message of this
            patch to *not* make it looks like it should be backported to stable
            kernels.
      
      Arnd Bergmann (1):
        ASoC: tegra20-spdif: stop setting slave_id
      
      Dmitry Osipenko (21):
        ASoC: dt-bindings: Add binding for Tegra20 S/PDIF
        ASoC: dt-bindings: tegra20-i2s: Convert to schema
        ASoC: dt-bindings: tegra20-i2s: Document new nvidia,fixed-parent-rate
          property
        dt-bindings: host1x: Document optional HDMI sound-dai-cells
        ASoC: tegra20: spdif: Set FIFO trigger level
        ASoC: tegra20: spdif: Support device-tree
        ASoC: tegra20: spdif: Improve driver's code
        ASoC: tegra20: spdif: Use more resource-managed helpers
        ASoC: tegra20: spdif: Reset hardware
        ASoC: tegra20: spdif: Support system suspend
        ASoC: tegra20: spdif: Filter out unsupported rates
        ASoC: tegra20: i2s: Filter out unsupported rates
        drm/tegra: hdmi: Unwind tegra_hdmi_init() errors
        drm/tegra: hdmi: Register audio CODEC on Tegra20
        ARM: tegra_defconfig: Enable S/PDIF driver
        ARM: config: multi v7: Enable NVIDIA Tegra20 S/PDIF driver
        ARM: config: multi v7: Enable NVIDIA Tegra20 APB DMA driver
        ARM: tegra: Add S/PDIF node to Tegra20 device-tree
        ARM: tegra: Add HDMI audio graph to Tegra20 device-tree
        ARM: tegra: acer-a500: Enable S/PDIF and HDMI audio
        ARM: tegra: paz00: Enable S/PDIF and HDMI audio
      
       .../display/tegra/nvidia,tegra20-host1x.txt   |   1 +
       .../bindings/sound/nvidia,tegra20-i2s.txt     |  30 ---
       .../bindings/sound/nvidia,tegra20-i2s.yaml    |  77 +++++++
       .../bindings/sound/nvidia,tegra20-spdif.yaml  |  85 ++++++++
       .../boot/dts/tegra20-acer-a500-picasso.dts    |   8 +
       arch/arm/boot/dts/tegra20-paz00.dts           |   8 +
       arch/arm/boot/dts/tegra20.dtsi                |  40 +++-
       arch/arm/configs/multi_v7_defconfig           |   2 +
       arch/arm/configs/tegra_defconfig              |   1 +
       drivers/gpu/drm/tegra/Kconfig                 |   3 +
       drivers/gpu/drm/tegra/hdmi.c                  | 168 +++++++++++++--
       sound/soc/tegra/tegra20_i2s.c                 |  49 +++++
       sound/soc/tegra/tegra20_spdif.c               | 197 ++++++++++++------
       sound/soc/tegra/tegra20_spdif.h               |   1 +
       sound/soc/tegra/tegra_pcm.c                   |   6 +
       sound/soc/tegra/tegra_pcm.h                   |   1 +
       16 files changed, 574 insertions(+), 103 deletions(-)
       delete mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra20-i2s.txt
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra20-i2s.yaml
       create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra20-spdif.yaml
      
      --
      2.33.1
      be1d03ee
    • Mark Brown's avatar
      ASoC: SOF: couple of cleanups · a92c1cd3
      Mark Brown authored
      Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
      
      Guennadi spotted inconsistencies with our 'const' handling, Ajit Kumar
      flagged a missing check for a null pointer and we missed the
      definition of debug zones.
      a92c1cd3
    • Mark Brown's avatar
      ASoC: SOF: remove suport for TRIGGER_RESUME · f7c7ecab
      Mark Brown authored
      Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
      
      None of the SOF platforms support INFO_RESUME, and rely on the
      indirect path used by the ALSA core with the prepare and TRIGGER_START
      steps.
      
      Let's remove the left-over dead code.
      f7c7ecab
    • Heiner Kallweit's avatar
      ASoC: sh: rz-ssi: Check return value of pm_runtime_resume_and_get() · f04b4fb4
      Heiner Kallweit authored
      The return value of pm_runtime_resume_and_get() needs to be checked to
      avoid a usage count imbalance in the error case. This fix is basically
      the same as 92c959ba ("reset: renesas: Fix Runtime PM usage"),
      and the last step before pm_runtime_resume_and_get() can be annotated
      as __must_check.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Link: https://lore.kernel.org/r/9fed506d-b780-55cd-45a4-9bd2407c910f@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      f04b4fb4
    • Cezary Rojewski's avatar
      ASoC: Intel: catpt: Streamline locals declaration for PCM-functions · a62a0298
      Cezary Rojewski authored
      Group all the catpt_xxx structs together in PCM related functions so
      they look more cohesive.
      Signed-off-by: default avatarCezary Rojewski <cezary.rojewski@intel.com>
      Link: https://lore.kernel.org/r/20211216115743.2130622-4-cezary.rojewski@intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      a62a0298
    • Cezary Rojewski's avatar
      ASoC: Intel: catpt: Reduce size of catpt_component_open() · dad492cf
      Cezary Rojewski authored
      With some improved if-logy, function's size can be reduced slightly.
      Signed-off-by: default avatarCezary Rojewski <cezary.rojewski@intel.com>
      Link: https://lore.kernel.org/r/20211216115743.2130622-3-cezary.rojewski@intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      dad492cf
    • Cezary Rojewski's avatar
      ASoC: Intel: catpt: Test dmaengine_submit() result before moving on · 2a9a72e2
      Cezary Rojewski authored
      After calling dmaengine_submit(), the submitted transfer descriptor
      belongs to the DMA engine. Pointer to that descriptor may no longer be
      valid after the call and should be tested before awaiting transfer
      completion.
      Reported-by: default avatarKevin Tian <kevin.tian@intel.com>
      Suggested-by: default avatarDave Jiang <dave.jiang@intel.com>
      Fixes: 4fac9b31 ("ASoC: Intel: Add catpt base members")
      Signed-off-by: default avatarCezary Rojewski <cezary.rojewski@intel.com>
      Link: https://lore.kernel.org/r/20211216115743.2130622-2-cezary.rojewski@intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      2a9a72e2
    • Dmitry Osipenko's avatar
      ASoC: tegra20: i2s: Filter out unsupported rates · bfa4671d
      Dmitry Osipenko authored
      Support new nvidia,fixed-parent-rate device-tree property which instructs
      I2S that board wants parent clock rate to stay at a fixed rate. This allows
      to play audio over S/PDIF and I2S simultaneously. The root of the problem
      is that audio components on Tegra share the same audio PLL, and thus, only
      a subset of rates can be supported if we want to play audio simultaneously.
      Filter out audio rates that don't match parent clock rate if device-tree
      has the nvidia,fixed-parent-rate property.
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Link: https://lore.kernel.org/r/20211204143725.31646-14-digetx@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      bfa4671d
    • Dmitry Osipenko's avatar
      ASoC: tegra20: spdif: Filter out unsupported rates · 9d8f51cd
      Dmitry Osipenko authored
      SPDIF and other SoC components share audio PLL on Tegra, thus only one
      component may set the desired base clock rate. This creates problem for
      HDMI audio because it uses SPDIF and audio may not work if SPDIF's clock
      doesn't exactly match standard audio rate since some receivers may reject
      audio in that case. Filter out audio rates which SPDIF output can't
      support, assuming that other components won't change rate at runtime.
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Link: https://lore.kernel.org/r/20211204143725.31646-13-digetx@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      9d8f51cd
    • Dmitry Osipenko's avatar
      ASoC: tegra20: spdif: Support system suspend · d5169309
      Dmitry Osipenko authored
      Support system suspend by enforcing runtime PM suspend/resume.
      Now there is no doubt that h/w is indeed stopped during suspend
      and that h/w state will be properly restored after resume.
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Link: https://lore.kernel.org/r/20211204143725.31646-12-digetx@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      d5169309