Skip to content
Snippets Groups Projects
  1. Jul 22, 2021
    • Arnd Bergmann's avatar
      ASoC: codecs: wcd938x: fix wcd module dependency · b9a4b57f
      Arnd Bergmann authored
      
      With SND_SOC_ALL_CODECS=y and SND_SOC_WCD938X_SDW=m, there is a link
      error from a reverse dependency, since the built-in codec driver calls
      into the modular soundwire back-end:
      
      x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_codec_free':
      wcd938x.c:(.text+0x2c0): undefined reference to `wcd938x_sdw_free'
      x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_codec_hw_params':
      wcd938x.c:(.text+0x2f6): undefined reference to `wcd938x_sdw_hw_params'
      x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_codec_set_sdw_stream':
      wcd938x.c:(.text+0x332): undefined reference to `wcd938x_sdw_set_sdw_stream'
      x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_tx_swr_ctrl':
      wcd938x.c:(.text+0x23de): undefined reference to `wcd938x_swr_get_current_bank'
      x86_64-linux-ld: sound/soc/codecs/wcd938x.o: in function `wcd938x_bind':
      wcd938x.c:(.text+0x2579): undefined reference to `wcd938x_sdw_device_get'
      x86_64-linux-ld: wcd938x.c:(.text+0x25a1): undefined reference to `wcd938x_sdw_device_get'
      x86_64-linux-ld: wcd938x.c:(.text+0x262a): undefined reference to `__devm_regmap_init_sdw'
      
      Work around this using two small hacks: An added Kconfig dependency
      prevents the main driver from being built-in when soundwire support
      itself is a loadable module to allow calling devm_regmap_init_sdw(),
      and a Makefile trick links the wcd938x-sdw backend as built-in
      if needed to solve the dependency between the two modules.
      
      Fixes: 04544222 ("ASoC: codecs: wcd938x: add audio routing and Kconfig")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Link: https://lore.kernel.org/r/20210721150510.1837221-1-arnd@kernel.org
      
      
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      b9a4b57f
  2. Jul 19, 2021
  3. Jul 16, 2021
  4. Jul 15, 2021
  5. Jul 14, 2021
  6. Jul 12, 2021
    • Maxim Schwalm's avatar
      ASoC: rt5631: Fix regcache sync errors on resume · c71f78a6
      Maxim Schwalm authored
      
      The ALC5631 does not like multi-write accesses, avoid them. This fixes:
      
      rt5631 4-001a: Unable to sync registers 0x3a-0x3c. -121
      
      errors on resume from suspend (and all registers after the registers in
      the error not being synced).
      
      Inspired by commit 2d30e949 ("ASoC: rt5651: Fix regcache sync errors
      on resume") from Hans de Geode, which fixed the same errors on ALC5651.
      
      Signed-off-by: default avatarMaxim Schwalm <maxim.schwalm@gmail.com>
      Link: https://lore.kernel.org/r/20210712005011.28536-1-digetx@gmail.com
      
      
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      c71f78a6
    • Mark Brown's avatar
      Merge series "arm64: tegra: Enable audio IOMMU support on Tegra194" from... · 11169c6e
      Mark Brown authored
      Merge series "arm64: tegra: Enable audio IOMMU support on Tegra194" from Thierry Reding <thierry.reding@gmail.com>
      Thierry Reding <treding@nvidia.com>:
      
      From: Thierry Reding <treding@nvidia.com>
      
      This small series addresses a minor issue with how IOMMU support is
      wired up on various Tegra generations. Currently the virtual "card"
      device is used to allocate DMA memory for, but since that device does
      not actually exist, the path to memory cannot be correctly described.
      
      To address this, this series moves to using the ADMAIF as the DMA device
      for audio. This is a real device that can have a proper DMA mask set and
      with which a stream ID can be associated with in the SMMU. The memory
      accesses technically originate from the ADMA controller (that the ADMAIF
      uses), but DMA channel are dynamically allocated at runtime while DMA
      memory is allocated at driver load time, drivers won't have access to
      the ADMA device yet.
      
      Further patches will be required to correct this issue on Tegra186 and
      Tegra210, but I wanted to get feedback on this approach first.
      
      Changes in v2:
      - add backwards-compatibility fallback
      
      Thierry
      
      Thierry Reding (2):
        ASoC: tegra: Use ADMAIF component for DMA allocations
        arm64: tegra: Enable audio IOMMU support on Tegra194
      
       arch/arm64/boot/dts/nvidia/tegra194.dtsi |  4 ++++
       sound/soc/tegra/tegra_pcm.c              | 30 ++++++++++++++----------
       2 files changed, 22 insertions(+), 12 deletions(-)
      
      --
      2.32.0
      11169c6e
  7. Jul 11, 2021
  8. Jul 01, 2021
  9. Jun 30, 2021
  10. Jun 28, 2021
  11. Jun 24, 2021
  12. Jun 23, 2021
  13. Jun 22, 2021
Loading