1. 03 Apr, 2020 2 commits
  2. 01 Apr, 2020 3 commits
  3. 31 Mar, 2020 2 commits
  4. 30 Mar, 2020 10 commits
  5. 27 Mar, 2020 23 commits
    • Mark Brown's avatar
      Merge series "ASoC: Intel: add SoundWire machine driver" from Pierre-Louis... · 3d2cdb85
      Mark Brown authored
      Merge series "ASoC: Intel: add SoundWire machine driver" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
      
      To handle multiple hardware combinations, this patchset suggests a
      single machine driver which will create and initialize dailinks
      dynamically. This allows us to support new configurations easily, as
      shown with the TigerLake rt5682 example.
      
      Each configuration updates the card component string, and UCM can test
      for the presence of components to configure them as needed.
      
      Since we use a single the machine driver name, all previous ACPI
      tables need to be updated. That should have no impact since the
      machine drivers listed at the time were not upstreamed and are no
      longer maintained.
      
      Naveen Manohar (2):
        ASoC: Intel: common: add match table for TGL RT5682 SoundWire driver
        ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper
          function
      
      Pierre-Louis Bossart (1):
        ASoC: Intel: boards: add sof_sdw machine driver
      
      Rander Wang (1):
        ASoC: Intel: soc-acpi: update topology and driver name for SoundWire
          platforms
      
       sound/soc/intel/boards/Kconfig                |  24 +
       sound/soc/intel/boards/Makefile               |   8 +-
       sound/soc/intel/boards/sof_sdw.c              | 962 ++++++++++++++++++
       sound/soc/intel/boards/sof_sdw_common.h       | 114 +++
       sound/soc/intel/boards/sof_sdw_dmic.c         |  42 +
       sound/soc/intel/boards/sof_sdw_hdmi.c         |  97 ++
       sound/soc/intel/boards/sof_sdw_rt1308.c       | 151 +++
       sound/soc/intel/boards/sof_sdw_rt5682.c       | 126 +++
       sound/soc/intel/boards/sof_sdw_rt700.c        | 125 +++
       sound/soc/intel/boards/sof_sdw_rt711.c        | 156 +++
       sound/soc/intel/boards/sof_sdw_rt715.c        |  42 +
       .../intel/common/soc-acpi-intel-cml-match.c   |  24 +-
       .../intel/common/soc-acpi-intel-icl-match.c   |   6 +-
       .../intel/common/soc-acpi-intel-tgl-match.c   |  30 +-
       14 files changed, 1896 insertions(+), 11 deletions(-)
       create mode 100644 sound/soc/intel/boards/sof_sdw.c
       create mode 100644 sound/soc/intel/boards/sof_sdw_common.h
       create mode 100644 sound/soc/intel/boards/sof_sdw_dmic.c
       create mode 100644 sound/soc/intel/boards/sof_sdw_hdmi.c
       create mode 100644 sound/soc/intel/boards/sof_sdw_rt1308.c
       create mode 100644 sound/soc/intel/boards/sof_sdw_rt5682.c
       create mode 100644 sound/soc/intel/boards/sof_sdw_rt700.c
       create mode 100644 sound/soc/intel/boards/sof_sdw_rt711.c
       create mode 100644 sound/soc/intel/boards/sof_sdw_rt715.c
      
      --
      2.20.1
      3d2cdb85
    • Colin Ian King's avatar
      ASoC: amd: acp3x-pcm-dma: clean up two indentation issues · acd4946f
      Colin Ian King authored
      There are a couple of statements that are not indented correctly,
      add in the missing tab and break the lines to address a checkpatch
      warning.
      Signed-off-by: default avatarColin Ian King <colin.king@canonical.com>
      Link: https://lore.kernel.org/r/20200327141429.269191-1-colin.king@canonical.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      acd4946f
    • Dan Murphy's avatar
      ASoC: tlv320adcx140: Remove undocumented property · d4061518
      Dan Murphy authored
      Remove undocumented and unneeded ti,use-internal-reg from the example as
      it was an artifact from initial development.  The code does not query
      for this property and as the document indicates if areg-supply is
      undefined then the internal regulator is used.
      
      Fixes: 302c0b7490cd ("dt-bindings: sound: Add TLV320ADCx140 dt
      bindings")
      Signed-off-by: default avatarDan Murphy <dmurphy@ti.com>
      CC: Rob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20200327162432.17067-1-dmurphy@ti.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      d4061518
    • Naveen Manohar's avatar
      ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function · 798313f2
      Naveen Manohar authored
      Add support for Google Volteer device. As per new unified soundwire machine
      driver, add rt5682-sdw helper function, which configures codec to Link0.
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarNaveen Manohar <naveen.m@intel.com>
      Link: https://lore.kernel.org/r/20200325220746.29601-5-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      798313f2
    • Naveen Manohar's avatar
    • Pierre-Louis Bossart's avatar
      ASoC: Intel: boards: add sof_sdw machine driver · 52db12d1
      Pierre-Louis Bossart authored
      This machine driver provides support for different configurations:
      
      RT700, RT711, RT1308 (1x and 2x, I2S or SoundWire mode), and RT715
      CometLake, Icelake, TigerLake.
      PDM digital microphones
      HDMI
      
      To avoid introducing one driver per configuration, this common machine
      driver relies on platform-specific information, tables and quirks to
      dynamically create the relevant dailinks.
      
      Unlike a lot of machine drivers, we use different DAI links for
      SoundWire capture and playback since the Cadence PDIs can do capture
      OR playback, not both simultaneously.
      
      For each configuration, the card component string is updated so that UCM
      can select the relevant parts.
      Signed-off-by: default avatarRander Wang <rander.wang@linux.intel.com>
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
      Link: https://lore.kernel.org/r/20200325220746.29601-3-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      52db12d1
    • Rander Wang's avatar
    • Mark Brown's avatar
      Merge branch 'for-5.6' of... · 8c0b6e15
      Mark Brown authored
      Merge branch 'for-5.6' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-5.7
      8c0b6e15
    • Mark Brown's avatar
      Merge series "ASoC: remove rtd->cpu/codec_dai{s}" from Kuninori Morimoto... · a23d7f4a
      Mark Brown authored
      Merge series "ASoC: remove rtd->cpu/codec_dai{s}" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
      
      Hi Mark
      
      Now, CPU/Codec DAI(s) were replaced by rtd->dais.
      Thus, We don't need rtd->cpu/codec_dai{s} anymore.
      This pathset replaces it by new macro.
      
      Kuninori Morimoto (36):
        ASoC: soc-core: add asoc_rtd_to_cpu/codec() macro
        ASoC: amd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: atmel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: au1x: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: bcm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: cirrus: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: dwc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: fsl: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: generic: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: img: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: intel: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: kirkwood: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: mediatek: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: meson: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: mxs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: pxa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: qcom: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: rockchip: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: samsung: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: sh: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: sof: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: sprd: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: stm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: sunxi: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: tegra: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: txx9: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: uniphier: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: ux500: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: xtensa: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: arm: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: codecs: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: soc: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer
        ASoC: soc-core: set rtd->num_cpu/codec at soc_new_pcm_runtime()
        ASoC: soc-core: tidyup soc_new_pcm_runtime() rtd setups
        ASoC: soc-core: remove cpu_dai/codec_dai/cpu_dais/codec_dais
      
       include/sound/soc.h                           | 30 +++++++------
       sound/arm/pxa2xx-pcm-lib.c                    |  8 ++--
       sound/soc/amd/acp-da7219-max98357a.c          |  2 +-
       sound/soc/amd/acp-rt5645.c                    |  4 +-
       sound/soc/amd/acp3x-rt5682-max9836.c          |  6 +--
       sound/soc/atmel/atmel-pcm-dma.c               |  4 +-
       sound/soc/atmel/atmel-pcm-pdc.c               |  2 +-
       sound/soc/atmel/atmel_wm8904.c                |  2 +-
       sound/soc/atmel/mikroe-proto.c                |  2 +-
       sound/soc/atmel/sam9g20_wm8731.c              |  2 +-
       sound/soc/atmel/sam9x5_wm8731.c               |  2 +-
       sound/soc/au1x/db1200.c                       |  2 +-
       sound/soc/au1x/dbdma2.c                       |  2 +-
       sound/soc/au1x/dma.c                          |  2 +-
       sound/soc/au1x/psc-ac97.c                     |  2 +-
       sound/soc/bcm/bcm63xx-pcm-whistler.c          | 16 +++----
       sound/soc/bcm/cygnus-pcm.c                    | 22 +++++-----
       sound/soc/cirrus/edb93xx.c                    |  4 +-
       sound/soc/cirrus/snappercl15.c                |  4 +-
       sound/soc/codecs/cs47l15.c                    |  4 +-
       sound/soc/codecs/cs47l24.c                    |  6 +--
       sound/soc/codecs/cs47l35.c                    |  6 +--
       sound/soc/codecs/cs47l85.c                    |  6 +--
       sound/soc/codecs/cs47l90.c                    |  6 +--
       sound/soc/codecs/cs47l92.c                    |  4 +-
       sound/soc/codecs/wm5110.c                     |  6 +--
       sound/soc/codecs/wm_adsp.c                    | 10 ++---
       sound/soc/dwc/dwc-pcm.c                       |  2 +-
       sound/soc/fsl/eukrea-tlv320.c                 |  4 +-
       sound/soc/fsl/fsl-asoc-card.c                 | 10 ++---
       sound/soc/fsl/fsl_asrc_dma.c                  |  6 +--
       sound/soc/fsl/fsl_spdif.c                     | 10 ++---
       sound/soc/fsl/fsl_ssi.c                       |  8 ++--
       sound/soc/fsl/imx-audmix.c                    |  8 ++--
       sound/soc/fsl/imx-mc13783.c                   |  4 +-
       sound/soc/fsl/imx-sgtl5000.c                  |  2 +-
       sound/soc/fsl/mpc5200_dma.c                   | 10 ++---
       sound/soc/fsl/mpc5200_psc_i2s.c               |  2 +-
       sound/soc/fsl/mpc8610_hpcd.c                  |  4 +-
       sound/soc/fsl/mx27vis-aic32x4.c               |  4 +-
       sound/soc/fsl/p1022_ds.c                      |  4 +-
       sound/soc/fsl/p1022_rdk.c                     |  4 +-
       sound/soc/fsl/wm1133-ev1.c                    |  6 +--
       sound/soc/generic/simple-card-utils.c         | 12 +++---
       sound/soc/img/img-i2s-in.c                    |  2 +-
       sound/soc/img/img-i2s-out.c                   |  2 +-
       sound/soc/intel/atom/sst-mfld-platform-pcm.c  |  6 +--
       sound/soc/intel/boards/bdw-rt5650.c           |  6 +--
       sound/soc/intel/boards/bdw-rt5677.c           |  6 +--
       sound/soc/intel/boards/broadwell.c            |  4 +-
       sound/soc/intel/boards/bxt_da7219_max98357a.c |  8 ++--
       sound/soc/intel/boards/bxt_rt298.c            |  8 ++--
       sound/soc/intel/boards/byt-max98090.c         |  2 +-
       sound/soc/intel/boards/byt-rt5640.c           |  4 +-
       sound/soc/intel/boards/bytcht_cx2072x.c       | 10 ++---
       sound/soc/intel/boards/bytcht_da7213.c        |  8 ++--
       sound/soc/intel/boards/bytcht_es8316.c        |  8 ++--
       sound/soc/intel/boards/bytcht_nocodec.c       |  4 +-
       sound/soc/intel/boards/bytcr_rt5640.c         |  8 ++--
       sound/soc/intel/boards/bytcr_rt5651.c         |  8 ++--
       sound/soc/intel/boards/cht_bsw_max98090_ti.c  |  6 +--
       sound/soc/intel/boards/cht_bsw_nau8824.c      |  4 +-
       sound/soc/intel/boards/cht_bsw_rt5645.c       | 14 +++----
       sound/soc/intel/boards/cht_bsw_rt5672.c       |  8 ++--
       sound/soc/intel/boards/cml_rt1011_rt5682.c    |  6 +--
       sound/soc/intel/boards/glk_rt5682_max98357a.c | 10 ++---
       sound/soc/intel/boards/haswell.c              |  2 +-
       sound/soc/intel/boards/kbl_da7219_max98357a.c |  8 ++--
       sound/soc/intel/boards/kbl_da7219_max98927.c  |  6 +--
       sound/soc/intel/boards/kbl_rt5660.c           |  6 +--
       sound/soc/intel/boards/kbl_rt5663_max98927.c  |  8 ++--
       .../intel/boards/kbl_rt5663_rt5514_max98927.c |  8 ++--
       .../soc/intel/boards/skl_nau88l25_max98357a.c | 12 +++---
       sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 16 +++----
       sound/soc/intel/boards/skl_rt286.c            |  8 ++--
       sound/soc/intel/boards/sof_da7219_max98373.c  |  8 ++--
       sound/soc/intel/boards/sof_pcm512x.c          |  8 ++--
       sound/soc/intel/boards/sof_rt5682.c           |  6 +--
       sound/soc/intel/haswell/sst-haswell-pcm.c     | 26 ++++++------
       sound/soc/intel/skylake/skl-pcm.c             | 10 ++---
       sound/soc/kirkwood/armada-370-db.c            |  2 +-
       sound/soc/kirkwood/kirkwood-dma.c             |  2 +-
       sound/soc/mediatek/common/mtk-afe-fe-dai.c    | 10 ++---
       .../mediatek/common/mtk-afe-platform-driver.c |  2 +-
       sound/soc/mediatek/mt2701/mt2701-afe-pcm.c    |  2 +-
       sound/soc/mediatek/mt2701/mt2701-cs42448.c    |  4 +-
       sound/soc/mediatek/mt2701/mt2701-wm8960.c     |  4 +-
       sound/soc/mediatek/mt6797/mt6797-afe-pcm.c    |  2 +-
       sound/soc/mediatek/mt8173/mt8173-afe-pcm.c    |  2 +-
       sound/soc/mediatek/mt8173/mt8173-max98090.c   |  4 +-
       .../mediatek/mt8173/mt8173-rt5650-rt5514.c    |  2 +-
       .../mediatek/mt8173/mt8173-rt5650-rt5676.c    |  4 +-
       sound/soc/mediatek/mt8173/mt8173-rt5650.c     |  6 +--
       sound/soc/mediatek/mt8183/mt8183-afe-pcm.c    |  2 +-
       .../mediatek/mt8183/mt8183-da7219-max98357.c  |  4 +-
       .../mt8183/mt8183-mt6358-ts3a227-max98357.c   |  2 +-
       sound/soc/meson/aiu-fifo.c                    |  2 +-
       sound/soc/meson/axg-card.c                    |  8 ++--
       sound/soc/meson/axg-fifo.c                    |  2 +-
       sound/soc/meson/meson-card-utils.c            |  2 +-
       sound/soc/mxs/mxs-sgtl5000.c                  |  4 +-
       sound/soc/pxa/brownstone.c                    |  4 +-
       sound/soc/pxa/corgi.c                         |  4 +-
       sound/soc/pxa/hx4700.c                        |  4 +-
       sound/soc/pxa/imote2.c                        |  4 +-
       sound/soc/pxa/magician.c                      |  8 ++--
       sound/soc/pxa/mioa701_wm9713.c                |  4 +-
       sound/soc/pxa/mmp-pcm.c                       |  2 +-
       sound/soc/pxa/mmp-sspa.c                      |  2 +-
       sound/soc/pxa/poodle.c                        |  4 +-
       sound/soc/pxa/pxa2xx-i2s.c                    |  2 +-
       sound/soc/pxa/spitz.c                         |  4 +-
       sound/soc/pxa/ttc-dkb.c                       |  2 +-
       sound/soc/pxa/z2.c                            |  4 +-
       sound/soc/pxa/zylonite.c                      |  6 +--
       sound/soc/qcom/apq8016_sbc.c                  |  2 +-
       sound/soc/qcom/apq8096.c                      |  6 +--
       sound/soc/qcom/lpass-platform.c               |  2 +-
       sound/soc/qcom/qdsp6/q6asm-dai.c              |  4 +-
       sound/soc/qcom/qdsp6/q6routing.c              |  2 +-
       sound/soc/qcom/sdm845.c                       | 22 +++++-----
       sound/soc/qcom/storm.c                        |  2 +-
       sound/soc/rockchip/rk3288_hdmi_analog.c       |  4 +-
       sound/soc/rockchip/rk3399_gru_sound.c         | 16 +++----
       sound/soc/rockchip/rockchip_max98090.c        |  6 +--
       sound/soc/rockchip/rockchip_rt5645.c          |  6 +--
       sound/soc/samsung/arndale.c                   |  6 +--
       sound/soc/samsung/bells.c                     | 16 +++----
       sound/soc/samsung/h1940_uda1380.c             |  2 +-
       sound/soc/samsung/i2s.c                       |  2 +-
       sound/soc/samsung/jive_wm8750.c               |  4 +-
       sound/soc/samsung/littlemill.c                | 14 +++----
       sound/soc/samsung/lowland.c                   |  4 +-
       sound/soc/samsung/neo1973_wm8753.c            | 10 ++---
       sound/soc/samsung/odroid.c                    |  2 +-
       sound/soc/samsung/pcm.c                       |  4 +-
       sound/soc/samsung/rx1950_uda1380.c            |  2 +-
       sound/soc/samsung/s3c-i2s-v2.c                |  2 +-
       sound/soc/samsung/s3c24xx_simtec.c            |  4 +-
       sound/soc/samsung/s3c24xx_uda134x.c           |  6 +--
       sound/soc/samsung/smartq_wm8987.c             |  4 +-
       sound/soc/samsung/smdk_spdif.c                |  2 +-
       sound/soc/samsung/smdk_wm8580.c               |  2 +-
       sound/soc/samsung/smdk_wm8994.c               |  2 +-
       sound/soc/samsung/smdk_wm8994pcm.c            |  4 +-
       sound/soc/samsung/snow.c                      |  4 +-
       sound/soc/samsung/spdif.c                     |  8 ++--
       sound/soc/samsung/speyside.c                  |  8 ++--
       sound/soc/samsung/tm2_wm5110.c                | 16 +++----
       sound/soc/samsung/tobermory.c                 |  8 ++--
       sound/soc/sh/dma-sh7760.c                     | 16 +++----
       sound/soc/sh/fsi.c                            |  2 +-
       sound/soc/sh/migor.c                          |  6 +--
       sound/soc/sh/rcar/core.c                      |  2 +-
       sound/soc/soc-compress.c                      | 36 ++++++++--------
       sound/soc/soc-core.c                          | 42 +++++++------------
       sound/soc/soc-dapm.c                          |  4 +-
       sound/soc/soc-generic-dmaengine-pcm.c         |  6 +--
       sound/soc/soc-pcm.c                           | 30 ++++++-------
       sound/soc/sof/intel/hda-dai.c                 |  6 +--
       sound/soc/sof/intel/hda-dsp.c                 |  2 +-
       sound/soc/sprd/sprd-pcm-compress.c            |  4 +-
       sound/soc/sprd/sprd-pcm-dma.c                 |  2 +-
       sound/soc/stm/stm32_adfsdm.c                  | 12 +++---
       sound/soc/stm/stm32_sai_sub.c                 |  2 +-
       sound/soc/sunxi/sun4i-spdif.c                 |  2 +-
       sound/soc/tegra/tegra_alc5632.c               |  2 +-
       sound/soc/tegra/tegra_max98090.c              |  2 +-
       sound/soc/tegra/tegra_rt5640.c                |  2 +-
       sound/soc/tegra/tegra_rt5677.c                |  2 +-
       sound/soc/tegra/tegra_sgtl5000.c              |  2 +-
       sound/soc/tegra/tegra_wm8753.c                |  2 +-
       sound/soc/tegra/tegra_wm8903.c                |  6 +--
       sound/soc/tegra/trimslice.c                   |  2 +-
       sound/soc/ti/ams-delta.c                      |  4 +-
       sound/soc/ti/davinci-evm.c                    |  4 +-
       sound/soc/ti/davinci-vcif.c                   |  4 +-
       sound/soc/ti/n810.c                           |  2 +-
       sound/soc/ti/omap-abe-twl6040.c               |  6 +--
       sound/soc/ti/omap-mcbsp-st.c                  |  2 +-
       sound/soc/ti/omap-mcbsp.c                     |  4 +-
       sound/soc/ti/omap-mcpdm.c                     |  2 +-
       sound/soc/ti/omap3pandora.c                   |  4 +-
       sound/soc/ti/osk5912.c                        |  2 +-
       sound/soc/ti/rx51.c                           |  2 +-
       sound/soc/txx9/txx9aclc.c                     |  2 +-
       sound/soc/uniphier/aio-compress.c             | 22 +++++-----
       sound/soc/uniphier/aio-dma.c                  |  6 +--
       sound/soc/ux500/mop500_ab8500.c               |  6 +--
       sound/soc/ux500/ux500_pcm.c                   |  8 ++--
       sound/soc/xtensa/xtfpga-i2s.c                 |  2 +-
       191 files changed, 573 insertions(+), 577 deletions(-)
      
      --
      2.17.1
      a23d7f4a
    • Mark Brown's avatar
      Merge series "ASoC: SOF: Intel: add SoundWire support" from Pierre-Louis... · ef11a6ff
      Mark Brown authored
      Merge series "ASoC: SOF: Intel: add SoundWire support" from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
      
      This patchset provides the support for SoundWire support on Intel
      CometLake, IcelLake and TigerLake RVP platforms and form-factor
      devices to be released 'soon'.
      
      The bulk of the code is about detecting a valid SoundWire
      configuration from ACPI, and implementing the interfaces suggested in
      '[PATCH 0/8] soundwire: remove platform devices, add SOF interfaces'
      for interrupts, PCI wakes and clock-stop configurations.
      
      Since that SoundWire series will not be in 5.7, the build support for
      SOF w/ SoundWire is not provided for now, and fall-back functions will
      be used. This code is tested on a daily basis in the SOF tree and is
      not expected to change in significant ways.
      
      Changes since v2:
      Corrected error in ACPI table (thanks Amadeusz)
      Added patch 11 to add reset cycle required on some SoundWire platforms
      
      Bard Liao (1):
        ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt
          handlers
      
      Pierre-Louis Bossart (8):
        ASoC: soc-acpi: expand description of _ADR-based devices
        ASoC: SOF: Intel: add SoundWire configuration interface
        ASoC: SOF: IPC: dai-intel: move ALH declarations in header file
        ASoC: SOF: Intel: hda: add SoundWire stream config/free callbacks
        ASoC: SOF: Intel: hda: initial SoundWire machine driver autodetect
        ASoC: SOF: Intel: hda: disable SoundWire interrupts on suspend
        ASoC: SOF: Intel: hda: add parameter to control SoundWire clock stop
          quirks
        ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing
          capabilities
      
      Rander Wang (2):
        ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire
        Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread
      
       include/sound/soc-acpi.h                      |  39 +-
       include/sound/sof/dai-intel.h                 |  18 +-
       .../intel/common/soc-acpi-intel-cml-match.c   |  87 +++-
       .../intel/common/soc-acpi-intel-icl-match.c   |  97 ++++-
       .../intel/common/soc-acpi-intel-tgl-match.c   |  49 ++-
       sound/soc/sof/intel/hda-ctrl.c                |  25 +-
       sound/soc/sof/intel/hda-dsp.c                 |   2 +
       sound/soc/sof/intel/hda-loader.c              |  31 ++
       sound/soc/sof/intel/hda.c                     | 400 ++++++++++++++++++
       sound/soc/sof/intel/hda.h                     |  66 +++
       10 files changed, 750 insertions(+), 64 deletions(-)
      
      --
      2.20.1
      ef11a6ff
    • Shuming Fan's avatar
      ASoC: rt5682: move DAI clock registry to I2S mode · 914f674b
      Shuming Fan authored
      The SoundWire mode doesn't need the DAI clocks.
      Therefore, the DAI clock registry moves to I2S mode case.
      Signed-off-by: default avatarShuming Fan <shumingf@realtek.com>
      Link: https://lore.kernel.org/r/20200327073849.18291-1-shumingf@realtek.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      914f674b
    • Wolfram Sang's avatar
      ASoC: pxa: magician: convert to use i2c_new_client_device() · 17fb5433
      Wolfram Sang authored
      Move away from the deprecated API and return the shiny new ERRPTR where
      useful.
      Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
      Link: https://lore.kernel.org/r/20200326211010.13471-2-wsa+renesas@sang-engineering.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      17fb5433
    • Pierre-Louis Bossart's avatar
    • Rander Wang's avatar
      Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread · 90de3281
      Rander Wang authored
      If pci device is in D0, wakeen interrupt will be
      aggregated at cAVS level as interrupt. This commit
      check the wakeen status and process it in irq thread
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarRander Wang <rander.wang@intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-11-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      90de3281
    • Rander Wang's avatar
      ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire · bbd19cdc
      Rander Wang authored
      When a SoundWire link is in clock stop state, a Slave device may wake
      up the Master for some events such as jack detection. The WAKEEN
      interrupt will be triggered and processed by the audio pci device.
      
      If audio device is in D3, the interrupt will be routed to PME, or
      aggregated at cAVS level as interrupt when audio device is in D0. This
      patch only supports D3 case, where the audio pci device will be
      resumed by a PME event and the WAKEEN interrupt will be processed
      after audio pci device is powered up and ROM is initialized
      successfully.
      
      The WAKEEN handling is only enabled after the first boot due to
      dependencies on a shim_lock mutex being initialized.
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarRander Wang <rander.wang@intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-10-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      bbd19cdc
    • Pierre-Louis Bossart's avatar
    • Bard Liao's avatar
      ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt handlers · 722ba5f1
      Bard Liao authored
      We have a single irq handler for SOF interrupts. We can further merge
      SoundWire ones to completely remove MSI interrupts handling issues
      leading to timeouts.
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-8-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      722ba5f1
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: Intel: hda: disable SoundWire interrupts on suspend · 3eadff56
      Pierre-Louis Bossart authored
      Doing this avoid conflicts and errors reported on the bus.
      
      The interrupts are only re-enabled on resume after the firmware is
      downloaded, so the behavior is not fully symmetric
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-7-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      3eadff56
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: Intel: hda: initial SoundWire machine driver autodetect · b9ddd81b
      Pierre-Louis Bossart authored
      For now we have a limited number of machine driver configurations, and
      we can detect them based on the link configuration returned after
      checking hardware and firmware (BIOS) configurations.
      
      The link configuration is checked with a link_mask as well as a list
      of _ADR descriptors for each link.
      
      There is a chance that in extreme cases where the BIOS contains too
      much information we would need to detect which Slave devices actually
      report as 'attached'. This would be more accurate than static
      table-based solutions, but it also introduces timing dependencies
      since we don't know when those devices might become attached, so will
      only be only be looked at if we see limitations with static methods
      and the usual quirks based e.g. on DMI information.
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
      Signed-off-by: default avatarRander Wang <rander.wang@intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-6-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      b9ddd81b
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: Intel: hda: add SoundWire stream config/free callbacks · d2c383aa
      Pierre-Louis Bossart authored
      These callbacks are invoked when a matching hw_params/hw_free() DAI
      operation takes place, and will result in IPC operations with the SOF
      firmware.
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-5-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      d2c383aa
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: IPC: dai-intel: move ALH declarations in header file · f8e25018
      Pierre-Louis Bossart authored
      ALH was inserted in the wrong place during integration, add after DMIC
      to mirror the file used by SOF firmware.
      
      No functional change, just text move in the same file to better track
      changes, if any.
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-4-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      f8e25018
    • Pierre-Louis Bossart's avatar
      ASoC: SOF: Intel: add SoundWire configuration interface · 51dfed1e
      Pierre-Louis Bossart authored
      Now that the SoundWire core supports the multi-step initialization,
      call the relevant APIs.
      
      The actual hardware enablement can be done in two places, ideally we'd
      want to startup the SoundWire IP as soon as possible (while still
      taking power rail dependencies into account)
      
      However when suspend/resume is implemented, the DSP device will be
      resumed first, and only when the DSP firmware is downloaded/booted
      would the SoundWire child devices be resumed, so there are only
      marginal benefits in starting the IP earlier for the first probe.
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-3-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      51dfed1e
    • Pierre-Louis Bossart's avatar
      ASoC: soc-acpi: expand description of _ADR-based devices · 004bd416
      Pierre-Louis Bossart authored
      For SoundWire, we need to know if endpoints needs to be 'aggregated'
      (MIPI parlance, meaning logically grouped), e.g. when two speaker
      amplifiers need to be handled as a single logical output.
      
      We don't necessarily have the information at the firmware (BIOS)
      level, so add a notion of endpoints and specify if a device/endpoint
      is part of a group, with a position.
      
      This may be expanded in future solutions, for now only provide a group
      and position information.
      
      Since we modify the header file, change all existing upstream tables
      as well to avoid breaking compilation/bisect.
      Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
      Link: https://lore.kernel.org/r/20200325215027.28716-2-pierre-louis.bossart@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      004bd416