1. 12 Jul, 2021 1 commit
    • 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
  2. 11 Jul, 2021 3 commits
  3. 01 Jul, 2021 1 commit
  4. 30 Jun, 2021 1 commit
  5. 28 Jun, 2021 5 commits
  6. 24 Jun, 2021 1 commit
  7. 23 Jun, 2021 10 commits
  8. 22 Jun, 2021 16 commits
  9. 21 Jun, 2021 2 commits
    • Mark Brown's avatar
      Merge series "ASoC: fsl: Use devm_platform_get_and_ioremap_resource()" from... · 439779ff
      Mark Brown authored
      Merge series "ASoC: fsl: Use devm_platform_get_and_ioremap_resource()" from Yang Yingliang <yangyingliang@huawei.com>:
      
      patch #1 ~ #8:
        Use devm_platform_get_and_ioremap_resource()
      
      patch #9
        check return value of platform_get_resource_byname()
      
      v2:
        change error message in patch #9
      
      Yang Yingliang (9):
        ASoC: fsl_asrc: Use devm_platform_get_and_ioremap_resource()
        ASoC: fsl_aud2htx: Use devm_platform_get_and_ioremap_resource()
        ASoC: fsl_easrc: Use devm_platform_get_and_ioremap_resource()
        ASoC: fsl_esai: Use devm_platform_get_and_ioremap_resource()
        ASoC: fsl_micfil: Use devm_platform_get_and_ioremap_resource()
        ASoC: fsl_sai: Use devm_platform_get_and_ioremap_resource()
        ASoC: fsl_spdif: Use devm_platform_get_and_ioremap_resource()
        ASoC: fsl_ssi: Use devm_platform_get_and_ioremap_resource()
        ASoC: fsl_xcvr: check return value after calling
          platform_get_resource_byname()
      
       sound/soc/fsl/fsl_asrc.c    | 3 +--
       sound/soc/fsl/fsl_aud2htx.c | 3 +--
       sound/soc/fsl/fsl_easrc.c   | 3 +--
       sound/soc/fsl/fsl_esai.c    | 3 +--
       sound/soc/fsl/fsl_micfil.c  | 3 +--
       sound/soc/fsl/fsl_sai.c     | 3 +--
       sound/soc/fsl/fsl_spdif.c   | 3 +--
       sound/soc/fsl/fsl_ssi.c     | 3 +--
       sound/soc/fsl/fsl_xcvr.c    | 4 ++++
       9 files changed, 12 insertions(+), 16 deletions(-)
      
      --
      2.25.1
      439779ff
    • Mark Brown's avatar
      Merge series "ASoC: tidyup snd_soc_of_parse_daifmt()" from Kuninori Morimoto... · d7085db6
      Mark Brown authored
      Merge series "ASoC: tidyup snd_soc_of_parse_daifmt()" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
      
      Hi Mark
      
      These are v3 of parsing for daifmt.
      
      I want to add new audio-graph-card2 sound card driver,
      and this is last part of necessary soc-core cleanup for it.
      
      Current some drivers are using DT, and then,
      snd_soc_of_parse_daifmt() parses daifmt, but bitclock/frame provider
      parsing part is one of headache, because we are assuming below both cases.
      
      A)	node {
      		bitclock-master;
      		frame-master;
      		...
      	};
      
      B)	link {
      		bitclock-master = <&xxx>;
      		frame-master = <&xxx>;
      		...
      	};
      
      The original was style A), and style B) was added later.
      
      snd_soc_of_parse_daifmt() parses A) style as original style,
      and user need to update to B) style for clock_provider part if needed.
      
      To handle it more flexibile, this patch-set adds new functions
      which separates snd_soc_of_parse_daifmt() helper function.
      
      	snd_soc_daifmt_parse_format()			: format part
      	snd_soc_daifmt_parse_clock_provider_as_flag()	: clock part for style A)
      	snd_soc_daifmt_parse_clock_provider_as_phandl()	: clock part for style B)
      	snd_soc_daifmt_parse_clock_provider_as_bitmap()	: clock part use with _from_bitmap
      
      v1 -> v2
      	- tidyup parse_clock_provider functions to _as_flag/phandle/bitmap()
      	- don't exchange code style on each drivers.
      
      v2 -> v3
      	- use daifmt as much as possible (don't use daiclk) on each driver.
      
      Link: https://lore.kernel.org/r/875yypdxlm.wl-kuninori.morimoto.gx@renesas.com
      Link: https://lore.kernel.org/r/87czsvdc4o.wl-kuninori.morimoto.gx@renesas.com
      
      Kuninori Morimoto (8):
        ASoC: soc-core: add snd_soc_daifmt_clock_provider_from_bitmap()
        ASoC: soc-core: add snd_soc_daifmt_clock_provider_fliped()
        ASoC: soc-core: add snd_soc_daifmt_parse_format/clock_provider()
        ASoC: atmel: switch to use snd_soc_daifmt_parse_format/clock_provider()
        ASoC: fsl: switch to use snd_soc_daifmt_parse_format/clock_provider()
        ASoC: meson: switch to use snd_soc_daifmt_parse_format/clock_provider()
        ASoC: simple-card-utils: switch to use snd_soc_daifmt_parse_format/clock_provider()
        ASoC: soc-core: remove snd_soc_of_parse_daifmt()
      
       include/sound/soc.h                   |  21 ++++-
       sound/soc/atmel/mikroe-proto.c        |   9 ++-
       sound/soc/fsl/fsl-asoc-card.c         |   7 +-
       sound/soc/generic/simple-card-utils.c |  16 ++--
       sound/soc/meson/meson-card-utils.c    |   6 +-
       sound/soc/soc-core.c                  | 109 +++++++++++++++++---------
       6 files changed, 106 insertions(+), 62 deletions(-)
      
      --
      2.25.1
      d7085db6