1. 29 Mar, 2023 2 commits
  2. 28 Mar, 2023 2 commits
  3. 27 Mar, 2023 2 commits
  4. 24 Mar, 2023 9 commits
  5. 23 Mar, 2023 3 commits
  6. 22 Mar, 2023 11 commits
  7. 21 Mar, 2023 11 commits
    • Mark Brown's avatar
      ASoC: SOF: ipc4/intel: Support for ChainDMA · e3057eb5
      Mark Brown authored
      Merge series from Peter Ujfalusi <peter.ujfalusi@linux.intel.com>:
      
      On a platform when the DSP is in use, we cannot select individual links
      to use or not use the DSP, it is either all or none.  On some audio
      endpoint, like HDMI/DP, it is preferred to not use any processing in DSP
      to reduce the latency and to allow bytestream pass-through (DTS, DD,
      etc)
      
      IPC4 introduces a new type of end-to-end connection within the DSP which
      is using the host DMA and link DMA in a single buffer, working
      back-to-back, passing the received data without looking at it or trying
      to understand the format, content.
      
      This mode reduces the latency and allows non PCM streams to be sent from
      userspace.
      
      The feature is enabled per PCM bases, signalled in topology.
      e3057eb5
    • Peter Ujfalusi's avatar
      ASoC: SOF: ipc4-control: Return on error in sof_ipc4_widget_kcontrol_setup() · 1c12e032
      Peter Ujfalusi authored
      The patch adding the bytes control support moved the error check outside
      of the list_for_each_entry() which was not correct as at the end of the
      list_for_each_entry() the scontrol will no longer point where the error
      happened, but it to the list head.
      
      Restore the original logic and return on the first error with the error
      code.
      
      Fixes: a062c889 ("ASoC: SOF: ipc4-control: Add support for bytes control get and put")
      Reported-by: default avatarDan Carpenter <error27@gmail.com>
      Link: https://lore.kernel.org/alsa-devel/6be945d2-40cb-46fb-67ba-ed3a19cddfa4@linux.intel.com/T/#tSigned-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Link: https://lore.kernel.org/r/20230321145651.9118-1-peter.ujfalusi@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      1c12e032
    • Mark Brown's avatar
      ASoC: Initial support for Cirrus Logic CS35L56 · 1d78e193
      Mark Brown authored
      Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:
      
      The CS35L56 is a high-performance boosted mono audio amplifier.
      Supported control interfaces are I2C, SPI or SoundWire.
      Supported audio interfaces are I2S/TDM or SoundWire.
      
      The CS35L56 has a self-booting firmware in ROM, with the ability
      to patch the firmware and/or apply tunings.
      Patches #1 to #7 add support to cs_dsp and wm_adsp for self-booting
      firmware and the ability to apply a .bin file without having to
      apply a .wmfw.
      1d78e193
    • Mark Brown's avatar
      ALSA/ASoC: Convert to platform remove callback · 4af574f5
      Mark Brown authored
      Merge series from Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:
      
      Hello,
      
      this series adapts the platform drivers below sound/ to use the .remove_new()
      callback. Compared to the traditional .remove() callback .remove_new() returns
      no value. This is a good thing because the driver core doesn't (and cannot)
      cope for errors during remove. The only effect of a non-zero return value in
      .remove() is that the driver core emits a warning. The device is removed anyhow
      and an early return from .remove() usually yields a resource leak.
      
      By changing the remove callback to return void driver authors cannot
      reasonably assume any more that there is some kind of cleanup later.
      
      The first two patches simplify a driver each to return zero unconditionally,
      and then all drivers are trivially converted to .remove_new().
      
      There are nearly no interdependencies in this patch set---only 1 <- 11 and
      2 <- 16. So even if some individual problems are found (I don't expect that),
      the other patches can (and from my POV should) still be applied.
      
      Best regards
      Uwe
      
      Uwe Kleine-König (173):
        ALSA: sh: aica: Drop if blocks with always false condition
        ASoC: amd: acp: rembrandt: Drop if blocks with always false condition
        ALSA: pxa2xx: Convert to platform remove callback returning void
        ALSA: atmel: ac97: Convert to platform remove callback returning void
        ALSA: mts64: Convert to platform remove callback returning void
        ALSA: portman2x4: Convert to platform remove callback returning void
        ALSA: mips/hal2: Convert to platform remove callback returning void
        ALSA: mips/sgio2audio: Convert to platform remove callback returning
          void
        ALSA: hda/tegra: Convert to platform remove callback returning void
        ALSA: ppc/powermac: Convert to platform remove callback returning void
        ALSA: sh: aica: Convert to platform remove callback returning void
        ALSA: sh_dac_audio: Convert to platform remove callback returning void
        ASoC: adi: axi-i2s: Convert to platform remove callback returning void
        ASoC: adi: axi-spdif: Convert to platform remove callback returning
          void
        ASoC: amd: acp-pcm-dma: Convert to platform remove callback returning
          void
        ASoC: amd: acp: rembrandt: Convert to platform remove callback
          returning void
        ASoC: amd: acp: renoir: Convert to platform remove callback returning
          void
        ASoC: amd: ps: Convert to platform remove callback returning void
        ASoC: amd: raven: acp3x-pcm-dma: Convert to platform remove callback
          returning void
        ASoC: amd: raven: acp3x-pdm-dma: Convert to platform remove callback
          returning void
        ASoC: amd: vangogh: acp5x-pcm-dma: Convert to platform remove callback
          returning void
        ASoC: amd: yc: acp6x-pdm-dma: Convert to platform remove callback
          returning void
        ASoC: apple: mca: Convert to platform remove callback returning void
        ASoC: atmel: atmel-i2s: Convert to platform remove callback returning
          void
        ASoC: atmel: atmel_wm8904: Convert to platform remove callback
          returning void
        ASoC: atmel: mchp-i2s-mcc: Convert to platform remove callback
          returning void
        ASoC: atmel: mchp-pdmc: Convert to platform remove callback returning
          void
        ASoC: atmel: mchp-spdifrx: Convert to platform remove callback
          returning void
        ASoC: atmel: mchp-spdiftx: Convert to platform remove callback
          returning void
        ASoC: atmel: mikroe-proto: Convert to platform remove callback
          returning void
        ASoC: atmel: sam9g20_wm8731: Convert to platform remove callback
          returning void
        ASoC: atmel: sam9x5_wm8731: Convert to platform remove callback
          returning void
        ASoC: atmel: tse850-pcm5142: Convert to platform remove callback
          returning void
        ASoC: au1x: ac97c: Convert to platform remove callback returning void
        ASoC: au1x: i2sc: Convert to platform remove callback returning void
        ASoC: au1x: psc-ac97: Convert to platform remove callback returning
          void
        ASoC: au1x: psc-i2s: Convert to platform remove callback returning
          void
        ASoC: bcm: bcm63xx-i2s-whistler: Convert to platform remove callback
          returning void
        ASoC: bcm: cygnus-ssp: Convert to platform remove callback returning
          void
        ASoC: cirrus: edb93xx: Convert to platform remove callback returning
          void
        ASoC: cirrus: ep93xx-i2s: Convert to platform remove callback
          returning void
        ASoC: codecs: cs47l15: Convert to platform remove callback returning
          void
        ASoC: codecs: cs47l24: Convert to platform remove callback returning
          void
        ASoC: codecs: cs47l35: Convert to platform remove callback returning
          void
        ASoC: codecs: cs47l85: Convert to platform remove callback returning
          void
        ASoC: codecs: cs47l90: Convert to platform remove callback returning
          void
        ASoC: codecs: cs47l92: Convert to platform remove callback returning
          void
        ASoC: codecs: inno_rk3036: Convert to platform remove callback
          returning void
        ASoC: codecs: lpass-rx-macro: Convert to platform remove callback
          returning void
        ASoC: codecs: lpass-tx-macro: Convert to platform remove callback
          returning void
        ASoC: codecs: lpass-va-macro: Convert to platform remove callback
          returning void
        ASoC: codecs: lpass-wsa-macro: Convert to platform remove callback
          returning void
        ASoC: codecs: msm8916-wcd-analog: Convert to platform remove callback
          returning void
        ASoC: codecs: msm8916-wcd-digital: Convert to platform remove callback
          returning void
        ASoC: codecs: rk817_codec: Convert to platform remove callback
          returning void
        ASoC: codecs: wcd938x: Convert to platform remove callback returning
          void
        ASoC: codecs: wm5102: Convert to platform remove callback returning
          void
        ASoC: codecs: wm5110: Convert to platform remove callback returning
          void
        ASoC: codecs: wm8994: Convert to platform remove callback returning
          void
        ASoC: codecs: wm8997: Convert to platform remove callback returning
          void
        ASoC: codecs: wm8998: Convert to platform remove callback returning
          void
        ASoC: dwc: dwc-i2s: Convert to platform remove callback returning void
        ASoC: fsl: eukrea-tlv320: Convert to platform remove callback
          returning void
        ASoC: fsl: fsl_asrc: Convert to platform remove callback returning
          void
        ASoC: fsl: fsl_aud2htx: Convert to platform remove callback returning
          void
        ASoC: fsl: fsl_audmix: Convert to platform remove callback returning
          void
        ASoC: fsl: fsl_dma: Convert to platform remove callback returning void
        ASoC: fsl: fsl_easrc: Convert to platform remove callback returning
          void
        ASoC: fsl: fsl_esai: Convert to platform remove callback returning
          void
        ASoC: fsl: fsl_mqs: Convert to platform remove callback returning void
        ASoC: fsl: fsl_rpmsg: Convert to platform remove callback returning
          void
        ASoC: fsl: fsl_sai: Convert to platform remove callback returning void
        ASoC: fsl: fsl_spdif: Convert to platform remove callback returning
          void
        ASoC: fsl: fsl_ssi: Convert to platform remove callback returning void
        ASoC: fsl: fsl_xcvr: Convert to platform remove callback returning
          void
        ASoC: fsl: imx-audmux: Convert to platform remove callback returning
          void
        ASoC: fsl: imx-pcm-rpmsg: Convert to platform remove callback
          returning void
        ASoC: fsl: imx-sgtl5000: Convert to platform remove callback returning
          void
        ASoC: fsl: mpc5200_psc_ac97: Convert to platform remove callback
          returning void
        ASoC: fsl: mpc5200_psc_i2s: Convert to platform remove callback
          returning void
        ASoC: fsl: mpc8610_hpcd: Convert to platform remove callback returning
          void
        ASoC: fsl: p1022_ds: Convert to platform remove callback returning
          void
        ASoC: fsl: p1022_rdk: Convert to platform remove callback returning
          void
        ASoC: fsl: pcm030-audio-fabric: Convert to platform remove callback
          returning void
        ASoC: generic: test-component: Convert to platform remove callback
          returning void
        ASoC: img: img-i2s-in: Convert to platform remove callback returning
          void
        ASoC: img: img-i2s-out: Convert to platform remove callback returning
          void
        ASoC: img: img-parallel-out: Convert to platform remove callback
          returning void
        ASoC: img: img-spdif-in: Convert to platform remove callback returning
          void
        ASoC: img: img-spdif-out: Convert to platform remove callback
          returning void
        ASoC: img: pistachio-internal-dac: Convert to platform remove callback
          returning void
        ASoC: Intel: sst-mfld-platform-pcm: Convert to platform remove
          callback returning void
        ASoC: Intel: sst: Convert to platform remove callback returning void
        ASoC: Intel: bytcht_es8316: Convert to platform remove callback
          returning void
        ASoC: Intel: bytcr_rt5640: Convert to platform remove callback
          returning void
        ASoC: Intel: boards: bytcr_rt5651: Convert to platform remove callback
          returning void
        ASoC: Intel: bytcr_wm5102: Convert to platform remove callback
          returning void
        ASoC: Intel: cht_bsw_max98090_ti: Convert to platform remove callback
          returning void
        ASoC: Intel: sof_es8336: Convert to platform remove callback returning
          void
        ASoC: Intel: sof_pcm512x: Convert to platform remove callback
          returning void
        ASoC: Intel: sof_sdw: Convert to platform remove callback returning
          void
        ASoC: Intel: sof_wm8804: Convert to platform remove callback returning
          void
        ASoC: Intel: catpt: Convert to platform remove callback returning void
        ASoC: Intel: skl-ssp-clk: Convert to platform remove callback
          returning void
        ASoC: kirkwood: kirkwood-i2s: Convert to platform remove callback
          returning void
        ASoC: mediatek: mtk-btcvsd: Convert to platform remove callback
          returning void
        ASoC: mediatek: mt2701-afe-pcm: Convert to platform remove callback
          returning void
        ASoC: mediatek: mt6797-afe-pcm: Convert to platform remove callback
          returning void
        ASoC: mediatek: mt8173-afe-pcm: Convert to platform remove callback
          returning void
        ASoC: mediatek: mt8183-afe-pcm: Convert to platform remove callback
          returning void
        ASoC: mediatek: mt8188-afe-pcm: Convert to platform remove callback
          returning void
        ASoC: mediatek: mt8192-afe-pcm: Convert to platform remove callback
          returning void
        ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback
          returning void
        ASoC: meson: aiu: Convert to platform remove callback returning void
        ASoC: mxs: mxs-sgtl5000: Convert to platform remove callback returning
          void
        ASoC: pxa: mmp-sspa: Convert to platform remove callback returning
          void
        ASoC: pxa: pxa2xx-ac97: Convert to platform remove callback returning
          void
        ASoC: qcom: qdsp6: Convert to platform remove callback returning void
        ASoC: rockchip: rockchip_i2s: Convert to platform remove callback
          returning void
        ASoC: rockchip: rockchip_i2s_tdm: Convert to platform remove callback
          returning void
        ASoC: rockchip: rockchip_pdm: Convert to platform remove callback
          returning void
        ASoC: rockchip: rockchip_rt5645: Convert to platform remove callback
          returning void
        ASoC: rockchip: rockchip_spdif: Convert to platform remove callback
          returning void
        ASoC: samsung: arndale: Convert to platform remove callback returning
          void
        ASoC: samsung: i2s: Convert to platform remove callback returning void
        ASoC: samsung: odroid: Convert to platform remove callback returning
          void
        ASoC: samsung: pcm: Convert to platform remove callback returning void
        ASoC: samsung: snow: Convert to platform remove callback returning
          void
        ASoC: samsung: spdif: Convert to platform remove callback returning
          void
        ASoC: sh: fsi: Convert to platform remove callback returning void
        ASoC: sh: hac: Convert to platform remove callback returning void
        ASoC: sh: rcar: Convert to platform remove callback returning void
        ASoC: sh: rz-ssi: Convert to platform remove callback returning void
        ASoC: sh: siu_dai: Convert to platform remove callback returning void
        ASoC: sprd: sprd-mcdt: Convert to platform remove callback returning
          void
        ASoC: stm: stm32_adfsdm: Convert to platform remove callback returning
          void
        ASoC: stm: stm32_i2s: Convert to platform remove callback returning
          void
        ASoC: stm: stm32_sai_sub: Convert to platform remove callback
          returning void
        ASoC: stm: stm32_spdifrx: Convert to platform remove callback
          returning void
        ASoC: sunxi: sun4i-codec: Convert to platform remove callback
          returning void
        ASoC: sunxi: sun4i-i2s: Convert to platform remove callback returning
          void
        ASoC: sunxi: sun4i-spdif: Convert to platform remove callback
          returning void
        ASoC: sunxi: sun50i-dmic: Convert to platform remove callback
          returning void
        ASoC: sunxi: sun8i-codec: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra186_asrc: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra186_dspk: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra20_ac97: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra20_i2s: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_admaif: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_adx: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_ahub: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_amx: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_dmic: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_i2s: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_mixer: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_mvc: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_ope: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra210_sfc: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra30_ahub: Convert to platform remove callback
          returning void
        ASoC: tegra: tegra30_i2s: Convert to platform remove callback
          returning void
        ASoC: ti: ams-delta: Convert to platform remove callback returning
          void
        ASoC: ti: davinci-i2s: Convert to platform remove callback returning
          void
        ASoC: ti: davinci-mcasp: Convert to platform remove callback returning
          void
        ASoC: ti: omap-hdmi: Convert to platform remove callback returning
          void
        ASoC: ti: omap-mcbsp: Convert to platform remove callback returning
          void
        ASoC: uniphier: evea: Convert to platform remove callback returning
          void
        ASoC: ux500: mop500: Convert to platform remove callback returning
          void
        ASoC: ux500: ux500_msp_dai: Convert to platform remove callback
          returning void
        ASoC: xilinx: xlnx_formatter_pcm: Convert to platform remove callback
          returning void
        ASoC: xilinx: xlnx_spdif: Convert to platform remove callback
          returning void
        ASoC: xtensa: xtfpga-i2s: Convert to platform remove callback
          returning void
        ALSA: sparc/cs4231: Convert to platform remove callback returning void
        ALSA: sparc/dbri: Convert to platform remove callback returning void
      
       sound/arm/pxa2xx-ac97.c                      |  6 ++----
       sound/atmel/ac97c.c                          |  6 ++----
       sound/drivers/mts64.c                        |  6 ++----
       sound/drivers/portman2x4.c                   |  6 ++----
       sound/mips/hal2.c                            |  5 ++---
       sound/mips/sgio2audio.c                      |  5 ++---
       sound/pci/hda/hda_tegra.c                    |  6 ++----
       sound/ppc/powermac.c                         |  5 ++---
       sound/sh/aica.c                              |  7 ++-----
       sound/sh/sh_dac_audio.c                      |  5 ++---
       sound/soc/adi/axi-i2s.c                      |  6 ++----
       sound/soc/adi/axi-spdif.c                    |  6 ++----
       sound/soc/amd/acp-pcm-dma.c                  |  6 ++----
       sound/soc/amd/acp/acp-rembrandt.c            | 13 +++----------
       sound/soc/amd/acp/acp-renoir.c               |  5 ++---
       sound/soc/amd/ps/ps-pdm-dma.c                |  5 ++---
       sound/soc/amd/raven/acp3x-pcm-dma.c          |  5 ++---
       sound/soc/amd/renoir/acp3x-pdm-dma.c         |  5 ++---
       sound/soc/amd/vangogh/acp5x-pcm-dma.c        |  5 ++---
       sound/soc/amd/yc/acp6x-pdm-dma.c             |  5 ++---
       sound/soc/apple/mca.c                        |  5 ++---
       sound/soc/atmel/atmel-i2s.c                  |  6 ++----
       sound/soc/atmel/atmel_wm8904.c               |  6 ++----
       sound/soc/atmel/mchp-i2s-mcc.c               |  6 ++----
       sound/soc/atmel/mchp-pdmc.c                  |  6 ++----
       sound/soc/atmel/mchp-spdifrx.c               |  6 ++----
       sound/soc/atmel/mchp-spdiftx.c               |  6 ++----
       sound/soc/atmel/mikroe-proto.c               |  6 ++----
       sound/soc/atmel/sam9g20_wm8731.c             |  6 ++----
       sound/soc/atmel/sam9x5_wm8731.c              |  6 ++----
       sound/soc/atmel/tse850-pcm5142.c             |  6 ++----
       sound/soc/au1x/ac97c.c                       |  6 ++----
       sound/soc/au1x/i2sc.c                        |  6 ++----
       sound/soc/au1x/psc-ac97.c                    |  6 ++----
       sound/soc/au1x/psc-i2s.c                     |  6 ++----
       sound/soc/bcm/bcm63xx-i2s-whistler.c         |  5 ++---
       sound/soc/bcm/cygnus-ssp.c                   |  6 ++----
       sound/soc/cirrus/edb93xx.c                   |  6 ++----
       sound/soc/cirrus/ep93xx-i2s.c                |  5 ++---
       sound/soc/codecs/cs47l15.c                   |  6 ++----
       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                   |  6 ++----
       sound/soc/codecs/inno_rk3036.c               |  6 ++----
       sound/soc/codecs/lpass-rx-macro.c            |  6 ++----
       sound/soc/codecs/lpass-tx-macro.c            |  6 ++----
       sound/soc/codecs/lpass-va-macro.c            |  6 ++----
       sound/soc/codecs/lpass-wsa-macro.c           |  6 ++----
       sound/soc/codecs/msm8916-wcd-analog.c        |  6 ++----
       sound/soc/codecs/msm8916-wcd-digital.c       |  6 ++----
       sound/soc/codecs/rk817_codec.c               |  6 ++----
       sound/soc/codecs/wcd938x.c                   |  6 ++----
       sound/soc/codecs/wm5102.c                    |  6 ++----
       sound/soc/codecs/wm5110.c                    |  6 ++----
       sound/soc/codecs/wm8994.c                    |  6 ++----
       sound/soc/codecs/wm8997.c                    |  6 ++----
       sound/soc/codecs/wm8998.c                    |  6 ++----
       sound/soc/dwc/dwc-i2s.c                      |  5 ++---
       sound/soc/fsl/eukrea-tlv320.c                |  6 ++----
       sound/soc/fsl/fsl_asrc.c                     |  6 ++----
       sound/soc/fsl/fsl_aud2htx.c                  |  6 ++----
       sound/soc/fsl/fsl_audmix.c                   |  6 ++----
       sound/soc/fsl/fsl_dma.c                      |  6 ++----
       sound/soc/fsl/fsl_easrc.c                    |  6 ++----
       sound/soc/fsl/fsl_esai.c                     |  6 ++----
       sound/soc/fsl/fsl_mqs.c                      |  5 ++---
       sound/soc/fsl/fsl_rpmsg.c                    |  6 ++----
       sound/soc/fsl/fsl_sai.c                      |  6 ++----
       sound/soc/fsl/fsl_spdif.c                    |  6 ++----
       sound/soc/fsl/fsl_ssi.c                      |  6 ++----
       sound/soc/fsl/fsl_xcvr.c                     |  5 ++---
       sound/soc/fsl/imx-audmux.c                   |  6 ++----
       sound/soc/fsl/imx-pcm-rpmsg.c                |  6 ++----
       sound/soc/fsl/imx-sgtl5000.c                 |  6 ++----
       sound/soc/fsl/mpc5200_psc_ac97.c             |  5 ++---
       sound/soc/fsl/mpc5200_psc_i2s.c              |  5 ++---
       sound/soc/fsl/mpc8610_hpcd.c                 |  6 ++----
       sound/soc/fsl/p1022_ds.c                     |  6 ++----
       sound/soc/fsl/p1022_rdk.c                    |  6 ++----
       sound/soc/fsl/pcm030-audio-fabric.c          |  6 ++----
       sound/soc/generic/test-component.c           |  6 ++----
       sound/soc/img/img-i2s-in.c                   |  6 ++----
       sound/soc/img/img-i2s-out.c                  |  6 ++----
       sound/soc/img/img-parallel-out.c             |  6 ++----
       sound/soc/img/img-spdif-in.c                 |  6 ++----
       sound/soc/img/img-spdif-out.c                |  6 ++----
       sound/soc/img/pistachio-internal-dac.c       |  6 ++----
       sound/soc/intel/atom/sst-mfld-platform-pcm.c |  5 ++---
       sound/soc/intel/atom/sst/sst_acpi.c          |  5 ++---
       sound/soc/intel/boards/bytcht_es8316.c       |  5 ++---
       sound/soc/intel/boards/bytcr_rt5640.c        |  5 ++---
       sound/soc/intel/boards/bytcr_rt5651.c        |  5 ++---
       sound/soc/intel/boards/bytcr_wm5102.c        |  5 ++---
       sound/soc/intel/boards/cht_bsw_max98090_ti.c |  6 ++----
       sound/soc/intel/boards/sof_es8336.c          |  6 ++----
       sound/soc/intel/boards/sof_pcm512x.c         |  6 ++----
       sound/soc/intel/boards/sof_sdw.c             |  6 ++----
       sound/soc/intel/boards/sof_wm8804.c          |  5 ++---
       sound/soc/intel/catpt/device.c               |  6 ++----
       sound/soc/intel/skylake/skl-ssp-clk.c        |  6 ++----
       sound/soc/kirkwood/kirkwood-i2s.c            |  6 ++----
       sound/soc/mediatek/common/mtk-btcvsd.c       |  5 ++---
       sound/soc/mediatek/mt2701/mt2701-afe-pcm.c   |  6 ++----
       sound/soc/mediatek/mt6797/mt6797-afe-pcm.c   |  6 ++----
       sound/soc/mediatek/mt8173/mt8173-afe-pcm.c   |  5 ++---
       sound/soc/mediatek/mt8183/mt8183-afe-pcm.c   |  6 ++----
       sound/soc/mediatek/mt8188/mt8188-afe-pcm.c   |  6 ++----
       sound/soc/mediatek/mt8192/mt8192-afe-pcm.c   |  5 ++---
       sound/soc/mediatek/mt8195/mt8195-afe-pcm.c   |  5 ++---
       sound/soc/meson/aiu.c                        |  6 ++----
       sound/soc/mxs/mxs-sgtl5000.c                 |  6 ++----
       sound/soc/pxa/mmp-sspa.c                     |  7 +++----
       sound/soc/pxa/pxa2xx-ac97.c                  |  5 ++---
       sound/soc/qcom/qdsp6/q6routing.c             |  6 ++----
       sound/soc/rockchip/rockchip_i2s.c            |  6 ++----
       sound/soc/rockchip/rockchip_i2s_tdm.c        |  6 ++----
       sound/soc/rockchip/rockchip_pdm.c            |  6 ++----
       sound/soc/rockchip/rockchip_rt5645.c         |  6 ++----
       sound/soc/rockchip/rockchip_spdif.c          |  6 ++----
       sound/soc/samsung/arndale.c                  |  5 ++---
       sound/soc/samsung/i2s.c                      |  8 +++-----
       sound/soc/samsung/odroid.c                   |  6 ++----
       sound/soc/samsung/pcm.c                      |  6 ++----
       sound/soc/samsung/snow.c                     |  6 ++----
       sound/soc/samsung/spdif.c                    |  6 ++----
       sound/soc/sh/fsi.c                           |  6 ++----
       sound/soc/sh/hac.c                           |  5 ++---
       sound/soc/sh/rcar/core.c                     |  6 ++----
       sound/soc/sh/rz-ssi.c                        |  6 ++----
       sound/soc/sh/siu_dai.c                       |  5 ++---
       sound/soc/sprd/sprd-mcdt.c                   |  6 ++----
       sound/soc/stm/stm32_adfsdm.c                 |  6 ++----
       sound/soc/stm/stm32_i2s.c                    |  6 ++----
       sound/soc/stm/stm32_sai_sub.c                |  6 ++----
       sound/soc/stm/stm32_spdifrx.c                |  6 ++----
       sound/soc/sunxi/sun4i-codec.c                |  6 ++----
       sound/soc/sunxi/sun4i-i2s.c                  |  6 ++----
       sound/soc/sunxi/sun4i-spdif.c                |  6 ++----
       sound/soc/sunxi/sun50i-dmic.c                |  6 ++----
       sound/soc/sunxi/sun8i-codec.c                |  6 ++----
       sound/soc/tegra/tegra186_asrc.c              |  6 ++----
       sound/soc/tegra/tegra186_dspk.c              |  6 ++----
       sound/soc/tegra/tegra20_ac97.c               |  6 ++----
       sound/soc/tegra/tegra20_i2s.c                |  6 ++----
       sound/soc/tegra/tegra210_admaif.c            |  6 ++----
       sound/soc/tegra/tegra210_adx.c               |  6 ++----
       sound/soc/tegra/tegra210_ahub.c              |  6 ++----
       sound/soc/tegra/tegra210_amx.c               |  6 ++----
       sound/soc/tegra/tegra210_dmic.c              |  6 ++----
       sound/soc/tegra/tegra210_i2s.c               |  6 ++----
       sound/soc/tegra/tegra210_mixer.c             |  6 ++----
       sound/soc/tegra/tegra210_mvc.c               |  6 ++----
       sound/soc/tegra/tegra210_ope.c               |  6 ++----
       sound/soc/tegra/tegra210_sfc.c               |  6 ++----
       sound/soc/tegra/tegra30_ahub.c               |  6 ++----
       sound/soc/tegra/tegra30_i2s.c                |  6 ++----
       sound/soc/ti/ams-delta.c                     |  5 ++---
       sound/soc/ti/davinci-i2s.c                   |  6 ++----
       sound/soc/ti/davinci-mcasp.c                 |  6 ++----
       sound/soc/ti/omap-hdmi.c                     |  5 ++---
       sound/soc/ti/omap-mcbsp.c                    |  6 ++----
       sound/soc/uniphier/evea.c                    |  6 ++----
       sound/soc/ux500/mop500.c                     |  6 ++----
       sound/soc/ux500/ux500_msp_dai.c              |  6 ++----
       sound/soc/xilinx/xlnx_formatter_pcm.c        |  5 ++---
       sound/soc/xilinx/xlnx_spdif.c                |  5 ++---
       sound/soc/xtensa/xtfpga-i2s.c                |  5 ++---
       sound/sparc/cs4231.c                         |  6 ++----
       sound/sparc/dbri.c                           |  6 ++----
       171 files changed, 345 insertions(+), 654 deletions(-)
      
      base-commit: fe15c26e
      --
      2.39.2
      4af574f5
    • Vlad.Karpovich's avatar
      ASoC: cs35l45: Hibernation support · 6c07be8f
      Vlad.Karpovich authored
      Adds support for a low-power Hibernation State.
      Add support for a low-power hibernation state for the DSP. In
      this state the DSP RAM contents are maintained, such that
      firmware does not need to be re-downloaded, but the rest of the
      chip's register state is lost.
      Entry to this state is achieved via the register interface
      (either by an external driver using the control port, or the
      programmable DSP). Exit from this state is triggered by activity
      on device GPIO pins, intended SPI transaction, or I2C
      transaction with intended slave address.
      Signed-off-by: default avatarVlad Karpovich <vkarpovi@opensource.cirrus.com>
      Link: https://lore.kernel.org/r/167933511185.26.10641185496218226278@mailman-core.alsa-project.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      6c07be8f
    • Vlad.Karpovich's avatar
      ASoC: cs35l45: DSP Support · 74b14e28
      Vlad.Karpovich authored
      The CS35L45 digital core incorporates one programmable DSP block,
      capable of running a wide range of audio enhancement and speaker
      and battery protection functions.
      Signed-off-by: default avatarVlad Karpovich <vkarpovi@opensource.cirrus.com>
      Link: https://lore.kernel.org/r/167933510679.26.5992985447093367768@mailman-core.alsa-project.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      74b14e28
    • Vlad.Karpovich's avatar
    • Vlad.Karpovich's avatar
      c6cec088
    • Vlad.Karpovich's avatar
    • Jyri Sarha's avatar
      ASoC: SOF: ipc4/intel: Add support for chained DMA · ca5ce0ca
      Jyri Sarha authored
      Add logic for setting up and tearing down chained DMA connections.
      
      Since pipelines are not used, all the logic to set the pipeline states
      can be bypassed, with only the DMA programming sequences remaining. In
      addition the same format needs to be used for host- and link-DMA,
      without the usual fixup to use the S32_LE format on the link.
      
      Note however that for convenience and compatibility with existing
      definitions, the topology relies on the concept of pipelines with a
      'USE_CHAIN_DMA' token indicating that all the logic shall be bypassed.
      
      Unlike 'normal' ALSA sequences, the chain DMA is not programmed in
      hw_params/hw_free. The IPC message to set-up and tear-down chained DMA
      are sent in sof_ipc4_trigger_pipelines(), but the contents prepared
      earlier.
      
      Chained DMA is only supported by the Intel HDA DAI for now, and only
      S16_LE and S32_LE formats are supported for now.
      Signed-off-by: default avatarJyri Sarha <jyri.sarha@intel.com>
      Reviewed-by: default avatarRander Wang <rander.wang@intel.com>
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Link: https://lore.kernel.org/r/20230321092654.7292-4-peter.ujfalusi@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      ca5ce0ca
    • Jyri Sarha's avatar
      ASoC: SOF: ipc4: Add macros for chain-dma message bits · cb3cdef3
      Jyri Sarha authored
      In the chained DMA mode, the firmware allocates buffers for the host
      and link DMA, and takes care of copying data between host- and
      link-DMA buffers in a low-latency thread. This is different to a
      regular pipeline, no processing is allowed, and the connection between
      host- and link DMA is handled with a dedicated IPC.
      
      This patch exposes the macros needed to create the required IPC messages.
      Signed-off-by: default avatarJyri Sarha <jyri.sarha@intel.com>
      Reviewed-by: default avatarRander Wang <rander.wang@intel.com>
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
      Link: https://lore.kernel.org/r/20230321092654.7292-3-peter.ujfalusi@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
      cb3cdef3